ng-miam 3.4.6 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/bundles/ng-miam.umd.js +844 -668
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +1 -1
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +13 -3
  6. package/esm2015/lib/_models/index.js +2 -1
  7. package/esm2015/lib/_models/ingredient.js +3 -3
  8. package/esm2015/lib/_models/recipe.js +2 -1
  9. package/esm2015/lib/_models/tag.js +22 -0
  10. package/esm2015/lib/_services/groceries-lists.service.js +10 -13
  11. package/esm2015/lib/_services/index.js +2 -1
  12. package/esm2015/lib/_services/recipes.service.js +13 -8
  13. package/esm2015/lib/_services/tags.service.js +29 -0
  14. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +2 -2
  15. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +162 -172
  16. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +23 -34
  17. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +2 -2
  18. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +97 -85
  19. package/esm2015/lib/_web-components/order-button/order-button.component.js +1 -1
  20. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +96 -81
  21. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +268 -194
  22. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +3 -3
  23. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +4 -2
  24. package/fesm2015/ng-miam.js +787 -654
  25. package/fesm2015/ng-miam.js.map +1 -1
  26. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +2 -0
  27. package/lib/_models/index.d.ts +1 -0
  28. package/lib/_models/ingredient.d.ts +1 -1
  29. package/lib/_models/tag.d.ts +15 -0
  30. package/lib/_services/context.service.d.ts +1 -1
  31. package/lib/_services/groceries-lists.service.d.ts +2 -2
  32. package/lib/_services/index.d.ts +1 -0
  33. package/lib/_services/recipes.service.d.ts +4 -2
  34. package/lib/_services/tags.service.d.ts +14 -0
  35. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +1 -2
  36. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -1
  37. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +6 -2
  38. package/package.json +1 -1
@@ -14,52 +14,53 @@ import * as i4 from "../../_components/icon/icon.component";
14
14
  import * as i5 from "../../_components/recipe-pricing/recipe-pricing.component";
15
15
  import * as i6 from "@angular/youtube-player";
16
16
  import * as i7 from "../../_components/like-button/like-button.component";
17
- import * as i8 from "../../_components/addon-link/addon-link.component";
18
- import * as i9 from "../../_components/counter-input/counter-input.component";
19
- import * as i10 from "../recipe-addon/recipe-addon.component";
20
- import * as i11 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
21
- import * as i12 from "../../_utils/pipes/readable-float-number/readable-float-number.pipe";
17
+ import * as i8 from "../loader/loader.component";
18
+ import * as i9 from "../../_components/addon-link/addon-link.component";
19
+ import * as i10 from "../../_components/counter-input/counter-input.component";
20
+ import * as i11 from "../recipe-addon/recipe-addon.component";
21
+ import * as i12 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
22
+ import * as i13 from "../../_utils/pipes/readable-float-number/readable-float-number.pipe";
22
23
  const _c0 = ["topContainerImg"];
23
24
  const _c1 = ["mainContainer"];
24
25
  function RecipeDetailsComponent_div_0_img_6_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelement(0, "img", 40);
26
+ i0.ɵɵelement(0, "img", 41);
26
27
  } if (rf & 2) {
27
28
  const ctx_r5 = i0.ɵɵnextContext(2);
28
29
  i0.ɵɵproperty("src", ctx_r5.recipe == null ? null : ctx_r5.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
29
30
  } }
30
31
  function RecipeDetailsComponent_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelement(0, "div", 41);
32
+ i0.ɵɵelement(0, "div", 42);
32
33
  } }
33
34
  function RecipeDetailsComponent_div_0_youtube_player_8_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelement(0, "youtube-player", 42);
35
+ i0.ɵɵelement(0, "youtube-player", 43);
35
36
  } if (rf & 2) {
36
37
  const ctx_r7 = i0.ɵɵnextContext(2);
37
38
  i0.ɵɵproperty("videoId", ctx_r7.recipe.videoId)("width", ctx_r7.playerWidth)("height", ctx_r7.playerHeight);
38
39
  } }
39
40
  function RecipeDetailsComponent_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "div", 43);
41
+ i0.ɵɵelementStart(0, "div", 44);
41
42
  i0.ɵɵtext(1, "D\u00E9j\u00E0 ajout\u00E9e");
42
43
  i0.ɵɵelementEnd();
43
44
  } }
44
45
  function RecipeDetailsComponent_div_0_ng_miam_like_button_12_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelement(0, "ng-miam-like-button", 44);
46
+ i0.ɵɵelement(0, "ng-miam-like-button", 45);
46
47
  } if (rf & 2) {
47
48
  const ctx_r9 = i0.ɵɵnextContext(2);
48
49
  i0.ɵɵproperty("recipe", ctx_r9.recipe)("width", 26)("height", 26);
49
50
  } }
50
51
  function RecipeDetailsComponent_div_0_img_16_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelement(0, "img", 45);
52
+ i0.ɵɵelement(0, "img", 46);
52
53
  } if (rf & 2) {
53
54
  const ctx_r10 = i0.ɵɵnextContext(2);
54
55
  i0.ɵɵpropertyInterpolate("src", ctx_r10.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
55
56
  } }
56
57
  function RecipeDetailsComponent_div_0_div_23_Template(rf, ctx) { if (rf & 1) {
57
- i0.ɵɵelementStart(0, "div", 46);
58
+ i0.ɵɵelementStart(0, "div", 47);
58
59
  i0.ɵɵelementStart(1, "span");
59
60
  i0.ɵɵtext(2, "Pr\u00E9paration");
60
61
  i0.ɵɵelementEnd();
61
- i0.ɵɵelementStart(3, "div", 47);
62
- i0.ɵɵelement(4, "ng-miam-icon", 48);
62
+ i0.ɵɵelementStart(3, "div", 48);
63
+ i0.ɵɵelement(4, "ng-miam-icon", 49);
63
64
  i0.ɵɵelementStart(5, "span");
64
65
  i0.ɵɵtext(6);
65
66
  i0.ɵɵelementEnd();
@@ -73,12 +74,12 @@ function RecipeDetailsComponent_div_0_div_23_Template(rf, ctx) { if (rf & 1) {
73
74
  i0.ɵɵtextInterpolate(ctx_r11.recipe == null ? null : ctx_r11.recipe.preparationTime);
74
75
  } }
75
76
  function RecipeDetailsComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
76
- i0.ɵɵelementStart(0, "div", 46);
77
+ i0.ɵɵelementStart(0, "div", 47);
77
78
  i0.ɵɵelementStart(1, "span");
78
79
  i0.ɵɵtext(2, "Cuisson");
79
80
  i0.ɵɵelementEnd();
80
- i0.ɵɵelementStart(3, "div", 47);
81
- i0.ɵɵelement(4, "ng-miam-icon", 48);
81
+ i0.ɵɵelementStart(3, "div", 48);
82
+ i0.ɵɵelement(4, "ng-miam-icon", 49);
82
83
  i0.ɵɵelementStart(5, "span");
83
84
  i0.ɵɵtext(6);
84
85
  i0.ɵɵelementEnd();
@@ -92,12 +93,12 @@ function RecipeDetailsComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
92
93
  i0.ɵɵtextInterpolate(ctx_r12.recipe == null ? null : ctx_r12.recipe.cookingTime);
93
94
  } }
94
95
  function RecipeDetailsComponent_div_0_div_25_Template(rf, ctx) { if (rf & 1) {
95
- i0.ɵɵelementStart(0, "div", 46);
96
+ i0.ɵɵelementStart(0, "div", 47);
96
97
  i0.ɵɵelementStart(1, "span");
97
98
  i0.ɵɵtext(2, "Repos");
98
99
  i0.ɵɵelementEnd();
99
- i0.ɵɵelementStart(3, "div", 47);
100
- i0.ɵɵelement(4, "ng-miam-icon", 48);
100
+ i0.ɵɵelementStart(3, "div", 48);
101
+ i0.ɵɵelement(4, "ng-miam-icon", 49);
101
102
  i0.ɵɵelementStart(5, "span");
102
103
  i0.ɵɵtext(6);
103
104
  i0.ɵɵelementEnd();
@@ -112,7 +113,7 @@ function RecipeDetailsComponent_div_0_div_25_Template(rf, ctx) { if (rf & 1) {
112
113
  } }
113
114
  function RecipeDetailsComponent_div_0_ng_container_35_Template(rf, ctx) { if (rf & 1) {
114
115
  i0.ɵɵelementContainerStart(0);
115
- i0.ɵɵelement(1, "ng-miam-icon", 49);
116
+ i0.ɵɵelement(1, "ng-miam-icon", 50);
116
117
  i0.ɵɵelementContainerEnd();
117
118
  } if (rf & 2) {
118
119
  const ctx_r14 = i0.ɵɵnextContext(2);
@@ -121,7 +122,7 @@ function RecipeDetailsComponent_div_0_ng_container_35_Template(rf, ctx) { if (rf
121
122
  } }
122
123
  function RecipeDetailsComponent_div_0_ng_container_36_Template(rf, ctx) { if (rf & 1) {
123
124
  i0.ɵɵelementContainerStart(0);
124
- i0.ɵɵelement(1, "ng-miam-icon", 49);
125
+ i0.ɵɵelement(1, "ng-miam-icon", 50);
125
126
  i0.ɵɵelementContainerEnd();
126
127
  } if (rf & 2) {
127
128
  const ctx_r15 = i0.ɵɵnextContext(2);
@@ -130,7 +131,7 @@ function RecipeDetailsComponent_div_0_ng_container_36_Template(rf, ctx) { if (rf
130
131
  } }
131
132
  function RecipeDetailsComponent_div_0_ng_container_37_Template(rf, ctx) { if (rf & 1) {
132
133
  i0.ɵɵelementContainerStart(0);
133
- i0.ɵɵelement(1, "ng-miam-icon", 49);
134
+ i0.ɵɵelement(1, "ng-miam-icon", 50);
134
135
  i0.ɵɵelementContainerEnd();
135
136
  } if (rf & 2) {
136
137
  const ctx_r16 = i0.ɵɵnextContext(2);
@@ -140,286 +141,338 @@ function RecipeDetailsComponent_div_0_ng_container_37_Template(rf, ctx) { if (rf
140
141
  function RecipeDetailsComponent_div_0_ng_container_38_Template(rf, ctx) { if (rf & 1) {
141
142
  i0.ɵɵelementContainer(0);
142
143
  } }
144
+ function RecipeDetailsComponent_div_0_button_51_ng_miam_icon_4_Template(rf, ctx) { if (rf & 1) {
145
+ i0.ɵɵelement(0, "ng-miam-icon", 54);
146
+ i0.ɵɵpipe(1, "async");
147
+ } if (rf & 2) {
148
+ const ctx_r25 = i0.ɵɵnextContext(3);
149
+ var tmp_2_0 = null;
150
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_2_0 = i0.ɵɵpipeBind1(1, 3, ctx_r25.groceriesListsService.list$)) == null ? null : tmp_2_0.hasRecipe(ctx_r25.recipe == null ? null : ctx_r25.recipe.id)) ? ctx_r25.icon.CheckList : ctx_r25.icon.Cart);
151
+ } }
152
+ function RecipeDetailsComponent_div_0_button_51_ng_template_5_Template(rf, ctx) { if (rf & 1) {
153
+ i0.ɵɵelement(0, "ng-miam-loader");
154
+ } }
143
155
  function RecipeDetailsComponent_div_0_button_51_Template(rf, ctx) { if (rf & 1) {
144
- const _r25 = i0.ɵɵgetCurrentView();
145
- i0.ɵɵelementStart(0, "button", 50);
146
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_51_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return ctx_r24.clickPrimary(); });
156
+ const _r29 = i0.ɵɵgetCurrentView();
157
+ i0.ɵɵelementStart(0, "button", 51);
158
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_51_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return ctx_r28.clickPrimary(); });
147
159
  i0.ɵɵelementStart(1, "span");
148
160
  i0.ɵɵtext(2);
149
161
  i0.ɵɵpipe(3, "async");
150
162
  i0.ɵɵelementEnd();
151
- i0.ɵɵelement(4, "ng-miam-icon", 51);
152
- i0.ɵɵpipe(5, "async");
163
+ i0.ɵɵtemplate(4, RecipeDetailsComponent_div_0_button_51_ng_miam_icon_4_Template, 2, 5, "ng-miam-icon", 52);
164
+ i0.ɵɵtemplate(5, RecipeDetailsComponent_div_0_button_51_ng_template_5_Template, 1, 0, "ng-template", null, 53, i0.ɵɵtemplateRefExtractor);
153
165
  i0.ɵɵelementEnd();
154
166
  } if (rf & 2) {
167
+ const _r26 = i0.ɵɵreference(6);
155
168
  const ctx_r18 = i0.ɵɵnextContext(2);
156
169
  var tmp_0_0 = null;
157
- var tmp_3_0 = null;
158
170
  i0.ɵɵadvance(2);
159
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
171
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 3, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
160
172
  i0.ɵɵadvance(2);
161
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? ctx_r18.icon.CheckList : ctx_r18.icon.Cart);
173
+ i0.ɵɵproperty("ngIf", !ctx_r18.addButtonLoading)("ngIfElse", _r26);
174
+ } }
175
+ function RecipeDetailsComponent_div_0_div_53_div_1_img_1_Template(rf, ctx) { if (rf & 1) {
176
+ i0.ɵɵelement(0, "img", 60);
177
+ } if (rf & 2) {
178
+ const tag_r31 = i0.ɵɵnextContext().$implicit;
179
+ i0.ɵɵproperty("src", tag_r31.attributes.icon, i0.ɵɵsanitizeUrl);
162
180
  } }
163
- function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template(rf, ctx) { if (rf & 1) {
164
- const _r27 = i0.ɵɵgetCurrentView();
165
- i0.ɵɵelementStart(0, "ng-miam-addon-link", 52);
166
- i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.toggleAddon(); });
181
+ function RecipeDetailsComponent_div_0_div_53_div_1_Template(rf, ctx) { if (rf & 1) {
182
+ i0.ɵɵelementStart(0, "div", 57);
183
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_53_div_1_img_1_Template, 1, 1, "img", 58);
184
+ i0.ɵɵelementStart(2, "span", 59);
185
+ i0.ɵɵtext(3);
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementEnd();
188
+ } if (rf & 2) {
189
+ const tag_r31 = ctx.$implicit;
190
+ const ctx_r30 = i0.ɵɵnextContext(3);
191
+ i0.ɵɵadvance(1);
192
+ i0.ɵɵproperty("ngIf", ctx_r30.displayTagsIcons);
193
+ i0.ɵɵadvance(2);
194
+ i0.ɵɵtextInterpolate1(" ", tag_r31.name, " ");
195
+ } }
196
+ function RecipeDetailsComponent_div_0_div_53_Template(rf, ctx) { if (rf & 1) {
197
+ i0.ɵɵelementStart(0, "div", 55);
198
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_53_div_1_Template, 4, 2, "div", 56);
167
199
  i0.ɵɵelementEnd();
168
200
  } if (rf & 2) {
169
201
  const ctx_r19 = i0.ɵɵnextContext(2);
170
- i0.ɵɵproperty("recipe", ctx_r19.recipe);
202
+ i0.ɵɵadvance(1);
203
+ i0.ɵɵproperty("ngForOf", ctx_r19.recipe.relationships.tags.data);
171
204
  } }
172
- function RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
205
+ function RecipeDetailsComponent_div_0_ng_miam_addon_link_55_Template(rf, ctx) { if (rf & 1) {
206
+ const _r35 = i0.ɵɵgetCurrentView();
207
+ i0.ɵɵelementStart(0, "ng-miam-addon-link", 61);
208
+ i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_55_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(2); return ctx_r34.toggleAddon(); });
209
+ i0.ɵɵelementEnd();
210
+ } if (rf & 2) {
211
+ const ctx_r20 = i0.ɵɵnextContext(2);
212
+ i0.ɵɵproperty("recipe", ctx_r20.recipe);
213
+ } }
214
+ function RecipeDetailsComponent_div_0_div_56_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
173
215
  i0.ɵɵelementStart(0, "div");
174
- i0.ɵɵelement(1, "img", 68);
216
+ i0.ɵɵelement(1, "img", 77);
175
217
  i0.ɵɵelementEnd();
176
218
  } if (rf & 2) {
177
- const ingredient_r30 = i0.ɵɵnextContext().$implicit;
178
- const ctx_r32 = i0.ɵɵnextContext(3);
219
+ const ingredient_r38 = i0.ɵɵnextContext().$implicit;
220
+ const ctx_r40 = i0.ɵɵnextContext(3);
179
221
  i0.ɵɵadvance(1);
180
- i0.ɵɵproperty("src", ctx_r32.ingredientPicture(ingredient_r30), i0.ɵɵsanitizeUrl);
222
+ i0.ɵɵproperty("src", ctx_r40.ingredientPicture(ingredient_r38), i0.ɵɵsanitizeUrl);
181
223
  } }
182
224
  const _c2 = function (a0) { return { "checked": a0 }; };
183
- function RecipeDetailsComponent_div_0_div_55_div_12_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵelementStart(0, "div", 66);
185
- i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template, 2, 1, "div", 67);
225
+ function RecipeDetailsComponent_div_0_div_56_div_12_Template(rf, ctx) { if (rf & 1) {
226
+ i0.ɵɵelementStart(0, "div", 75);
227
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_56_div_12_div_1_Template, 2, 1, "div", 76);
186
228
  i0.ɵɵelementStart(2, "div");
187
229
  i0.ɵɵtext(3);
188
230
  i0.ɵɵpipe(4, "capitalizeFirstLetter");
189
231
  i0.ɵɵelementEnd();
190
- i0.ɵɵelementStart(5, "div", 60);
232
+ i0.ɵɵelementStart(5, "div", 69);
191
233
  i0.ɵɵtext(6);
192
234
  i0.ɵɵpipe(7, "readableFloatNumber");
193
235
  i0.ɵɵelementEnd();
194
236
  i0.ɵɵelementEnd();
195
237
  } if (rf & 2) {
196
- const ingredient_r30 = ctx.$implicit;
197
- const i_r31 = ctx.index;
198
- const ctx_r28 = i0.ɵɵnextContext(3);
199
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r28.ingredientsChecked[i_r31]));
238
+ const ingredient_r38 = ctx.$implicit;
239
+ const i_r39 = ctx.index;
240
+ const ctx_r36 = i0.ɵɵnextContext(3);
241
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r36.ingredientsChecked[i_r39]));
200
242
  i0.ɵɵadvance(1);
201
- i0.ɵɵproperty("ngIf", ctx_r28.ingredientsPictures);
243
+ i0.ɵɵproperty("ngIf", ctx_r36.ingredientsPictures);
202
244
  i0.ɵɵadvance(2);
203
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ingredient_r30.name), "");
245
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ingredient_r38.name), "");
204
246
  i0.ɵɵadvance(3);
205
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(7, 6, ingredient_r30.qty, ingredient_r30.unit), "");
247
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(7, 6, ingredient_r38.qty, ingredient_r38.unit), "");
206
248
  } }
207
- function RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
208
- i0.ɵɵelement(0, "ng-miam-icon", 73);
249
+ function RecipeDetailsComponent_div_0_div_56_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
250
+ i0.ɵɵelement(0, "ng-miam-icon", 82);
209
251
  } if (rf & 2) {
210
- const ctx_r36 = i0.ɵɵnextContext(4);
211
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r36.icon.CheckCircleFill);
212
- } }
213
- function RecipeDetailsComponent_div_0_div_55_div_17_Template(rf, ctx) { if (rf & 1) {
214
- const _r38 = i0.ɵɵgetCurrentView();
215
- i0.ɵɵelementStart(0, "div", 69);
216
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_55_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r38); const i_r35 = ctx.index; const ctx_r37 = i0.ɵɵnextContext(3); return ctx_r37.changeActiveStep(i_r35); });
217
- i0.ɵɵelementStart(1, "div", 70);
252
+ const ctx_r44 = i0.ɵɵnextContext(4);
253
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r44.icon.CheckCircleFill);
254
+ } }
255
+ function RecipeDetailsComponent_div_0_div_56_div_17_Template(rf, ctx) { if (rf & 1) {
256
+ const _r46 = i0.ɵɵgetCurrentView();
257
+ i0.ɵɵelementStart(0, "div", 78);
258
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_56_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r46); const i_r43 = ctx.index; const ctx_r45 = i0.ɵɵnextContext(3); return ctx_r45.changeActiveStep(i_r43); });
259
+ i0.ɵɵelementStart(1, "div", 79);
218
260
  i0.ɵɵelementStart(2, "strong");
219
261
  i0.ɵɵtext(3);
220
262
  i0.ɵɵelementEnd();
221
263
  i0.ɵɵelementEnd();
222
- i0.ɵɵelementStart(4, "div", 71);
264
+ i0.ɵɵelementStart(4, "div", 80);
223
265
  i0.ɵɵtext(5);
224
266
  i0.ɵɵelementEnd();
225
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
267
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_56_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 81);
226
268
  i0.ɵɵelementEnd();
227
269
  } if (rf & 2) {
228
- const step_r34 = ctx.$implicit;
229
- const i_r35 = ctx.index;
230
- const ctx_r29 = i0.ɵɵnextContext(3);
231
- i0.ɵɵclassProp("active", i_r35 === ctx_r29.activeStep)("miam-recipe-details__panel__done", i_r35 < ctx_r29.activeStep);
270
+ const step_r42 = ctx.$implicit;
271
+ const i_r43 = ctx.index;
272
+ const ctx_r37 = i0.ɵɵnextContext(3);
273
+ i0.ɵɵclassProp("active", i_r43 === ctx_r37.activeStep)("miam-recipe-details__panel__done", i_r43 < ctx_r37.activeStep);
232
274
  i0.ɵɵadvance(3);
233
- i0.ɵɵtextInterpolate(i_r35 + 1);
275
+ i0.ɵɵtextInterpolate(i_r43 + 1);
234
276
  i0.ɵɵadvance(2);
235
- i0.ɵɵtextInterpolate(step_r34 == null ? null : step_r34.attributes == null ? null : step_r34.attributes.description);
277
+ i0.ɵɵtextInterpolate(step_r42 == null ? null : step_r42.attributes == null ? null : step_r42.attributes.description);
236
278
  i0.ɵɵadvance(1);
237
- i0.ɵɵproperty("ngIf", i_r35 <= ctx_r29.activeStep);
279
+ i0.ɵɵproperty("ngIf", i_r43 <= ctx_r37.activeStep);
238
280
  } }
239
- function RecipeDetailsComponent_div_0_div_55_Template(rf, ctx) { if (rf & 1) {
240
- const _r40 = i0.ɵɵgetCurrentView();
241
- i0.ɵɵelementStart(0, "div", 53);
242
- i0.ɵɵelementStart(1, "div", 54);
243
- i0.ɵɵelementStart(2, "div", 55);
281
+ function RecipeDetailsComponent_div_0_div_56_Template(rf, ctx) { if (rf & 1) {
282
+ const _r48 = i0.ɵɵgetCurrentView();
283
+ i0.ɵɵelementStart(0, "div", 62);
284
+ i0.ɵɵelementStart(1, "div", 63);
285
+ i0.ɵɵelementStart(2, "div", 64);
244
286
  i0.ɵɵtext(3, " Ingr\u00E9dients ");
245
287
  i0.ɵɵelementEnd();
246
- i0.ɵɵelementStart(4, "div", 56);
247
- i0.ɵɵelementStart(5, "div", 57);
248
- i0.ɵɵelementStart(6, "ng-miam-counter-input", 58);
249
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_55_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(2); return ctx_r39.updateGuests($event); });
288
+ i0.ɵɵelementStart(4, "div", 65);
289
+ i0.ɵɵelementStart(5, "div", 66);
290
+ i0.ɵɵelementStart(6, "ng-miam-counter-input", 67);
291
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_56_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(2); return ctx_r47.updateGuests($event); });
250
292
  i0.ɵɵelementEnd();
251
- i0.ɵɵelementStart(7, "span", 59);
293
+ i0.ɵɵelementStart(7, "span", 68);
252
294
  i0.ɵɵtext(8);
253
295
  i0.ɵɵelementEnd();
254
296
  i0.ɵɵelementEnd();
255
- i0.ɵɵelementStart(9, "span", 60);
297
+ i0.ɵɵelementStart(9, "span", 69);
256
298
  i0.ɵɵtext(10, "Quantit\u00E9");
257
299
  i0.ɵɵelementEnd();
258
300
  i0.ɵɵelementEnd();
259
- i0.ɵɵelementStart(11, "div", 61);
260
- i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_55_div_12_Template, 8, 11, "div", 62);
301
+ i0.ɵɵelementStart(11, "div", 70);
302
+ i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_56_div_12_Template, 8, 11, "div", 71);
261
303
  i0.ɵɵelementEnd();
262
304
  i0.ɵɵelementEnd();
263
- i0.ɵɵelementStart(13, "div", 63);
264
- i0.ɵɵelementStart(14, "div", 55);
305
+ i0.ɵɵelementStart(13, "div", 72);
306
+ i0.ɵɵelementStart(14, "div", 64);
265
307
  i0.ɵɵtext(15, " Pr\u00E9paration ");
266
308
  i0.ɵɵelementEnd();
267
- i0.ɵɵelementStart(16, "div", 64);
268
- i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_55_div_17_Template, 7, 7, "div", 65);
309
+ i0.ɵɵelementStart(16, "div", 73);
310
+ i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_56_div_17_Template, 7, 7, "div", 74);
269
311
  i0.ɵɵelementEnd();
270
312
  i0.ɵɵelementEnd();
271
313
  i0.ɵɵelementEnd();
272
314
  } if (rf & 2) {
273
- const ctx_r20 = i0.ɵɵnextContext(2);
315
+ const ctx_r21 = i0.ɵɵnextContext(2);
274
316
  i0.ɵɵadvance(6);
275
- i0.ɵɵproperty("counter", (ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests) || ctx_r20.recipe.guests);
317
+ i0.ɵɵproperty("counter", (ctx_r21.recipe == null ? null : ctx_r21.recipe.modifiedGuests) || ctx_r21.recipe.guests);
276
318
  i0.ɵɵadvance(2);
277
- i0.ɵɵtextInterpolate1("Pour ", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests, " personnes");
319
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r21.recipe == null ? null : ctx_r21.recipe.modifiedGuests, " personnes");
278
320
  i0.ɵɵadvance(4);
279
- i0.ɵɵproperty("ngForOf", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedIngredients);
321
+ i0.ɵɵproperty("ngForOf", ctx_r21.recipe == null ? null : ctx_r21.recipe.modifiedIngredients);
280
322
  i0.ɵɵadvance(5);
281
- i0.ɵɵproperty("ngForOf", ctx_r20.steps);
323
+ i0.ɵɵproperty("ngForOf", ctx_r21.steps);
282
324
  } }
283
- function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
284
- i0.ɵɵelementStart(0, "div", 66);
325
+ function RecipeDetailsComponent_div_0_ng_template_57_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
326
+ i0.ɵɵelementStart(0, "div", 75);
285
327
  i0.ɵɵelementStart(1, "div");
286
328
  i0.ɵɵtext(2);
287
329
  i0.ɵɵpipe(3, "capitalizeFirstLetter");
288
330
  i0.ɵɵelementEnd();
289
- i0.ɵɵelementStart(4, "div", 60);
331
+ i0.ɵɵelementStart(4, "div", 69);
290
332
  i0.ɵɵtext(5);
291
333
  i0.ɵɵpipe(6, "readableFloatNumber");
292
334
  i0.ɵɵelementEnd();
293
335
  i0.ɵɵelementEnd();
294
336
  } if (rf & 2) {
295
- const ingredient_r46 = ctx.$implicit;
296
- const i_r47 = ctx.index;
297
- const ctx_r45 = i0.ɵɵnextContext(4);
298
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r45.ingredientsChecked[i_r47]));
337
+ const ingredient_r54 = ctx.$implicit;
338
+ const i_r55 = ctx.index;
339
+ const ctx_r53 = i0.ɵɵnextContext(4);
340
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r53.ingredientsChecked[i_r55]));
299
341
  i0.ɵɵadvance(2);
300
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r46.name), "");
342
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r54.name), "");
301
343
  i0.ɵɵadvance(3);
302
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r46.qty, ingredient_r46.unit), "");
344
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r54.qty, ingredient_r54.unit), "");
303
345
  } }
304
- function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template(rf, ctx) { if (rf & 1) {
305
- const _r49 = i0.ɵɵgetCurrentView();
346
+ function RecipeDetailsComponent_div_0_ng_template_57_ng_container_7_Template(rf, ctx) { if (rf & 1) {
347
+ const _r57 = i0.ɵɵgetCurrentView();
306
348
  i0.ɵɵelementContainerStart(0);
307
- i0.ɵɵelementStart(1, "div", 56);
308
- i0.ɵɵelementStart(2, "div", 57);
309
- i0.ɵɵelementStart(3, "ng-miam-counter-input", 58);
310
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(3); return ctx_r48.updateGuests($event); });
349
+ i0.ɵɵelementStart(1, "div", 65);
350
+ i0.ɵɵelementStart(2, "div", 66);
351
+ i0.ɵɵelementStart(3, "ng-miam-counter-input", 67);
352
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_57_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(3); return ctx_r56.updateGuests($event); });
311
353
  i0.ɵɵelementEnd();
312
- i0.ɵɵelementStart(4, "span", 59);
354
+ i0.ɵɵelementStart(4, "span", 68);
313
355
  i0.ɵɵtext(5);
314
356
  i0.ɵɵelementEnd();
315
357
  i0.ɵɵelementEnd();
316
- i0.ɵɵelementStart(6, "span", 60);
358
+ i0.ɵɵelementStart(6, "span", 69);
317
359
  i0.ɵɵtext(7, "Quantit\u00E9");
318
360
  i0.ɵɵelementEnd();
319
361
  i0.ɵɵelementEnd();
320
- i0.ɵɵelementStart(8, "div", 61);
321
- i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template, 7, 10, "div", 62);
362
+ i0.ɵɵelementStart(8, "div", 70);
363
+ i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_57_ng_container_7_div_9_Template, 7, 10, "div", 71);
322
364
  i0.ɵɵelementEnd();
323
365
  i0.ɵɵelementContainerEnd();
324
366
  } if (rf & 2) {
325
- const ctx_r42 = i0.ɵɵnextContext(3);
367
+ const ctx_r50 = i0.ɵɵnextContext(3);
326
368
  i0.ɵɵadvance(3);
327
- i0.ɵɵproperty("counter", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests);
369
+ i0.ɵɵproperty("counter", ctx_r50.recipe == null ? null : ctx_r50.recipe.modifiedGuests);
328
370
  i0.ɵɵadvance(2);
329
- i0.ɵɵtextInterpolate1("Pour ", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests, " personnes");
371
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r50.recipe == null ? null : ctx_r50.recipe.modifiedGuests, " personnes");
330
372
  i0.ɵɵadvance(4);
331
- i0.ɵɵproperty("ngForOf", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedIngredients);
373
+ i0.ɵɵproperty("ngForOf", ctx_r50.recipe == null ? null : ctx_r50.recipe.modifiedIngredients);
332
374
  } }
333
- function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
334
- i0.ɵɵelement(0, "ng-miam-icon", 73);
375
+ function RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
376
+ i0.ɵɵelement(0, "ng-miam-icon", 82);
335
377
  } if (rf & 2) {
336
- const ctx_r53 = i0.ɵɵnextContext(5);
337
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r53.icon.CheckCircleFill);
338
- } }
339
- function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
340
- const _r55 = i0.ɵɵgetCurrentView();
341
- i0.ɵɵelementStart(0, "div", 69);
342
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r55); const i_r52 = ctx.index; const ctx_r54 = i0.ɵɵnextContext(4); return ctx_r54.changeActiveStep(i_r52); });
343
- i0.ɵɵelementStart(1, "div", 70);
378
+ const ctx_r61 = i0.ɵɵnextContext(5);
379
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r61.icon.CheckCircleFill);
380
+ } }
381
+ function RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
382
+ const _r63 = i0.ɵɵgetCurrentView();
383
+ i0.ɵɵelementStart(0, "div", 78);
384
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r63); const i_r60 = ctx.index; const ctx_r62 = i0.ɵɵnextContext(4); return ctx_r62.changeActiveStep(i_r60); });
385
+ i0.ɵɵelementStart(1, "div", 79);
344
386
  i0.ɵɵelementStart(2, "strong");
345
387
  i0.ɵɵtext(3);
346
388
  i0.ɵɵelementEnd();
347
389
  i0.ɵɵelementEnd();
348
- i0.ɵɵelementStart(4, "div", 71);
390
+ i0.ɵɵelementStart(4, "div", 80);
349
391
  i0.ɵɵtext(5);
350
392
  i0.ɵɵelementEnd();
351
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
393
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 81);
352
394
  i0.ɵɵelementEnd();
353
395
  } if (rf & 2) {
354
- const step_r51 = ctx.$implicit;
355
- const i_r52 = ctx.index;
356
- const ctx_r50 = i0.ɵɵnextContext(4);
357
- i0.ɵɵclassProp("active", i_r52 === ctx_r50.activeStep)("miam-recipe-details__panel__done", i_r52 < ctx_r50.activeStep);
396
+ const step_r59 = ctx.$implicit;
397
+ const i_r60 = ctx.index;
398
+ const ctx_r58 = i0.ɵɵnextContext(4);
399
+ i0.ɵɵclassProp("active", i_r60 === ctx_r58.activeStep)("miam-recipe-details__panel__done", i_r60 < ctx_r58.activeStep);
358
400
  i0.ɵɵadvance(3);
359
- i0.ɵɵtextInterpolate(i_r52 + 1);
401
+ i0.ɵɵtextInterpolate(i_r60 + 1);
360
402
  i0.ɵɵadvance(2);
361
- i0.ɵɵtextInterpolate(step_r51 == null ? null : step_r51.attributes == null ? null : step_r51.attributes.description);
403
+ i0.ɵɵtextInterpolate(step_r59 == null ? null : step_r59.attributes == null ? null : step_r59.attributes.description);
362
404
  i0.ɵɵadvance(1);
363
- i0.ɵɵproperty("ngIf", i_r52 <= ctx_r50.activeStep);
405
+ i0.ɵɵproperty("ngIf", i_r60 <= ctx_r58.activeStep);
364
406
  } }
365
- function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template(rf, ctx) { if (rf & 1) {
366
- i0.ɵɵelementStart(0, "div", 64);
367
- i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template, 7, 7, "div", 65);
407
+ function RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_Template(rf, ctx) { if (rf & 1) {
408
+ i0.ɵɵelementStart(0, "div", 73);
409
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_div_1_Template, 7, 7, "div", 74);
368
410
  i0.ɵɵelementEnd();
369
411
  } if (rf & 2) {
370
- const ctx_r44 = i0.ɵɵnextContext(3);
412
+ const ctx_r52 = i0.ɵɵnextContext(3);
371
413
  i0.ɵɵadvance(1);
372
- i0.ɵɵproperty("ngForOf", ctx_r44.steps);
414
+ i0.ɵɵproperty("ngForOf", ctx_r52.steps);
373
415
  } }
374
416
  const _c3 = function (a0) { return { "active": a0 }; };
375
- function RecipeDetailsComponent_div_0_ng_template_56_Template(rf, ctx) { if (rf & 1) {
376
- const _r57 = i0.ɵɵgetCurrentView();
377
- i0.ɵɵelementStart(0, "div", 74, 75);
378
- i0.ɵɵelementStart(2, "div", 76);
379
- i0.ɵɵelementStart(3, "button", 77);
380
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r56 = i0.ɵɵnextContext(2); ctx_r56.toggleShowIngredient(true); return _r41.scrollIntoView(); });
417
+ function RecipeDetailsComponent_div_0_ng_template_57_Template(rf, ctx) { if (rf & 1) {
418
+ const _r65 = i0.ɵɵgetCurrentView();
419
+ i0.ɵɵelementStart(0, "div", 83, 84);
420
+ i0.ɵɵelementStart(2, "div", 85);
421
+ i0.ɵɵelementStart(3, "button", 86);
422
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_57_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r65); const _r49 = i0.ɵɵreference(1); const ctx_r64 = i0.ɵɵnextContext(2); ctx_r64.toggleShowIngredient(true); return _r49.scrollIntoView(); });
381
423
  i0.ɵɵtext(4, "Ingredients");
382
424
  i0.ɵɵelementEnd();
383
- i0.ɵɵelementStart(5, "button", 77);
384
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r58 = i0.ɵɵnextContext(2); ctx_r58.toggleShowIngredient(false); return _r41.scrollIntoView(); });
425
+ i0.ɵɵelementStart(5, "button", 86);
426
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_57_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r65); const _r49 = i0.ɵɵreference(1); const ctx_r66 = i0.ɵɵnextContext(2); ctx_r66.toggleShowIngredient(false); return _r49.scrollIntoView(); });
385
427
  i0.ɵɵtext(6, "Pr\u00E9paration");
386
428
  i0.ɵɵelementEnd();
387
429
  i0.ɵɵelementEnd();
388
- i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template, 10, 3, "ng-container", 78);
389
- i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template, 2, 1, "ng-template", null, 79, i0.ɵɵtemplateRefExtractor);
430
+ i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_57_ng_container_7_Template, 10, 3, "ng-container", 87);
431
+ i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_57_ng_template_8_Template, 2, 1, "ng-template", null, 88, i0.ɵɵtemplateRefExtractor);
390
432
  i0.ɵɵelementEnd();
391
433
  } if (rf & 2) {
392
- const _r43 = i0.ɵɵreference(9);
393
- const ctx_r22 = i0.ɵɵnextContext(2);
434
+ const _r51 = i0.ɵɵreference(9);
435
+ const ctx_r23 = i0.ɵɵnextContext(2);
394
436
  i0.ɵɵadvance(3);
395
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r22.showIngredient));
437
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r23.showIngredient));
396
438
  i0.ɵɵadvance(2);
397
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, !ctx_r22.showIngredient));
439
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, !ctx_r23.showIngredient));
398
440
  i0.ɵɵadvance(2);
399
- i0.ɵɵproperty("ngIf", ctx_r22.showIngredient)("ngIfElse", _r43);
441
+ i0.ɵɵproperty("ngIf", ctx_r23.showIngredient)("ngIfElse", _r51);
400
442
  } }
401
- function RecipeDetailsComponent_div_0_button_62_Template(rf, ctx) { if (rf & 1) {
402
- const _r60 = i0.ɵɵgetCurrentView();
403
- i0.ɵɵelementStart(0, "button", 50);
404
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_62_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(2); return ctx_r59.clickPrimary(); });
443
+ function RecipeDetailsComponent_div_0_button_63_ng_miam_icon_4_Template(rf, ctx) { if (rf & 1) {
444
+ i0.ɵɵelement(0, "ng-miam-icon", 54);
445
+ i0.ɵɵpipe(1, "async");
446
+ } if (rf & 2) {
447
+ const ctx_r67 = i0.ɵɵnextContext(3);
448
+ var tmp_2_0 = null;
449
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_2_0 = i0.ɵɵpipeBind1(1, 3, ctx_r67.groceriesListsService.list$)) == null ? null : tmp_2_0.hasRecipe(ctx_r67.recipe == null ? null : ctx_r67.recipe.id)) ? ctx_r67.icon.CheckList : ctx_r67.icon.Cart);
450
+ } }
451
+ function RecipeDetailsComponent_div_0_button_63_ng_template_5_Template(rf, ctx) { if (rf & 1) {
452
+ i0.ɵɵelement(0, "ng-miam-loader");
453
+ } }
454
+ function RecipeDetailsComponent_div_0_button_63_Template(rf, ctx) { if (rf & 1) {
455
+ const _r71 = i0.ɵɵgetCurrentView();
456
+ i0.ɵɵelementStart(0, "button", 51);
457
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_63_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r71); const ctx_r70 = i0.ɵɵnextContext(2); return ctx_r70.clickPrimary(); });
405
458
  i0.ɵɵelementStart(1, "span");
406
459
  i0.ɵɵtext(2);
407
460
  i0.ɵɵpipe(3, "async");
408
461
  i0.ɵɵelementEnd();
409
- i0.ɵɵelement(4, "ng-miam-icon", 51);
410
- i0.ɵɵpipe(5, "async");
462
+ i0.ɵɵtemplate(4, RecipeDetailsComponent_div_0_button_63_ng_miam_icon_4_Template, 2, 5, "ng-miam-icon", 52);
463
+ i0.ɵɵtemplate(5, RecipeDetailsComponent_div_0_button_63_ng_template_5_Template, 1, 0, "ng-template", null, 53, i0.ɵɵtemplateRefExtractor);
411
464
  i0.ɵɵelementEnd();
412
465
  } if (rf & 2) {
413
- const ctx_r23 = i0.ɵɵnextContext(2);
466
+ const _r68 = i0.ɵɵreference(6);
467
+ const ctx_r24 = i0.ɵɵnextContext(2);
414
468
  var tmp_0_0 = null;
415
- var tmp_3_0 = null;
416
469
  i0.ɵɵadvance(2);
417
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
470
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 3, ctx_r24.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r24.recipe == null ? null : ctx_r24.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
418
471
  i0.ɵɵadvance(2);
419
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? ctx_r23.icon.CheckList : ctx_r23.icon.Cart);
472
+ i0.ɵɵproperty("ngIf", !ctx_r24.addButtonLoading)("ngIfElse", _r68);
420
473
  } }
421
474
  function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
422
- const _r62 = i0.ɵɵgetCurrentView();
475
+ const _r73 = i0.ɵɵgetCurrentView();
423
476
  i0.ɵɵelementStart(0, "div", 2, 3);
424
477
  i0.ɵɵelementStart(2, "div", 4);
425
478
  i0.ɵɵelementStart(3, "div", 5);
@@ -475,7 +528,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
475
528
  i0.ɵɵelementStart(42, "div", 29);
476
529
  i0.ɵɵtext(43);
477
530
  i0.ɵɵelementStart(44, "div", 30);
478
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_44_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return ctx_r61.print(); });
531
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_44_listener() { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(); return ctx_r72.print(); });
479
532
  i0.ɵɵelement(45, "ng-miam-icon", 14);
480
533
  i0.ɵɵelementStart(46, "span");
481
534
  i0.ɵɵtext(47, " Imprimer la recette ");
@@ -487,27 +540,28 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
487
540
  i0.ɵɵelementStart(49, "div", 32);
488
541
  i0.ɵɵelement(50, "ng-miam-recipe-pricing", 33);
489
542
  i0.ɵɵelementEnd();
490
- i0.ɵɵtemplate(51, RecipeDetailsComponent_div_0_button_51_Template, 6, 8, "button", 34);
543
+ i0.ɵɵtemplate(51, RecipeDetailsComponent_div_0_button_51_Template, 7, 5, "button", 34);
491
544
  i0.ɵɵelementEnd();
492
545
  i0.ɵɵelementEnd();
493
546
  i0.ɵɵelementEnd();
494
547
  i0.ɵɵelement(52, "div", 35);
495
- i0.ɵɵelementStart(53, "div");
496
- i0.ɵɵtemplate(54, RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template, 1, 1, "ng-miam-addon-link", 36);
548
+ i0.ɵɵtemplate(53, RecipeDetailsComponent_div_0_div_53_Template, 2, 1, "div", 36);
549
+ i0.ɵɵelementStart(54, "div");
550
+ i0.ɵɵtemplate(55, RecipeDetailsComponent_div_0_ng_miam_addon_link_55_Template, 1, 1, "ng-miam-addon-link", 37);
497
551
  i0.ɵɵelementEnd();
498
- i0.ɵɵtemplate(55, RecipeDetailsComponent_div_0_div_55_Template, 18, 4, "div", 37);
499
- i0.ɵɵtemplate(56, RecipeDetailsComponent_div_0_ng_template_56_Template, 10, 8, "ng-template", null, 38, i0.ɵɵtemplateRefExtractor);
500
- i0.ɵɵelementStart(58, "div", 39);
501
- i0.ɵɵelementStart(59, "div", 31);
502
- i0.ɵɵelementStart(60, "div", 32);
503
- i0.ɵɵelement(61, "ng-miam-recipe-pricing", 33);
552
+ i0.ɵɵtemplate(56, RecipeDetailsComponent_div_0_div_56_Template, 18, 4, "div", 38);
553
+ i0.ɵɵtemplate(57, RecipeDetailsComponent_div_0_ng_template_57_Template, 10, 8, "ng-template", null, 39, i0.ɵɵtemplateRefExtractor);
554
+ i0.ɵɵelementStart(59, "div", 40);
555
+ i0.ɵɵelementStart(60, "div", 31);
556
+ i0.ɵɵelementStart(61, "div", 32);
557
+ i0.ɵɵelement(62, "ng-miam-recipe-pricing", 33);
504
558
  i0.ɵɵelementEnd();
505
- i0.ɵɵtemplate(62, RecipeDetailsComponent_div_0_button_62_Template, 6, 8, "button", 34);
559
+ i0.ɵɵtemplate(63, RecipeDetailsComponent_div_0_button_63_Template, 7, 5, "button", 34);
506
560
  i0.ɵɵelementEnd();
507
561
  i0.ɵɵelementEnd();
508
562
  i0.ɵɵelementEnd();
509
563
  } if (rf & 2) {
510
- const _r21 = i0.ɵɵreference(57);
564
+ const _r22 = i0.ɵɵreference(58);
511
565
  const ctx_r0 = i0.ɵɵnextContext();
512
566
  var tmp_3_0 = null;
513
567
  i0.ɵɵadvance(6);
@@ -517,9 +571,9 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
517
571
  i0.ɵɵadvance(1);
518
572
  i0.ɵɵproperty("ngIf", ctx_r0.showVideo && ctx_r0.playerWidth);
519
573
  i0.ɵɵadvance(1);
520
- i0.ɵɵproperty("ngIf", (tmp_3_0 = i0.ɵɵpipeBind1(10, 39, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
574
+ i0.ɵɵproperty("ngIf", (tmp_3_0 = i0.ɵɵpipeBind1(10, 40, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
521
575
  i0.ɵɵadvance(3);
522
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 41, ctx_r0.userService.isLogged$));
576
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 42, ctx_r0.userService.isLogged$));
523
577
  i0.ɵɵadvance(2);
524
578
  i0.ɵɵproperty("width", 26)("height", 26)("iconName", ctx_r0.icon.Calendar);
525
579
  i0.ɵɵadvance(1);
@@ -537,7 +591,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
537
591
  i0.ɵɵadvance(1);
538
592
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.restingTime) !== "-");
539
593
  i0.ɵɵadvance(4);
540
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 43, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
594
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 44, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
541
595
  i0.ɵɵadvance(3);
542
596
  i0.ɵɵtextInterpolate(ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["title"]);
543
597
  i0.ɵɵadvance(2);
@@ -549,7 +603,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
549
603
  i0.ɵɵadvance(1);
550
604
  i0.ɵɵproperty("ngSwitchCase", "difficile");
551
605
  i0.ɵɵadvance(3);
552
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 45, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
606
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 46, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
553
607
  i0.ɵɵadvance(3);
554
608
  i0.ɵɵtextInterpolate1(" ", ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["description"], " ");
555
609
  i0.ɵɵadvance(2);
@@ -558,19 +612,21 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
558
612
  i0.ɵɵproperty("recipe", ctx_r0.recipe)("serves", ctx_r0.recipe == null ? null : ctx_r0.recipe.modifiedGuests);
559
613
  i0.ɵɵadvance(1);
560
614
  i0.ɵɵproperty("ngIf", ctx_r0.previewAllowed);
561
- i0.ɵɵadvance(3);
615
+ i0.ɵɵadvance(2);
616
+ i0.ɵɵproperty("ngIf", ctx_r0.displayTags);
617
+ i0.ɵɵadvance(2);
562
618
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.sponsors == null ? null : ctx_r0.recipe.sponsors.length) > 0 || ctx_r0.recipe.informationalSentence);
563
619
  i0.ɵɵadvance(1);
564
- i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r21);
620
+ i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r22);
565
621
  i0.ɵɵadvance(6);
566
622
  i0.ɵɵproperty("recipe", ctx_r0.recipe)("serves", ctx_r0.recipe == null ? null : ctx_r0.recipe.modifiedGuests);
567
623
  i0.ɵɵadvance(1);
568
624
  i0.ɵɵproperty("ngIf", ctx_r0.previewAllowed);
569
625
  } }
570
626
  function RecipeDetailsComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
571
- const _r64 = i0.ɵɵgetCurrentView();
572
- i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 80);
573
- i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return ctx_r63.toggleAddon(); });
627
+ const _r75 = i0.ɵɵgetCurrentView();
628
+ i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 89);
629
+ i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r75); const ctx_r74 = i0.ɵɵnextContext(); return ctx_r74.toggleAddon(); });
574
630
  i0.ɵɵelementEnd();
575
631
  } if (rf & 2) {
576
632
  const ctx_r2 = i0.ɵɵnextContext();
@@ -587,6 +643,8 @@ export class RecipeDetailsComponent {
587
643
  this.contextService = contextService;
588
644
  this.previewAllowed = true;
589
645
  this.ingredientsPictures = false;
646
+ this.displayTags = false;
647
+ this.displayTagsIcons = false;
590
648
  this.recipeAdded = new EventEmitter();
591
649
  this.recipeChanged = new EventEmitter();
592
650
  this.recipeError = new EventEmitter();
@@ -601,6 +659,7 @@ export class RecipeDetailsComponent {
601
659
  this.showIngredient = true;
602
660
  this.closeIconhidden = new BehaviorSubject(false);
603
661
  this.scrollListenerInitialised = false;
662
+ this.addButtonLoading = false;
604
663
  this.subscriptions = [];
605
664
  this.isMobile = this.mediaMatcher.matchMedia('(max-width: 1023px)').matches;
606
665
  }
@@ -650,10 +709,14 @@ export class RecipeDetailsComponent {
650
709
  this.cdr.detectChanges();
651
710
  }
652
711
  clickPrimary() {
653
- this.primaryButtonClicked$.emit();
654
- this.addRecipe();
712
+ if (!this.addButtonLoading) {
713
+ const wasAdded = !this.groceriesListsService.list$.value.hasRecipe(this.recipe.id);
714
+ this.addRecipe();
715
+ this.primaryButtonClicked$.emit(wasAdded);
716
+ }
655
717
  }
656
718
  addRecipe() {
719
+ this.toggleButtonLoader(true);
657
720
  forkJoin([
658
721
  this.userService.isLogged$.asObservable().pipe(take(1)),
659
722
  this.posService.isPosValid().pipe(take(1))
@@ -671,7 +734,10 @@ export class RecipeDetailsComponent {
671
734
  if (!this.groceriesListsService.list$.value.hasRecipe(this.recipe.id)) {
672
735
  this.recipeEventsService.sendEvent(this.recipe, this.recipeEventsService.ACTION_ADDED);
673
736
  }
674
- this.groceriesListsService.appendRecipeToList(this.recipe.id, this.recipe.modifiedGuests);
737
+ this.subscriptions.push(this.groceriesListsService.appendRecipeToList(this.recipe.id, this.recipe.modifiedGuests)
738
+ .subscribe(l => {
739
+ this.toggleButtonLoader(false);
740
+ }));
675
741
  this.recipeAdded.emit();
676
742
  }
677
743
  addRecipeActionKO() {
@@ -702,6 +768,10 @@ export class RecipeDetailsComponent {
702
768
  this.showIngredient = isShowed;
703
769
  this.cdr.detectChanges();
704
770
  }
771
+ toggleButtonLoader(value) {
772
+ this.addButtonLoading = value;
773
+ this.cdr.detectChanges();
774
+ }
705
775
  ingredientPicture(ingredient) {
706
776
  return ingredient.picture || this.contextService.defaultIngredientPicture;
707
777
  }
@@ -714,13 +784,13 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
714
784
  var _t;
715
785
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topContainerImg = _t.first);
716
786
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.mainContainer = _t.first);
717
- } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], ["topContainerImg", ""], [3, "src", 4, "ngIf"], ["class", "miam-recipe-details__picture__gradient", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [4, "ngIf"], [1, "miam-recipe-details__ingredients__row__picture", 3, "src"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
718
- i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 63, 47, "div", 0);
787
+ } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures", displayTags: "displayTags", displayTagsIcons: "displayTagsIcons" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], ["topContainerImg", ""], [3, "src", 4, "ngIf"], ["class", "miam-recipe-details__picture__gradient", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], ["class", "miam-recipe-details__tags__container", 4, "ngIf"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName", 4, "ngIf", "ngIfElse"], ["addLoader", ""], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [1, "miam-recipe-details__tags__container"], ["class", "miam-recipe-details__tag", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__tag"], ["class", "miam-recipe-details__tag__icon", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__tag__name"], [1, "miam-recipe-details__tag__icon", 3, "src"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [4, "ngIf"], [1, "miam-recipe-details__ingredients__row__picture", 3, "src"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
788
+ i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 64, 48, "div", 0);
719
789
  i0.ɵɵtemplate(1, RecipeDetailsComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
720
790
  } if (rf & 2) {
721
791
  const _r1 = i0.ɵɵreference(2);
722
792
  i0.ɵɵproperty("ngIf", ctx.showDetail)("ngIfElse", _r1);
723
- } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.YouTubePlayer, i7.LikeButtonComponent, i8.AddonLinkComponent, i9.CounterInputComponent, i3.NgForOf, i3.NgClass, i10.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i11.CapitalizeFirstLetterPipe, i12.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__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}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;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-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
793
+ } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.YouTubePlayer, i7.LikeButtonComponent, i8.LoaderComponent, i3.NgForOf, i9.AddonLinkComponent, i10.CounterInputComponent, i3.NgClass, i11.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i12.CapitalizeFirstLetterPipe, i13.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__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}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;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-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action .loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:24px;width:24px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container{display:flex;flex-wrap:wrap;padding:20px;width:100%}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag{background-color:var(--m-color-grey05);border-radius:var(--m-border-radius-pill);display:flex;margin:4px;padding:4px 8px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__icon{height:16px;width:16px}.miam-recipe-details .miam-recipe-details__tags__container .miam-recipe-details__tag .miam-recipe-details__tag__name{font-size:16px}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
724
794
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeDetailsComponent, [{
725
795
  type: Component,
726
796
  args: [{
@@ -738,6 +808,10 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
738
808
  type: Input
739
809
  }], ingredientsPictures: [{
740
810
  type: Input
811
+ }], displayTags: [{
812
+ type: Input
813
+ }], displayTagsIcons: [{
814
+ type: Input
741
815
  }], recipeAdded: [{
742
816
  type: Output
743
817
  }], recipeChanged: [{
@@ -751,4 +825,4 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
751
825
  type: ViewChild,
752
826
  args: ['mainContainer']
753
827
  }] }); })();
754
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNmM0MsMEJBQ0E7OztJQUR3Qiw0R0FBdUM7OztJQUMvRCwwQkFBNkU7OztJQUM3RSxxQ0FLa0I7OztJQUhoQiwrQ0FBMEIsNkJBQUEsK0JBQUE7OztJQUs1QiwrQkFDNEM7SUFBQSwyQ0FBWTtJQUFBLGlCQUFN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SSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBZ0M7UUFDaEQsT0FBTyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7SUFDNUUsQ0FBQzs7NEZBeEpVLHNCQUFzQjsyREFBdEIsc0JBQXNCOzs7Ozs7OztRQzdCbkMseUVBQ0U7UUF5TUYsd0hBQ0U7OztRQTNNRyxxQ0FBNkIsaUJBQUE7O2tERDZCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzhQQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLDJCQUEyQjtrQkFBbkMsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFHdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7WUFDQSxhQUFhO2tCQUF4QyxTQUFTO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVFdmVudHNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vX3V0aWxzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFNpbXBsaWZpZWRJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdDaGVja2VkIHtcbiAgQElucHV0KCkgcmVjaXBlOiBSZWNpcGU7XG4gIEBJbnB1dCgpIGZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzID0gZmFsc2U7XG4gIEBPdXRwdXQoKSByZWNpcGVBZGRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVjaXBlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVjaXBlRXJyb3I6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJpbWFyeUJ1dHRvbkNsaWNrZWQkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RvcENvbnRhaW5lckltZycpIHRvcENvbnRhaW5lckltZzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbWFpbkNvbnRhaW5lcicpIG1haW5Db250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgdGFiID0gMDtcbiAgc2hvd0RldGFpbCA9IHRydWU7XG4gIHN0ZXBzOiBhbnlbXSA9IFtdO1xuICBhY3RpdmVTdGVwID0gMDtcbiAgaWNvbiA9IEljb247XG4gIGluZ3JlZGllbnRzQ2hlY2tlZCA9IHt9O1xuICBzaG93SW5ncmVkaWVudCA9IHRydWU7XG4gIGNsb3NlSWNvbmhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwbGF5ZXJXaWR0aDtcbiAgcGxheWVySGVpZ2h0O1xuICBzaG93VmlkZW87XG4gIHNjcm9sbExpc3RlbmVySW5pdGlhbGlzZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHVibGljIGdyb2Nlcmllc0xpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBpZiBmb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUsIHVzZSBpc01vYmlsZSB0byB0b2dnbGUgaW5ncmVkaWVudHMgJiBzdGVwcyBpbiBtb2JpbGUgbW9kZSwgZWxzZVxuICAgIC8vIFVzZSB0aGUgdmFsdWUgb2YgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlIHRvIGZvcmNlIGl0IHRvIG1vYmlsZSAodHJ1ZSkgb3IgZGVza3RvcCAoZmFsc2UpXG4gICAgaWYgKHRoaXMuZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLmZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZTtcbiAgICB9XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTsgLy8gZm9yY2UgcmVsb2FkIHZpZGVvIHBsYXllclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNob3dWaWRlbyA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZT8udmlkZW9JZDtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLnJlY2lwZS5zdGVwcztcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCA9IDA7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMucGxheWVyV2lkdGggPSBNYXRoLm1pbig2NDAsIHRoaXMudG9wQ29udGFpbmVySW1nPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aCk7XG4gICAgdGhpcy5wbGF5ZXJIZWlnaHQgPSB0aGlzLnBsYXllcldpZHRoICogMzkwIC8gNjQwO1xuICAgIGlmICghdGhpcy5zY3JvbGxMaXN0ZW5lckluaXRpYWxpc2VkKSB7XG4gICAgICB0aGlzLmluaXRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHRoZSBsaXN0ZW5lciBvbiBzY3JvbGwgc28gdGhlIG1vZGFsIGNhbiBoaWRlIHRoZSBjbG9zZSBpY29uXG4gICAqL1xuICBpbml0U2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lcikge1xuICAgICAgY29uc3QgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCAhPT0gdGhpcy5jbG9zZUljb25oaWRkZW4udmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlSWNvbmhpZGRlbi5uZXh0KHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCkgO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aHJlc2hvbGQ6IFswLCAwLjMzLCAwLjY2LCAxXSxcbiAgICAgICAgcm9vdDogdGhpcy5tYWluQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgIH0pO1xuICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRvcENvbnRhaW5lckltZy5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJJbml0aWFsaXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQWN0aXZlU3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVTdGVwID0gaW5kZXg7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xpY2tQcmltYXJ5KCk6IHZvaWQge1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrZWQkLmVtaXQoKTtcbiAgICB0aGlzLmFkZFJlY2lwZSgpO1xuICB9XG5cbiAgYWRkUmVjaXBlKCk6IHZvaWQge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IGlzSG9va09rID0gdGhpcy5jb250ZXh0U2VydmljZS5ob29rQ2FsbGJhY2socmVzWzBdLCByZXNbMV0pO1xuICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uT0soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uS08oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKSl7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKVxuICAgIH1cbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKTtcbiAgICB0aGlzLnJlY2lwZUFkZGVkLmVtaXQoKTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbktPKCk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ19taWFtL2NhY2hlZC1yZWNpcGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2lwZSkpO1xuICAgIHRoaXMucmVjaXBlRXJyb3IuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlR3Vlc3RzKGd1ZXN0cykge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzO1xuICAgIHRoaXMucmVjaXBlQ2hhbmdlZC5lbWl0KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgd2luZG93LnByaW50KCk7XG4gIH1cblxuICBvcGVuQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBzaGFyZVJlY2lwZShldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHRvZ2dsZUFkZG9uKCl7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gICF0aGlzLnNob3dEZXRhaWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlU2hvd0luZ3JlZGllbnQoaXNTaG93ZWQ6IGJvb2xlYW4pe1xuICAgIHRoaXMuc2hvd0luZ3JlZGllbnQgPSBpc1Nob3dlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50OiBTaW1wbGlmaWVkSW5ncmVkaWVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGluZ3JlZGllbnQucGljdHVyZSB8fCB0aGlzLmNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgZWxzZSBhZGRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc1wiICNtYWluQ29udGFpbmVyID5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fbGVmdFwiPlxuICAgICAgPGRpdiAjdG9wQ29udGFpbmVySW1nIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2ltZ1wiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiIXNob3dWaWRlb1wiIFtzcmNdPVwicmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dWaWRlb1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICAgKm5nSWY9XCJzaG93VmlkZW8gJiYgcGxheWVyV2lkdGhcIlxuICAgICAgICAgIFt2aWRlb0lkXT1cInJlY2lwZS52aWRlb0lkXCJcbiAgICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICAgIFtoZWlnaHRdPVwicGxheWVySGVpZ2h0XCJcbiAgICAgICAgPjwveW91dHViZS1wbGF5ZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX190YWdcIj5Ew6lqw6AgYWpvdXTDqWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2ltZ19fYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uIG1pYW0tbm9QYWRkaW5nXCIgW3JlY2lwZV09J3JlY2lwZScgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiPlxuICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uc19faWNvblwiIFt3aWR0aF09XCIyNlwiIFtoZWlnaHRdPVwiMjZcIiBbaWNvbk5hbWVdPVwiaWNvbi5DYWxlbmRhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLlNoYXJlXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW1nICpuZ0lmPVwicmVjaXBlLmZpbGlncmFuZUxvZ29VcmxcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3Nwb25zb3JcIiBzcmM9XCJ7e3JlY2lwZS5maWxpZ3JhbmVMb2dvVXJsfX1cIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzIG1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NfX3RvdGFsXCI+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjMyXCIgW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxzcGFuPlRlbXBzIHRvdGFsIDoge3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fdGltZXNcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlPy5wcmVwYXJhdGlvblRpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UHLDqXBhcmF0aW9uPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmVwYXJhdGlvblwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnByZXBhcmF0aW9uVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LmNvb2tpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPkN1aXNzb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5Ib3RcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgcmVjaXBlPy5jb29raW5nVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnJlc3RpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPlJlcG9zPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNsYXRlKScgW2ljb25OYW1lXT1cImljb24uV2FpdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnJlc3RpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc19fdG9wXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3R5cGVcIj57e3JlY2lwZT8ucmVjaXBlVHlwZT8uYXR0cmlidXRlcz8ubmFtZSB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdGl0bGVcIj57e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2RpZmZpY3VsdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJyZWNpcGU/LmRpZmZpY3VsdHlMYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUxvd1wiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW95ZW4nXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjU2XCIgW2hlaWdodF09XCIxNlwiIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RpZmZpY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUhpZ2h0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8c3Bhbj57e3JlY2lwZT8uZGlmZmljdWx0eUxhYmVsIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHJlY2lwZT8uYXR0cmlidXRlc1snZGVzY3JpcHRpb24nXSB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19kZXNjcmlwdGlvbl9fYWN0aW9uXCIgKGNsaWNrKT1cInByaW50KClcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiXG4gICAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgW2ljb25OYW1lXT1cImljb24uUHJpbnRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPiA8c3Bhbj4gSW1wcmltZXIgbGEgcmVjZXR0ZSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3ByaWNlX193cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VcIj5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19hY3Rpb24gbS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwiY2xpY2tQcmltYXJ5KClcIj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7KGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpID8gJ1ZvaXIgbGUgZMOpdGFpbCcgOiAnU8OpbGVjdGlvbm5lciBjZSByZXBhcyd9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiKGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpID8gaWNvbi5DaGVja0xpc3QgOiBpY29uLkNhcnRcIj5cbiAgICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19taWRfX2NvbnRhaW5lclwiPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8bmctbWlhbS1hZGRvbi1saW5rICpuZ0lmPVwicmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCB8fCByZWNpcGUuaW5mb3JtYXRpb25hbFNlbnRlbmNlXCJcbiAgICAgIFtyZWNpcGVdPSdyZWNpcGUnIChzaG93QWRkb24pPSd0b2dnbGVBZGRvbigpJz48L25nLW1pYW0tYWRkb24tbGluaz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhaXNNb2JpbGUgZWxzZSBtb2JpbGVDb250YWluZXJcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19pbmdyZWRpZW50c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19oZWFkZXJcIj5cbiAgICAgICAgSW5ncsOpZGllbnRzXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlclwiPlxuICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0cyB8fCByZWNpcGUuZ3Vlc3RzXCIgKGNvdW50ZXJDaGFuZ2UpPVwidXBkYXRlR3Vlc3RzKCRldmVudClcIj5cbiAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyX19wcmludFwiPlBvdXIge3tyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzfX1cbiAgICAgICAgICAgIHBlcnNvbm5lczwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+UXVhbnRpdMOpPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2xpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIiBbbmdDbGFzc109XCJ7J2NoZWNrZWQnOiBpbmdyZWRpZW50c0NoZWNrZWRbaV19XCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaW5ncmVkaWVudCBvZiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHMsIGxldCBpID0gaW5kZXggXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImluZ3JlZGllbnRzUGljdHVyZXNcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19waWN0dXJlXCIgW3NyY109XCJpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50KVwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+IHt7IGluZ3JlZGllbnQubmFtZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPiB7eyBpbmdyZWRpZW50LnF0eSB8IHJlYWRhYmxlRmxvYXROdW1iZXIgOlxuICAgICAgICAgICAgaW5ncmVkaWVudC51bml0IH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19zdGVwc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19oZWFkZXJcIj5cbiAgICAgICAgUHLDqXBhcmF0aW9uXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RfX3BhbmVsXCIgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQWN0aXZlU3RlcChpKVwiIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gYWN0aXZlU3RlcFwiXG4gICAgICAgICAgW2NsYXNzLm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19pZHhcIj48c3Ryb25nPnt7IGkgKyAxIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI21vYmlsZUNvbnRhaW5lciA+XG4gICAgPGRpdiAjbW9iaWxlQ29udGFpbmVyVG9wIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbW9iaWxlX19jb250YWluZXJcIj5cbiAgICAgIDxkaXYgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbW9iaWxlX19oZWFkZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm0tYnV0dG9uLXNlY29uZGFyeVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6IHNob3dJbmdyZWRpZW50fVwiIChjbGljayk9XCJ0b2dnbGVTaG93SW5ncmVkaWVudCh0cnVlKTsgbW9iaWxlQ29udGFpbmVyVG9wLnNjcm9sbEludG9WaWV3KClcIj5JbmdyZWRpZW50czwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogIXNob3dJbmdyZWRpZW50fVwiIChjbGljayk9XCJ0b2dnbGVTaG93SW5ncmVkaWVudChmYWxzZSk7IG1vYmlsZUNvbnRhaW5lclRvcC5zY3JvbGxJbnRvVmlldygpXCI+UHLDqXBhcmF0aW9uPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwic2hvd0luZ3JlZGllbnQgZWxzZSBzdGVwc0NvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCIgKGNvdW50ZXJDaGFuZ2UpPVwidXBkYXRlR3Vlc3RzKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPC9uZy1taWFtLWNvdW50ZXItaW5wdXQ+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgICAgIHBlcnNvbm5lczwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19saXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaW5ncmVkaWVudCBvZiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHMsIGxldCBpID0gaW5kZXggXCI+XG4gICAgICAgICAgICAgIDxkaXY+IHt7IGluZ3JlZGllbnQubmFtZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj4ge3sgaW5ncmVkaWVudC5xdHkgfCByZWFkYWJsZUZsb2F0TnVtYmVyIDpcbiAgICAgICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RlcHNDb250YWluZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0X19wYW5lbFwiICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUFjdGl2ZVN0ZXAoaSlcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5taWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fZG9uZV09XCJpIDwgYWN0aXZlU3RlcFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9faWR4XCI+PHN0cm9uZz57eyBpICsgMSB9fTwvc3Ryb25nPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fdGV4dFwiPnt7c3RlcD8uYXR0cmlidXRlcz8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fY2hlY2tJY29uXCIgKm5nSWY9XCJpIDw9IGFjdGl2ZVN0ZXBcIiBbaGVpZ2h0XT0nMTYnIFt3aWR0aF09JzE2J1xuICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT0naWNvbi5DaGVja0NpcmNsZUZpbGwnIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2FjdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VfX3dyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VcIj5cbiAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIj48L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19hY3Rpb24gbS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwiY2xpY2tQcmltYXJ5KClcIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyAnVm9pciBsZSBkw6l0YWlsJyA6ICdTw6lsZWN0aW9ubmVyIGNlIHJlcGFzJ319XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPScjZmZmJ1xuICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCAgOmljb24uQ2FydFwiPlxuICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNhZGRvbj5cbiAgPG5nLW1pYW0tcmVjaXBlLWFkZG9uIFtyZWNpcGVdPSdyZWNpcGUnIChoaWRlQWRkb24pPVwidG9nZ2xlQWRkb24oKVwiPjwvbmctbWlhbS1yZWNpcGUtYWRkb24+XG48L25nLXRlbXBsYXRlPiJdfQ==
828
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjNDLDBCQUNBOzs7SUFEd0IsNEdBQXVDOzs7SUFDL0QsMEJBQTZFOzs7SUFDN0UscUNBS2tCOzs7SUFIaEIsK0NBQTBCLDZCQUFBLCtCQUFBOzs7SUFLNUIsK0JBQzRDO0lBQUEsMkNBQVk7SUFBQSxpQkFB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QUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxVQUFnQztRQUNoRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQztJQUM1RSxDQUFDOzs0RkExS1Usc0JBQXNCOzJEQUF0QixzQkFBc0I7Ozs7Ozs7O1FDN0JuQyx5RUFDRTtRQXVORix3SEFDRTs7O1FBek5HLHFDQUE2QixpQkFBQTs7a0RENkJyQixzQkFBc0I7Y0FQbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSxpQ0FBaUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OFBBRVUsTUFBTTtrQkFBZCxLQUFLO1lBQ0csMkJBQTJCO2tCQUFuQyxLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFHdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7WUFDQSxhQUFhO2tCQUF4QyxTQUFTO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVFdmVudHNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vX3V0aWxzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IFNpbXBsaWZpZWRJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdDaGVja2VkIHtcbiAgQElucHV0KCkgcmVjaXBlOiBSZWNpcGU7XG4gIEBJbnB1dCgpIGZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc3BsYXlUYWdzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc3BsYXlUYWdzSWNvbnMgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJlY2lwZUFkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVFcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcmltYXJ5QnV0dG9uQ2xpY2tlZCQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgndG9wQ29udGFpbmVySW1nJykgdG9wQ29udGFpbmVySW1nOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtYWluQ29udGFpbmVyJykgbWFpbkNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBpc01vYmlsZSA9IGZhbHNlO1xuICB0YWIgPSAwO1xuICBzaG93RGV0YWlsID0gdHJ1ZTtcbiAgc3RlcHM6IGFueVtdID0gW107XG4gIGFjdGl2ZVN0ZXAgPSAwO1xuICBpY29uID0gSWNvbjtcbiAgaW5ncmVkaWVudHNDaGVja2VkID0ge307XG4gIHNob3dJbmdyZWRpZW50ID0gdHJ1ZTtcbiAgY2xvc2VJY29uaGlkZGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHBsYXllcldpZHRoO1xuICBwbGF5ZXJIZWlnaHQ7XG4gIHNob3dWaWRlbztcbiAgc2Nyb2xsTGlzdGVuZXJJbml0aWFsaXNlZCA9IGZhbHNlO1xuICBhZGRCdXR0b25Mb2FkaW5nID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG1lZGlhTWF0Y2hlcjogTWVkaWFNYXRjaGVyLFxuICAgIHB1YmxpYyBncm9jZXJpZXNMaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5pc01vYmlsZSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjNweCknKS5tYXRjaGVzO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgLy8gaWYgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlLCB1c2UgaXNNb2JpbGUgdG8gdG9nZ2xlIGluZ3JlZGllbnRzICYgc3RlcHMgaW4gbW9iaWxlIG1vZGUsIGVsc2VcbiAgICAvLyBVc2UgdGhlIHZhbHVlIG9mIGZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZSB0byBmb3JjZSBpdCB0byBtb2JpbGUgKHRydWUpIG9yIGRlc2t0b3AgKGZhbHNlKVxuICAgIGlmICh0aGlzLmZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5mb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGU7XG4gICAgfVxuICAgIHRoaXMuc2hvd1ZpZGVvID0gZmFsc2U7IC8vIGZvcmNlIHJlbG9hZCB2aWRlbyBwbGF5ZXJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zaG93VmlkZW8gPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnZpZGVvUmVjaXBlc0VuYWJsZWQgJiYgdGhpcy5yZWNpcGU/LnZpZGVvSWQ7XG4gICAgaWYgKHRoaXMucmVjaXBlKSB7XG4gICAgICB0aGlzLnN0ZXBzID0gdGhpcy5yZWNpcGUuc3RlcHM7XG4gICAgICB0aGlzLmFjdGl2ZVN0ZXAgPSAwO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnBsYXllcldpZHRoID0gTWF0aC5taW4oNjQwLCB0aGlzLnRvcENvbnRhaW5lckltZz8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0V2lkdGgpO1xuICAgIHRoaXMucGxheWVySGVpZ2h0ID0gdGhpcy5wbGF5ZXJXaWR0aCAqIDM5MCAvIDY0MDtcbiAgICBpZiAoIXRoaXMuc2Nyb2xsTGlzdGVuZXJJbml0aWFsaXNlZCkge1xuICAgICAgdGhpcy5pbml0U2Nyb2xsTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5pdCB0aGUgbGlzdGVuZXIgb24gc2Nyb2xsIHNvIHRoZSBtb2RhbCBjYW4gaGlkZSB0aGUgY2xvc2UgaWNvblxuICAgKi9cbiAgaW5pdFNjcm9sbExpc3RlbmVyKCkge1xuICAgIGlmICh0aGlzLm1haW5Db250YWluZXIpIHtcbiAgICAgIGNvbnN0IGludGVyc2VjdGlvbk9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChbZW50cnldKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm1haW5Db250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPiAzMDAgIT09IHRoaXMuY2xvc2VJY29uaGlkZGVuLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZUljb25oaWRkZW4ubmV4dCh0aGlzLm1haW5Db250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPiAzMDApIDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGhyZXNob2xkOiBbMCwgMC4zMywgMC42NiwgMV0sXG4gICAgICAgIHJvb3Q6IHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG4gICAgICB9KTtcbiAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUodGhpcy50b3BDb250YWluZXJJbWcubmF0aXZlRWxlbWVudCk7XG4gICAgICB0aGlzLnNjcm9sbExpc3RlbmVySW5pdGlhbGlzZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUFjdGl2ZVN0ZXAoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuYWN0aXZlU3RlcCA9IGluZGV4O1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGNsaWNrUHJpbWFyeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWRkQnV0dG9uTG9hZGluZykge1xuICAgICAgY29uc3Qgd2FzQWRkZWQgPSAhdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKTtcbiAgICAgIHRoaXMuYWRkUmVjaXBlKCk7XG4gICAgICB0aGlzLnByaW1hcnlCdXR0b25DbGlja2VkJC5lbWl0KHdhc0FkZGVkKTtcbiAgICB9XG4gIH1cblxuICBhZGRSZWNpcGUoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVCdXR0b25Mb2FkZXIodHJ1ZSk7XG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy51c2VyU2VydmljZS5pc0xvZ2dlZCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKSxcbiAgICAgIHRoaXMucG9zU2VydmljZS5pc1Bvc1ZhbGlkKCkucGlwZSh0YWtlKDEpKVxuICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgY29uc3QgaXNIb29rT2sgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvb2tDYWxsYmFjayhyZXNbMF0sIHJlc1sxXSk7XG4gICAgICBpZiAoaXNIb29rT2spIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25PSygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25LTygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uT0soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JC52YWx1ZS5oYXNSZWNpcGUodGhpcy5yZWNpcGUuaWQpKXtcbiAgICAgIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5zZW5kRXZlbnQodGhpcy5yZWNpcGUsIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5BQ1RJT05fQURERUQpO1xuICAgIH1cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmFwcGVuZFJlY2lwZVRvTGlzdCh0aGlzLnJlY2lwZS5pZCwgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMpXG4gICAgICAuc3Vic2NyaWJlKGwgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbkxvYWRlcihmYWxzZSk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5yZWNpcGVBZGRlZC5lbWl0KCk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25LTygpOiB2b2lkIHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS9jYWNoZWQtcmVjaXBlJywgSlNPTi5zdHJpbmdpZnkodGhpcy5yZWNpcGUpKTtcbiAgICB0aGlzLnJlY2lwZUVycm9yLmVtaXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUd1ZXN0cyhndWVzdHMpIHtcbiAgICB0aGlzLnJlY2lwZS5tb2RpZmllZEd1ZXN0cyA9IGd1ZXN0cztcbiAgICB0aGlzLnJlY2lwZUNoYW5nZWQuZW1pdCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaW50KCkge1xuICAgIHdpbmRvdy5wcmludCgpO1xuICB9XG5cbiAgb3BlbkNhbGVuZGFyKGV2ZW50OiBFdmVudCkge1xuICAgIHN0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAvLyBUT0RPIGltcGxlbWVudFxuICB9XG5cbiAgc2hhcmVSZWNpcGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICB0b2dnbGVBZGRvbigpe1xuICAgIHRoaXMuc2hvd0RldGFpbCA9ICAhdGhpcy5zaG93RGV0YWlsO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZVNob3dJbmdyZWRpZW50KGlzU2hvd2VkOiBib29sZWFuKXtcbiAgICB0aGlzLnNob3dJbmdyZWRpZW50ID0gaXNTaG93ZWQ7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlQnV0dG9uTG9hZGVyKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hZGRCdXR0b25Mb2FkaW5nID0gdmFsdWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cblxuICBpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50OiBTaW1wbGlmaWVkSW5ncmVkaWVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGluZ3JlZGllbnQucGljdHVyZSB8fCB0aGlzLmNvbnRleHRTZXJ2aWNlLmRlZmF1bHRJbmdyZWRpZW50UGljdHVyZTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgZWxzZSBhZGRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc1wiICNtYWluQ29udGFpbmVyID5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fbGVmdFwiPlxuICAgICAgPGRpdiAjdG9wQ29udGFpbmVySW1nIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2ltZ1wiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiIXNob3dWaWRlb1wiIFtzcmNdPVwicmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dWaWRlb1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICAgKm5nSWY9XCJzaG93VmlkZW8gJiYgcGxheWVyV2lkdGhcIlxuICAgICAgICAgIFt2aWRlb0lkXT1cInJlY2lwZS52aWRlb0lkXCJcbiAgICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICAgIFtoZWlnaHRdPVwicGxheWVySGVpZ2h0XCJcbiAgICAgICAgPjwveW91dHViZS1wbGF5ZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX190YWdcIj5Ew6lqw6AgYWpvdXTDqWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2ltZ19fYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uIG1pYW0tbm9QYWRkaW5nXCIgW3JlY2lwZV09J3JlY2lwZScgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiPlxuICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uc19faWNvblwiIFt3aWR0aF09XCIyNlwiIFtoZWlnaHRdPVwiMjZcIiBbaWNvbk5hbWVdPVwiaWNvbi5DYWxlbmRhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLlNoYXJlXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW1nICpuZ0lmPVwicmVjaXBlLmZpbGlncmFuZUxvZ29VcmxcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3Nwb25zb3JcIiBzcmM9XCJ7e3JlY2lwZS5maWxpZ3JhbmVMb2dvVXJsfX1cIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzIG1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NfX3RvdGFsXCI+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjMyXCIgW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxzcGFuPlRlbXBzIHRvdGFsIDoge3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fdGltZXNcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlPy5wcmVwYXJhdGlvblRpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UHLDqXBhcmF0aW9uPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmVwYXJhdGlvblwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnByZXBhcmF0aW9uVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LmNvb2tpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPkN1aXNzb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5Ib3RcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgcmVjaXBlPy5jb29raW5nVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnJlc3RpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPlJlcG9zPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNsYXRlKScgW2ljb25OYW1lXT1cImljb24uV2FpdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnJlc3RpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc19fdG9wXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3R5cGVcIj57e3JlY2lwZT8ucmVjaXBlVHlwZT8uYXR0cmlidXRlcz8ubmFtZSB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdGl0bGVcIj57e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2RpZmZpY3VsdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJyZWNpcGU/LmRpZmZpY3VsdHlMYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUxvd1wiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW95ZW4nXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjU2XCIgW2hlaWdodF09XCIxNlwiIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RpZmZpY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUhpZ2h0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8c3Bhbj57e3JlY2lwZT8uZGlmZmljdWx0eUxhYmVsIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHJlY2lwZT8uYXR0cmlidXRlc1snZGVzY3JpcHRpb24nXSB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19kZXNjcmlwdGlvbl9fYWN0aW9uXCIgKGNsaWNrKT1cInByaW50KClcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiXG4gICAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgW2ljb25OYW1lXT1cImljb24uUHJpbnRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPiA8c3Bhbj4gSW1wcmltZXIgbGEgcmVjZXR0ZSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3ByaWNlX193cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VcIj5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19hY3Rpb24gbS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwiY2xpY2tQcmltYXJ5KClcIj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7KGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpID8gJ1ZvaXIgbGUgZMOpdGFpbCcgOiAnU8OpbGVjdGlvbm5lciBjZSByZXBhcyd9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uICpuZ0lmPVwiIWFkZEJ1dHRvbkxvYWRpbmcgZWxzZSBhZGRMb2FkZXJcIiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPScjZmZmJ1xuICAgICAgICAgICAgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0IDogaWNvbi5DYXJ0XCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNhZGRMb2FkZXI+XG4gICAgICAgICAgICA8bmctbWlhbS1sb2FkZXI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21pZF9fY29udGFpbmVyXCI+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZGlzcGxheVRhZ3NcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RhZ3NfX2NvbnRhaW5lclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHRhZyBvZiByZWNpcGUucmVsYXRpb25zaGlwcy50YWdzLmRhdGFcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RhZ1wiPlxuICAgICAgPGltZyAqbmdJZj1cImRpc3BsYXlUYWdzSWNvbnNcIiBbc3JjXT1cInRhZy5hdHRyaWJ1dGVzLmljb25cIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RhZ19faWNvblwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190YWdfX25hbWVcIj5cbiAgICAgICAge3t0YWcubmFtZX19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxuZy1taWFtLWFkZG9uLWxpbmsgKm5nSWY9XCJyZWNpcGU/LnNwb25zb3JzPy5sZW5ndGggPiAwIHx8IHJlY2lwZS5pbmZvcm1hdGlvbmFsU2VudGVuY2VcIlxuICAgICAgW3JlY2lwZV09J3JlY2lwZScgKHNob3dBZGRvbik9J3RvZ2dsZUFkZG9uKCknPjwvbmctbWlhbS1hZGRvbi1saW5rPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIG1vYmlsZUNvbnRhaW5lclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2luZ3JlZGllbnRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBJbmdyw6lkaWVudHNcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyXCI+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzIHx8IHJlY2lwZS5ndWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5ncmVkaWVudHNQaWN0dXJlc1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3BpY3R1cmVcIiBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKGluZ3JlZGllbnQpXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+IHt7IGluZ3JlZGllbnQucXR5IHwgcmVhZGFibGVGbG9hdE51bWJlciA6XG4gICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX3N0ZXBzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBQcsOpcGFyYXRpb25cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdF9fcGFuZWxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBY3RpdmVTdGVwKGkpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCJcbiAgICAgICAgICBbY2xhc3MubWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2RvbmVdPVwiaSA8IGFjdGl2ZVN0ZXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2lkeFwiPjxzdHJvbmc+e3sgaSArIDEgfX08L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX3RleHRcIj57e3N0ZXA/LmF0dHJpYnV0ZXM/LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2NoZWNrSWNvblwiICpuZ0lmPVwiaSA8PSBhY3RpdmVTdGVwXCIgW2hlaWdodF09JzE2JyBbd2lkdGhdPScxNidcbiAgICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uQ2hlY2tDaXJjbGVGaWxsJyBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSlcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbW9iaWxlQ29udGFpbmVyID5cbiAgICA8ZGl2ICNtb2JpbGVDb250YWluZXJUb3AgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2NvbnRhaW5lclwiPlxuICAgICAgPGRpdiAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2hlYWRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KHRydWUpOyBtb2JpbGVDb250YWluZXJUb3Auc2Nyb2xsSW50b1ZpZXcoKVwiPkluZ3JlZGllbnRzPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZScgOiAhc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KGZhbHNlKTsgbW9iaWxlQ29udGFpbmVyVG9wLnNjcm9sbEludG9WaWV3KClcIj5QcsOpcGFyYXRpb248L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJzaG93SW5ncmVkaWVudCBlbHNlIHN0ZXBzQ29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlclwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0IFtjb3VudGVyXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlcl9fcHJpbnRcIj5Qb3VyIHt7cmVjaXBlPy5tb2RpZmllZEd1ZXN0c319XG4gICAgICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPlF1YW50aXTDqTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2xpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCIgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaW5ncmVkaWVudHNDaGVja2VkW2ldfVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPiB7eyBpbmdyZWRpZW50LnF0eSB8IHJlYWRhYmxlRmxvYXROdW1iZXIgOlxuICAgICAgICAgICAgICAgIGluZ3JlZGllbnQudW5pdCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGVwc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RfX3BhbmVsXCIgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQWN0aXZlU3RlcChpKVwiIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gYWN0aXZlU3RlcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19pZHhcIj48c3Ryb25nPnt7IGkgKyAxIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9fYWN0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZV9fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJjbGlja1ByaW1hcnkoKVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyhncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/ICdWb2lyIGxlIGTDqXRhaWwnIDogJ1PDqWxlY3Rpb25uZXIgY2UgcmVwYXMnfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctbWlhbS1pY29uICpuZ0lmPVwiIWFkZEJ1dHRvbkxvYWRpbmcgZWxzZSBhZGRMb2FkZXJcIiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPScjZmZmJ1xuICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCAgOmljb24uQ2FydFwiPlxuICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNhZGRMb2FkZXI+XG4gICAgICAgICAgPG5nLW1pYW0tbG9hZGVyPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjYWRkb24+XG4gIDxuZy1taWFtLXJlY2lwZS1hZGRvbiBbcmVjaXBlXT0ncmVjaXBlJyAoaGlkZUFkZG9uKT1cInRvZ2dsZUFkZG9uKClcIj48L25nLW1pYW0tcmVjaXBlLWFkZG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=