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
@@ -19,67 +19,67 @@ import * as i7 from "../../../_components/recipe-pricing/recipe-pricing.componen
19
19
  import * as i8 from "../basket-preview-disabled/basket-preview-disabled.component";
20
20
  import * as i9 from "../../loader/loader.component";
21
21
  import * as i10 from "../../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
22
- function BasketPreviewLineComponent_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
23
- const _r15 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementStart(0, "div", 24);
25
- i0.ɵɵlistener("click", function BasketPreviewLineComponent_ng_container_1_div_3_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.removeLine($event); });
26
- i0.ɵɵelement(1, "ng-miam-icon", 25);
22
+ function BasketPreviewLineComponent_div_3_Template(rf, ctx) { if (rf & 1) {
23
+ const _r14 = i0.ɵɵgetCurrentView();
24
+ i0.ɵɵelementStart(0, "div", 23);
25
+ i0.ɵɵlistener("click", function BasketPreviewLineComponent_div_3_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.removeLine($event); });
26
+ i0.ɵɵelement(1, "ng-miam-icon", 24);
27
27
  i0.ɵɵelementEnd();
28
28
  } if (rf & 2) {
29
- const ctx_r2 = i0.ɵɵnextContext(2);
29
+ const ctx_r0 = i0.ɵɵnextContext();
30
30
  i0.ɵɵadvance(1);
31
- i0.ɵɵproperty("iconName", ctx_r2.icon.Trash);
31
+ i0.ɵɵproperty("iconName", ctx_r0.icon.Trash);
32
32
  } }
33
- function BasketPreviewLineComponent_ng_container_1_div_11_Template(rf, ctx) { if (rf & 1) {
33
+ function BasketPreviewLineComponent_div_11_Template(rf, ctx) { if (rf & 1) {
34
34
  i0.ɵɵelementStart(0, "div");
35
35
  i0.ɵɵtext(1);
36
36
  i0.ɵɵelementEnd();
37
37
  } if (rf & 2) {
38
- const item_r16 = ctx.$implicit;
38
+ const item_r15 = ctx.$implicit;
39
39
  i0.ɵɵadvance(1);
40
- i0.ɵɵtextInterpolate(item_r16);
40
+ i0.ɵɵtextInterpolate(item_r15);
41
41
  } }
42
- function BasketPreviewLineComponent_ng_container_1_div_13_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelementStart(0, "div", 26);
42
+ function BasketPreviewLineComponent_div_13_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵelementStart(0, "div", 25);
44
44
  i0.ɵɵtext(1);
45
45
  i0.ɵɵelementEnd();
46
46
  } if (rf & 2) {
47
- const ctx_r4 = i0.ɵɵnextContext(2);
47
+ const ctx_r2 = i0.ɵɵnextContext();
48
48
  i0.ɵɵadvance(1);
49
- i0.ɵɵtextInterpolate1(" ", ctx_r4.expanded ? "Masquer" : "Voir", " le d\u00E9tail ");
49
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.expanded ? "Masquer" : "Voir", " le d\u00E9tail ");
50
50
  } }
51
- function BasketPreviewLineComponent_ng_container_1_div_14_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementStart(0, "div", 26);
51
+ function BasketPreviewLineComponent_div_14_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "div", 25);
53
53
  i0.ɵɵtext(1, " Voir la recette ");
54
54
  i0.ɵɵelementEnd();
55
55
  } }
56
56
  const _c0 = function (a0) { return { "disable": a0 }; };
57
- function BasketPreviewLineComponent_ng_container_1_div_15_Template(rf, ctx) { if (rf & 1) {
58
- const _r18 = i0.ɵɵgetCurrentView();
59
- i0.ɵɵelementStart(0, "div", 27);
60
- i0.ɵɵelementStart(1, "a", 28);
61
- i0.ɵɵlistener("click", function BasketPreviewLineComponent_ng_container_1_div_15_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.changeProduct(ctx_r17.line); });
57
+ function BasketPreviewLineComponent_div_15_Template(rf, ctx) { if (rf & 1) {
58
+ const _r17 = i0.ɵɵgetCurrentView();
59
+ i0.ɵɵelementStart(0, "div", 26);
60
+ i0.ɵɵelementStart(1, "a", 27);
61
+ i0.ɵɵlistener("click", function BasketPreviewLineComponent_div_15_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.changeProduct(ctx_r16.line); });
62
62
  i0.ɵɵtext(2, "Changer d'article");
63
63
  i0.ɵɵelementEnd();
64
64
  i0.ɵɵelementEnd();
65
65
  } if (rf & 2) {
66
- const ctx_r6 = i0.ɵɵnextContext(2);
66
+ const ctx_r4 = i0.ɵɵnextContext();
67
67
  i0.ɵɵadvance(1);
68
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, ctx_r6.disableItemSelector));
68
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, ctx_r4.disableItemSelector));
69
69
  } }
70
- function BasketPreviewLineComponent_ng_container_1_div_16_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "div", 29);
72
- i0.ɵɵelementStart(1, "span", 30);
70
+ function BasketPreviewLineComponent_div_16_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "div", 28);
72
+ i0.ɵɵelementStart(1, "span", 29);
73
73
  i0.ɵɵtext(2);
74
74
  i0.ɵɵelementEnd();
75
75
  i0.ɵɵelementEnd();
76
76
  } if (rf & 2) {
77
- const ctx_r7 = i0.ɵɵnextContext(2);
77
+ const ctx_r5 = i0.ɵɵnextContext();
78
78
  i0.ɵɵadvance(2);
79
- i0.ɵɵtextInterpolate(ctx_r7.line.inlineTag);
79
+ i0.ɵɵtextInterpolate(ctx_r5.line.inlineTag);
80
80
  } }
81
- function BasketPreviewLineComponent_ng_container_1_div_18_Template(rf, ctx) { if (rf & 1) {
82
- i0.ɵɵelementStart(0, "div", 31);
81
+ function BasketPreviewLineComponent_div_18_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelementStart(0, "div", 30);
83
83
  i0.ɵɵelementStart(1, "span");
84
84
  i0.ɵɵtext(2);
85
85
  i0.ɵɵelementEnd();
@@ -91,189 +91,117 @@ function BasketPreviewLineComponent_ng_container_1_div_18_Template(rf, ctx) { if
91
91
  i0.ɵɵelementEnd();
92
92
  i0.ɵɵelementEnd();
93
93
  } if (rf & 2) {
94
- const ctx_r8 = i0.ɵɵnextContext(2);
94
+ const ctx_r6 = i0.ɵɵnextContext();
95
95
  i0.ɵɵadvance(2);
96
- i0.ɵɵtextInterpolate1("", ctx_r8.priceIntegerPart(), ",");
96
+ i0.ɵɵtextInterpolate1("", ctx_r6.priceIntegerPart(), ",");
97
97
  i0.ɵɵadvance(2);
98
- i0.ɵɵtextInterpolate(ctx_r8.priceDecimalPart());
98
+ i0.ɵɵtextInterpolate(ctx_r6.priceDecimalPart());
99
99
  } }
100
- function BasketPreviewLineComponent_ng_container_1_ng_template_19_Template(rf, ctx) { if (rf & 1) {
101
- i0.ɵɵelement(0, "ng-miam-recipe-pricing", 32);
100
+ function BasketPreviewLineComponent_ng_template_19_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelement(0, "ng-miam-recipe-pricing", 31);
102
102
  i0.ɵɵpipe(1, "async");
103
103
  } if (rf & 2) {
104
- const ctx_r10 = i0.ɵɵnextContext(2);
105
- i0.ɵɵproperty("recipe", i0.ɵɵpipeBind1(1, 2, ctx_r10.recipesService.get(ctx_r10.line.id)))("serves", ctx_r10.line.count);
104
+ const ctx_r8 = i0.ɵɵnextContext();
105
+ i0.ɵɵproperty("recipe", i0.ɵɵpipeBind1(1, 2, ctx_r8.recipesService.get(ctx_r8.line.id)))("serves", ctx_r8.line.count);
106
106
  } }
107
- function BasketPreviewLineComponent_ng_container_1_div_22_Template(rf, ctx) { if (rf & 1) {
108
- i0.ɵɵelementStart(0, "div", 33);
107
+ function BasketPreviewLineComponent_div_22_Template(rf, ctx) { if (rf & 1) {
108
+ i0.ɵɵelementStart(0, "div", 32);
109
109
  i0.ɵɵtext(1, "pour");
110
110
  i0.ɵɵelementEnd();
111
111
  } }
112
- function BasketPreviewLineComponent_ng_container_1_div_24_Template(rf, ctx) { if (rf & 1) {
113
- i0.ɵɵelementStart(0, "div", 34);
112
+ function BasketPreviewLineComponent_div_24_Template(rf, ctx) { if (rf & 1) {
113
+ i0.ɵɵelementStart(0, "div", 33);
114
114
  i0.ɵɵtext(1);
115
115
  i0.ɵɵelementEnd();
116
116
  } if (rf & 2) {
117
- const ctx_r12 = i0.ɵɵnextContext(2);
117
+ const ctx_r10 = i0.ɵɵnextContext();
118
118
  i0.ɵɵadvance(1);
119
- i0.ɵɵtextInterpolate1("personne", ctx_r12.line.count > 1 ? "s" : "", "");
119
+ i0.ɵɵtextInterpolate1("personne", ctx_r10.line.count > 1 ? "s" : "", "");
120
120
  } }
121
- function BasketPreviewLineComponent_ng_container_1_div_25_Template(rf, ctx) { if (rf & 1) {
122
- const _r20 = i0.ɵɵgetCurrentView();
123
- i0.ɵɵelementStart(0, "div", 35);
124
- i0.ɵɵelementStart(1, "button", 36);
125
- i0.ɵɵlistener("click", function BasketPreviewLineComponent_ng_container_1_div_25_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return ctx_r19.toggleRecipeDisplay($event, true); });
126
- i0.ɵɵelement(2, "ng-miam-icon", 37);
121
+ function BasketPreviewLineComponent_div_25_Template(rf, ctx) { if (rf & 1) {
122
+ const _r19 = i0.ɵɵgetCurrentView();
123
+ i0.ɵɵelementStart(0, "div", 34);
124
+ i0.ɵɵelementStart(1, "button", 35);
125
+ i0.ɵɵlistener("click", function BasketPreviewLineComponent_div_25_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.toggleRecipeDisplay($event, true); });
126
+ i0.ɵɵelement(2, "ng-miam-icon", 36);
127
127
  i0.ɵɵelementEnd();
128
128
  i0.ɵɵelementEnd();
129
129
  } if (rf & 2) {
130
- const ctx_r13 = i0.ɵɵnextContext(2);
130
+ const ctx_r11 = i0.ɵɵnextContext();
131
131
  i0.ɵɵadvance(2);
132
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r13.icon.Cart);
132
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r11.icon.Cart);
133
133
  } }
134
- function BasketPreviewLineComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
135
- const _r22 = i0.ɵɵgetCurrentView();
136
- i0.ɵɵelementContainerStart(0);
137
- i0.ɵɵelementStart(1, "div", 3);
138
- i0.ɵɵelementStart(2, "div", 4);
139
- i0.ɵɵtemplate(3, BasketPreviewLineComponent_ng_container_1_div_3_Template, 2, 1, "div", 5);
140
- i0.ɵɵelementStart(4, "div", 6);
141
- i0.ɵɵelementStart(5, "img", 7);
142
- i0.ɵɵlistener("click", function BasketPreviewLineComponent_ng_container_1_Template_img_click_5_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return ctx_r21.toggleRecipeDisplay($event); });
143
- i0.ɵɵelementEnd();
144
- i0.ɵɵelementEnd();
145
- i0.ɵɵelementStart(6, "div", 8);
146
- i0.ɵɵelementStart(7, "strong", 9);
147
- i0.ɵɵlistener("click", function BasketPreviewLineComponent_ng_container_1_Template_strong_click_7_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r23 = i0.ɵɵnextContext(); return ctx_r23.toggleRecipeDisplay($event); });
148
- i0.ɵɵtext(8);
149
- i0.ɵɵpipe(9, "capitalizeFirstLetter");
150
- i0.ɵɵelementEnd();
151
- i0.ɵɵelementStart(10, "div", 10);
152
- i0.ɵɵtemplate(11, BasketPreviewLineComponent_ng_container_1_div_11_Template, 2, 1, "div", 11);
153
- i0.ɵɵelementEnd();
154
- i0.ɵɵelementStart(12, "div", 12);
155
- i0.ɵɵtemplate(13, BasketPreviewLineComponent_ng_container_1_div_13_Template, 2, 1, "div", 13);
156
- i0.ɵɵtemplate(14, BasketPreviewLineComponent_ng_container_1_div_14_Template, 2, 0, "div", 13);
157
- i0.ɵɵtemplate(15, BasketPreviewLineComponent_ng_container_1_div_15_Template, 3, 3, "div", 14);
158
- i0.ɵɵtemplate(16, BasketPreviewLineComponent_ng_container_1_div_16_Template, 3, 1, "div", 15);
159
- i0.ɵɵelementEnd();
134
+ function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_line_1_Template(rf, ctx) { if (rf & 1) {
135
+ const _r29 = i0.ɵɵgetCurrentView();
136
+ i0.ɵɵelementStart(0, "ng-miam-basket-preview-line", 44);
137
+ i0.ɵɵlistener("removed", function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_line_1_Template_ng_miam_basket_preview_line_removed_0_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(3); return ctx_r28.deleteEntry($event.record); })("replaceItem", function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_line_1_Template_ng_miam_basket_preview_line_replaceItem_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(3); return ctx_r30.replaceItem.emit(ctx_r30.line); });
160
138
  i0.ɵɵelementEnd();
161
- i0.ɵɵelementEnd();
162
- i0.ɵɵelementStart(17, "div", 16);
163
- i0.ɵɵtemplate(18, BasketPreviewLineComponent_ng_container_1_div_18_Template, 7, 2, "div", 17);
164
- i0.ɵɵtemplate(19, BasketPreviewLineComponent_ng_container_1_ng_template_19_Template, 2, 4, "ng-template", null, 18, i0.ɵɵtemplateRefExtractor);
165
- i0.ɵɵelementStart(21, "div", 19);
166
- i0.ɵɵtemplate(22, BasketPreviewLineComponent_ng_container_1_div_22_Template, 2, 0, "div", 20);
167
- i0.ɵɵelementStart(23, "ng-miam-counter-input", 21);
168
- i0.ɵɵlistener("counterChange", function BasketPreviewLineComponent_ng_container_1_Template_ng_miam_counter_input_counterChange_23_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(); return ctx_r24.changeCount($event); });
169
- i0.ɵɵelementEnd();
170
- i0.ɵɵtemplate(24, BasketPreviewLineComponent_ng_container_1_div_24_Template, 2, 1, "div", 22);
171
- i0.ɵɵelementEnd();
172
- i0.ɵɵtemplate(25, BasketPreviewLineComponent_ng_container_1_div_25_Template, 3, 3, "div", 23);
173
- i0.ɵɵelementEnd();
174
- i0.ɵɵelementEnd();
175
- i0.ɵɵelementContainerEnd();
176
139
  } if (rf & 2) {
177
- const _r9 = i0.ɵɵreference(20);
178
- const ctx_r0 = i0.ɵɵnextContext();
179
- i0.ɵɵadvance(3);
180
- i0.ɵɵproperty("ngIf", !ctx_r0.uniqueLine && !ctx_r0.line.displayMode);
181
- i0.ɵɵadvance(2);
182
- i0.ɵɵproperty("src", ctx_r0.line.picture, i0.ɵɵsanitizeUrl);
183
- i0.ɵɵadvance(3);
184
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 15, ctx_r0.line.title), " ");
185
- i0.ɵɵadvance(3);
186
- i0.ɵɵproperty("ngForOf", ctx_r0.line.description);
187
- i0.ɵɵadvance(2);
188
- i0.ɵɵproperty("ngIf", ctx_r0.line.hasEntries() && !ctx_r0.uniqueLine);
189
- i0.ɵɵadvance(1);
190
- i0.ɵɵproperty("ngIf", ctx_r0.line.displayMode);
191
- i0.ɵɵadvance(1);
192
- i0.ɵɵproperty("ngIf", !ctx_r0.line.isRecipe && (ctx_r0.line == null ? null : ctx_r0.line.record == null ? null : ctx_r0.line.record.candidateItems == null ? null : ctx_r0.line.record.candidateItems.length) > 0);
193
- i0.ɵɵadvance(1);
194
- i0.ɵɵproperty("ngIf", ctx_r0.line.inlineTag);
195
- i0.ɵɵadvance(2);
196
- i0.ɵɵproperty("ngIf", ctx_r0.displayTotalPricing || !ctx_r0.line.isRecipe)("ngIfElse", _r9);
197
- i0.ɵɵadvance(4);
198
- i0.ɵɵproperty("ngIf", ctx_r0.line.isRecipe);
199
- i0.ɵɵadvance(1);
200
- i0.ɵɵproperty("counter", ctx_r0.line.count)("minRange", ctx_r0.line.isRecipe ? 1 : 0);
201
- i0.ɵɵadvance(1);
202
- i0.ɵɵproperty("ngIf", ctx_r0.line.isRecipe);
203
- i0.ɵɵadvance(1);
204
- i0.ɵɵproperty("ngIf", ctx_r0.line.displayMode);
140
+ const entryLine_r27 = ctx.$implicit;
141
+ const ctx_r23 = i0.ɵɵnextContext(3);
142
+ i0.ɵɵproperty("line", entryLine_r27)("blockStates", ctx_r23.blockStates);
205
143
  } }
206
- function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_line_1_Template(rf, ctx) { if (rf & 1) {
207
- const _r34 = i0.ɵɵgetCurrentView();
208
- i0.ɵɵelementStart(0, "ng-miam-basket-preview-line", 45);
209
- i0.ɵɵlistener("removed", function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_line_1_Template_ng_miam_basket_preview_line_removed_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(3); return ctx_r33.deleteEntry($event.record); })("replaceItem", function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_line_1_Template_ng_miam_basket_preview_line_replaceItem_0_listener() { i0.ɵɵrestoreView(_r34); const ctx_r35 = i0.ɵɵnextContext(3); return ctx_r35.replaceItem.emit(ctx_r35.line); });
210
- i0.ɵɵelementEnd();
144
+ function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_3_Template(rf, ctx) { if (rf & 1) {
145
+ i0.ɵɵelement(0, "ng-miam-basket-preview-disabled", 45);
211
146
  } if (rf & 2) {
212
- const entryLine_r32 = ctx.$implicit;
213
- const ctx_r28 = i0.ɵɵnextContext(3);
214
- i0.ɵɵproperty("line", entryLine_r32)("blockStates", ctx_r28.blockStates);
147
+ const ctx_r24 = i0.ɵɵnextContext(3);
148
+ i0.ɵɵproperty("entries", ctx_r24.line.entries.notFound);
215
149
  } }
216
- function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_3_Template(rf, ctx) { if (rf & 1) {
217
- i0.ɵɵelement(0, "ng-miam-basket-preview-disabled", 46);
218
- } if (rf & 2) {
219
- const ctx_r29 = i0.ɵɵnextContext(3);
220
- i0.ɵɵproperty("entries", ctx_r29.line.entries.notFound);
221
- } }
222
- function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_4_Template(rf, ctx) { if (rf & 1) {
223
- const _r37 = i0.ɵɵgetCurrentView();
224
- i0.ɵɵelementStart(0, "ng-miam-basket-preview-disabled", 47);
225
- i0.ɵɵlistener("entryAdded", function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_4_Template_ng_miam_basket_preview_disabled_entryAdded_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(3); return ctx_r36.addEntry($event); });
150
+ function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_4_Template(rf, ctx) { if (rf & 1) {
151
+ const _r32 = i0.ɵɵgetCurrentView();
152
+ i0.ɵɵelementStart(0, "ng-miam-basket-preview-disabled", 46);
153
+ i0.ɵɵlistener("entryAdded", function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_4_Template_ng_miam_basket_preview_disabled_entryAdded_0_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(3); return ctx_r31.addEntry($event); });
226
154
  i0.ɵɵelementEnd();
227
155
  } if (rf & 2) {
228
- const ctx_r30 = i0.ɵɵnextContext(3);
229
- i0.ɵɵproperty("entries", ctx_r30.line.entries.oftenDeleted);
156
+ const ctx_r25 = i0.ɵɵnextContext(3);
157
+ i0.ɵɵproperty("entries", ctx_r25.line.entries.oftenDeleted);
230
158
  } }
231
- function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_5_Template(rf, ctx) { if (rf & 1) {
232
- const _r39 = i0.ɵɵgetCurrentView();
233
- i0.ɵɵelementStart(0, "ng-miam-basket-preview-disabled", 48);
234
- i0.ɵɵlistener("entryAdded", function BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_5_Template_ng_miam_basket_preview_disabled_entryAdded_0_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(3); return ctx_r38.addEntry($event); });
159
+ function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_5_Template(rf, ctx) { if (rf & 1) {
160
+ const _r34 = i0.ɵɵgetCurrentView();
161
+ i0.ɵɵelementStart(0, "ng-miam-basket-preview-disabled", 47);
162
+ i0.ɵɵlistener("entryAdded", function BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_5_Template_ng_miam_basket_preview_disabled_entryAdded_0_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(3); return ctx_r33.addEntry($event); });
235
163
  i0.ɵɵelementEnd();
236
164
  } if (rf & 2) {
237
- const ctx_r31 = i0.ɵɵnextContext(3);
238
- i0.ɵɵproperty("entries", ctx_r31.line.entries.removed)("reduced", true);
165
+ const ctx_r26 = i0.ɵɵnextContext(3);
166
+ i0.ɵɵproperty("entries", ctx_r26.line.entries.removed)("reduced", true);
239
167
  } }
240
- function BasketPreviewLineComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
168
+ function BasketPreviewLineComponent_div_26_div_1_Template(rf, ctx) { if (rf & 1) {
241
169
  i0.ɵɵelementStart(0, "div");
242
- i0.ɵɵtemplate(1, BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_line_1_Template, 1, 2, "ng-miam-basket-preview-line", 41);
170
+ i0.ɵɵtemplate(1, BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_line_1_Template, 1, 2, "ng-miam-basket-preview-line", 40);
243
171
  i0.ɵɵpipe(2, "async");
244
- i0.ɵɵtemplate(3, BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_3_Template, 1, 1, "ng-miam-basket-preview-disabled", 42);
245
- i0.ɵɵtemplate(4, BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_4_Template, 1, 1, "ng-miam-basket-preview-disabled", 43);
246
- i0.ɵɵtemplate(5, BasketPreviewLineComponent_div_2_div_1_ng_miam_basket_preview_disabled_5_Template, 1, 2, "ng-miam-basket-preview-disabled", 44);
172
+ i0.ɵɵtemplate(3, BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_3_Template, 1, 1, "ng-miam-basket-preview-disabled", 41);
173
+ i0.ɵɵtemplate(4, BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_4_Template, 1, 1, "ng-miam-basket-preview-disabled", 42);
174
+ i0.ɵɵtemplate(5, BasketPreviewLineComponent_div_26_div_1_ng_miam_basket_preview_disabled_5_Template, 1, 2, "ng-miam-basket-preview-disabled", 43);
247
175
  i0.ɵɵelementEnd();
248
176
  } if (rf & 2) {
249
- const ctx_r25 = i0.ɵɵnextContext(2);
177
+ const ctx_r20 = i0.ɵɵnextContext(2);
250
178
  i0.ɵɵadvance(1);
251
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 4, ctx_r25.entriesLines$));
179
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 4, ctx_r20.entriesLines$));
252
180
  i0.ɵɵadvance(2);
253
- i0.ɵɵproperty("ngIf", ctx_r25.line.entries.notFound.length > 0);
181
+ i0.ɵɵproperty("ngIf", ctx_r20.line.entries.notFound.length > 0);
254
182
  i0.ɵɵadvance(1);
255
- i0.ɵɵproperty("ngIf", ctx_r25.line.entries.oftenDeleted.length > 0);
183
+ i0.ɵɵproperty("ngIf", ctx_r20.line.entries.oftenDeleted.length > 0);
256
184
  i0.ɵɵadvance(1);
257
- i0.ɵɵproperty("ngIf", ctx_r25.line.entries.removed.length > 0);
185
+ i0.ɵɵproperty("ngIf", ctx_r20.line.entries.removed.length > 0);
258
186
  } }
259
- function BasketPreviewLineComponent_div_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
260
- i0.ɵɵelementStart(0, "div", 49);
187
+ function BasketPreviewLineComponent_div_26_ng_template_2_Template(rf, ctx) { if (rf & 1) {
188
+ i0.ɵɵelementStart(0, "div", 48);
261
189
  i0.ɵɵelement(1, "ng-miam-loader");
262
190
  i0.ɵɵelementStart(2, "div");
263
191
  i0.ɵɵtext(3, "Calcul des ingr\u00E9dients...");
264
192
  i0.ɵɵelementEnd();
265
193
  i0.ɵɵelementEnd();
266
194
  } }
267
- function BasketPreviewLineComponent_div_2_Template(rf, ctx) { if (rf & 1) {
268
- i0.ɵɵelementStart(0, "div", 38);
269
- i0.ɵɵtemplate(1, BasketPreviewLineComponent_div_2_div_1_Template, 6, 6, "div", 39);
270
- i0.ɵɵtemplate(2, BasketPreviewLineComponent_div_2_ng_template_2_Template, 4, 0, "ng-template", null, 40, i0.ɵɵtemplateRefExtractor);
195
+ function BasketPreviewLineComponent_div_26_Template(rf, ctx) { if (rf & 1) {
196
+ i0.ɵɵelementStart(0, "div", 37);
197
+ i0.ɵɵtemplate(1, BasketPreviewLineComponent_div_26_div_1_Template, 6, 6, "div", 38);
198
+ i0.ɵɵtemplate(2, BasketPreviewLineComponent_div_26_ng_template_2_Template, 4, 0, "ng-template", null, 39, i0.ɵɵtemplateRefExtractor);
271
199
  i0.ɵɵelementEnd();
272
200
  } if (rf & 2) {
273
- const _r26 = i0.ɵɵreference(3);
274
- const ctx_r1 = i0.ɵɵnextContext();
201
+ const _r21 = i0.ɵɵreference(3);
202
+ const ctx_r12 = i0.ɵɵnextContext();
275
203
  i0.ɵɵadvance(1);
276
- i0.ɵɵproperty("ngIf", !ctx_r1.loading)("ngIfElse", _r26);
204
+ i0.ɵɵproperty("ngIf", !ctx_r12.loading)("ngIfElse", _r21);
277
205
  } }
278
206
  const _c1 = function (a0, a1, a2) { return { clickable: a0, expanded: a1, elevate: a2 }; };
279
207
  export class BasketPreviewLineComponent {
@@ -420,7 +348,7 @@ export class BasketPreviewLineComponent {
420
348
  event.stopPropagation();
421
349
  }
422
350
  addRecipeActionOK() {
423
- this.listsService.appendRecipeToList(this.line.id, this.line.count);
351
+ this.subscriptions.push(this.listsService.appendRecipeToList(this.line.id, this.line.count).subscribe());
424
352
  this.recipesService.display(this.line.id, { guests: this.line.count, previewMode: true });
425
353
  }
426
354
  removeLine(event) {
@@ -439,17 +367,79 @@ export class BasketPreviewLineComponent {
439
367
  }
440
368
  }
441
369
  BasketPreviewLineComponent.ɵfac = function BasketPreviewLineComponent_Factory(t) { return new (t || BasketPreviewLineComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i2.GroceriesListsService), i0.ɵɵdirectiveInject(i1.BasketsService), i0.ɵɵdirectiveInject(i3.AnalyticsService), i0.ɵɵdirectiveInject(i1.PointOfSalesService), i0.ɵɵdirectiveInject(i1.UserService), i0.ɵɵdirectiveInject(i1.ContextService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
442
- BasketPreviewLineComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BasketPreviewLineComponent, selectors: [["ng-miam-basket-preview-line"]], inputs: { line: "line", uniqueLine: "uniqueLine", blockStates: "blockStates", displayTotalPricing: "displayTotalPricing" }, outputs: { removed: "removed", countChanged: "countChanged", replaceItem: "replaceItem", showRecipe: "showRecipe" }, decls: 3, vars: 8, consts: [[1, "miam-basket-preview-line", 3, "id", "ngClass", "click"], [4, "ngIf"], ["class", "miam-basket-preview-lines", 4, "ngIf"], [1, "miam-basket-preview-line__item"], [1, "miam-basket-preview-line__item__left"], ["class", "miam-basket-preview-line__item__remove", 3, "click", 4, "ngIf"], [1, "miam-basket-preview-line__item__picture"], [3, "src", "click"], [1, "miam-basket-preview-line__item__details"], [1, "miam-basket-preview-line__item__title", 3, "click"], [1, "miam-basket-preview-line__item__description"], [4, "ngFor", "ngForOf"], [1, "miam-basket-preview-line__item__actions"], ["class", "miam-basket-preview-line__item__showDetails", 4, "ngIf"], ["class", "miam-basket-preview-line__item__change", 4, "ngIf"], ["class", "miam-basket-preview-line__item__inlineTag__container", 4, "ngIf"], [1, "miam-basket-preview-line__item__right"], ["class", "miam-basket-preview-line__item__price", 4, "ngIf", "ngIfElse"], ["pricePerguest", ""], [1, "miam-basket-preview-line__item__count"], ["class", "miam-basket-preview-line__item__count__for", 4, "ngIf"], [3, "counter", "minRange", "counterChange"], ["class", "miam-basket-preview-line__item__count__people", 4, "ngIf"], ["class", "miam-basket-preview-line__add__button", 4, "ngIf"], [1, "miam-basket-preview-line__item__remove", 3, "click"], ["height", "24", "width", "24", "primaryColor", "var(--m-color-grey-text-dark)", 3, "iconName"], [1, "miam-basket-preview-line__item__showDetails"], [1, "miam-basket-preview-line__item__change"], [1, "miam-basket-preview-line__item__change__link", 3, "ngClass", "click"], [1, "miam-basket-preview-line__item__inlineTag__container"], [1, "miam-basket-preview-line__item__inlineTag"], [1, "miam-basket-preview-line__item__price"], [3, "recipe", "serves"], [1, "miam-basket-preview-line__item__count__for"], [1, "miam-basket-preview-line__item__count__people"], [1, "miam-basket-preview-line__add__button"], [1, "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [1, "miam-basket-preview-lines"], [4, "ngIf", "ngIfElse"], ["loader", ""], [3, "line", "blockStates", "removed", "replaceItem", 4, "ngFor", "ngForOf"], ["mode", "unavailable", 3, "entries", 4, "ngIf"], ["mode", "oftenDeleted", 3, "entries", "entryAdded", 4, "ngIf"], ["mode", "removed", 3, "entries", "reduced", "entryAdded", 4, "ngIf"], [3, "line", "blockStates", "removed", "replaceItem"], ["mode", "unavailable", 3, "entries"], ["mode", "oftenDeleted", 3, "entries", "entryAdded"], ["mode", "removed", 3, "entries", "reduced", "entryAdded"], [1, "miam-basket-preview-line__loader-container"]], template: function BasketPreviewLineComponent_Template(rf, ctx) { if (rf & 1) {
370
+ BasketPreviewLineComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BasketPreviewLineComponent, selectors: [["ng-miam-basket-preview-line"]], inputs: { line: "line", uniqueLine: "uniqueLine", blockStates: "blockStates", displayTotalPricing: "displayTotalPricing" }, outputs: { removed: "removed", countChanged: "countChanged", replaceItem: "replaceItem", showRecipe: "showRecipe" }, decls: 27, vars: 24, consts: [[1, "miam-basket-preview-line", 3, "id", "ngClass", "click"], [1, "miam-basket-preview-line__item"], [1, "miam-basket-preview-line__item__left"], ["class", "miam-basket-preview-line__item__remove", 3, "click", 4, "ngIf"], [1, "miam-basket-preview-line__item__picture"], [3, "src", "click"], [1, "miam-basket-preview-line__item__details"], [1, "miam-basket-preview-line__item__title", 3, "click"], [1, "miam-basket-preview-line__item__description"], [4, "ngFor", "ngForOf"], [1, "miam-basket-preview-line__item__actions"], ["class", "miam-basket-preview-line__item__showDetails", 4, "ngIf"], ["class", "miam-basket-preview-line__item__change", 4, "ngIf"], ["class", "miam-basket-preview-line__item__inlineTag__container", 4, "ngIf"], [1, "miam-basket-preview-line__item__right"], ["class", "miam-basket-preview-line__item__price", 4, "ngIf", "ngIfElse"], ["pricePerguest", ""], [1, "miam-basket-preview-line__item__count"], ["class", "miam-basket-preview-line__item__count__for", 4, "ngIf"], [3, "counter", "minRange", "counterChange"], ["class", "miam-basket-preview-line__item__count__people", 4, "ngIf"], ["class", "miam-basket-preview-line__add__button", 4, "ngIf"], ["class", "miam-basket-preview-lines", 4, "ngIf"], [1, "miam-basket-preview-line__item__remove", 3, "click"], ["height", "24", "width", "24", "primaryColor", "var(--m-color-grey-text-dark)", 3, "iconName"], [1, "miam-basket-preview-line__item__showDetails"], [1, "miam-basket-preview-line__item__change"], [1, "miam-basket-preview-line__item__change__link", 3, "ngClass", "click"], [1, "miam-basket-preview-line__item__inlineTag__container"], [1, "miam-basket-preview-line__item__inlineTag"], [1, "miam-basket-preview-line__item__price"], [3, "recipe", "serves"], [1, "miam-basket-preview-line__item__count__for"], [1, "miam-basket-preview-line__item__count__people"], [1, "miam-basket-preview-line__add__button"], [1, "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [1, "miam-basket-preview-lines"], [4, "ngIf", "ngIfElse"], ["loader", ""], [3, "line", "blockStates", "removed", "replaceItem", 4, "ngFor", "ngForOf"], ["mode", "unavailable", 3, "entries", 4, "ngIf"], ["mode", "oftenDeleted", 3, "entries", "entryAdded", 4, "ngIf"], ["mode", "removed", 3, "entries", "reduced", "entryAdded", 4, "ngIf"], [3, "line", "blockStates", "removed", "replaceItem"], ["mode", "unavailable", 3, "entries"], ["mode", "oftenDeleted", 3, "entries", "entryAdded"], ["mode", "removed", 3, "entries", "reduced", "entryAdded"], [1, "miam-basket-preview-line__loader-container"]], template: function BasketPreviewLineComponent_Template(rf, ctx) { if (rf & 1) {
443
371
  i0.ɵɵelementStart(0, "div", 0);
444
372
  i0.ɵɵlistener("click", function BasketPreviewLineComponent_Template_div_click_0_listener($event) { return ctx.line.displayMode ? ctx.toggleRecipeDisplay($event) : ctx.toggleExpanded($event); });
445
- i0.ɵɵtemplate(1, BasketPreviewLineComponent_ng_container_1_Template, 26, 17, "ng-container", 1);
373
+ i0.ɵɵelementStart(1, "div", 1);
374
+ i0.ɵɵelementStart(2, "div", 2);
375
+ i0.ɵɵtemplate(3, BasketPreviewLineComponent_div_3_Template, 2, 1, "div", 3);
376
+ i0.ɵɵelementStart(4, "div", 4);
377
+ i0.ɵɵelementStart(5, "img", 5);
378
+ i0.ɵɵlistener("click", function BasketPreviewLineComponent_Template_img_click_5_listener($event) { return ctx.toggleRecipeDisplay($event); });
379
+ i0.ɵɵelementEnd();
380
+ i0.ɵɵelementEnd();
381
+ i0.ɵɵelementStart(6, "div", 6);
382
+ i0.ɵɵelementStart(7, "strong", 7);
383
+ i0.ɵɵlistener("click", function BasketPreviewLineComponent_Template_strong_click_7_listener($event) { return ctx.toggleRecipeDisplay($event); });
384
+ i0.ɵɵtext(8);
385
+ i0.ɵɵpipe(9, "capitalizeFirstLetter");
386
+ i0.ɵɵelementEnd();
387
+ i0.ɵɵelementStart(10, "div", 8);
388
+ i0.ɵɵtemplate(11, BasketPreviewLineComponent_div_11_Template, 2, 1, "div", 9);
389
+ i0.ɵɵelementEnd();
390
+ i0.ɵɵelementStart(12, "div", 10);
391
+ i0.ɵɵtemplate(13, BasketPreviewLineComponent_div_13_Template, 2, 1, "div", 11);
392
+ i0.ɵɵtemplate(14, BasketPreviewLineComponent_div_14_Template, 2, 0, "div", 11);
393
+ i0.ɵɵtemplate(15, BasketPreviewLineComponent_div_15_Template, 3, 3, "div", 12);
394
+ i0.ɵɵtemplate(16, BasketPreviewLineComponent_div_16_Template, 3, 1, "div", 13);
446
395
  i0.ɵɵelementEnd();
447
- i0.ɵɵtemplate(2, BasketPreviewLineComponent_div_2_Template, 4, 2, "div", 2);
396
+ i0.ɵɵelementEnd();
397
+ i0.ɵɵelementEnd();
398
+ i0.ɵɵelementStart(17, "div", 14);
399
+ i0.ɵɵtemplate(18, BasketPreviewLineComponent_div_18_Template, 7, 2, "div", 15);
400
+ i0.ɵɵtemplate(19, BasketPreviewLineComponent_ng_template_19_Template, 2, 4, "ng-template", null, 16, i0.ɵɵtemplateRefExtractor);
401
+ i0.ɵɵelementStart(21, "div", 17);
402
+ i0.ɵɵtemplate(22, BasketPreviewLineComponent_div_22_Template, 2, 0, "div", 18);
403
+ i0.ɵɵelementStart(23, "ng-miam-counter-input", 19);
404
+ i0.ɵɵlistener("counterChange", function BasketPreviewLineComponent_Template_ng_miam_counter_input_counterChange_23_listener($event) { return ctx.changeCount($event); });
405
+ i0.ɵɵelementEnd();
406
+ i0.ɵɵtemplate(24, BasketPreviewLineComponent_div_24_Template, 2, 1, "div", 20);
407
+ i0.ɵɵelementEnd();
408
+ i0.ɵɵtemplate(25, BasketPreviewLineComponent_div_25_Template, 3, 3, "div", 21);
409
+ i0.ɵɵelementEnd();
410
+ i0.ɵɵelementEnd();
411
+ i0.ɵɵelementEnd();
412
+ i0.ɵɵtemplate(26, BasketPreviewLineComponent_div_26_Template, 4, 2, "div", 22);
448
413
  } if (rf & 2) {
414
+ const _r7 = i0.ɵɵreference(20);
449
415
  i0.ɵɵpropertyInterpolate("id", ctx.line.id);
450
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(4, _c1, ctx.line.hasEntries() || ctx.line.displayMode, ctx.expanded, ctx.selectItem));
416
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(20, _c1, ctx.line.hasEntries() || ctx.line.displayMode, ctx.expanded, ctx.selectItem));
417
+ i0.ɵɵadvance(3);
418
+ i0.ɵɵproperty("ngIf", !ctx.uniqueLine && !ctx.line.displayMode);
419
+ i0.ɵɵadvance(2);
420
+ i0.ɵɵproperty("src", ctx.line.picture, i0.ɵɵsanitizeUrl);
421
+ i0.ɵɵadvance(3);
422
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 18, ctx.line.title), " ");
423
+ i0.ɵɵadvance(3);
424
+ i0.ɵɵproperty("ngForOf", ctx.line.description);
425
+ i0.ɵɵadvance(2);
426
+ i0.ɵɵproperty("ngIf", ctx.line.hasEntries() && !ctx.uniqueLine);
427
+ i0.ɵɵadvance(1);
428
+ i0.ɵɵproperty("ngIf", ctx.line.displayMode);
429
+ i0.ɵɵadvance(1);
430
+ i0.ɵɵproperty("ngIf", !ctx.line.isRecipe && (ctx.line == null ? null : ctx.line.record == null ? null : ctx.line.record.candidateItems == null ? null : ctx.line.record.candidateItems.length) > 0);
431
+ i0.ɵɵadvance(1);
432
+ i0.ɵɵproperty("ngIf", ctx.line.inlineTag);
433
+ i0.ɵɵadvance(2);
434
+ i0.ɵɵproperty("ngIf", ctx.displayTotalPricing || !ctx.line.isRecipe)("ngIfElse", _r7);
435
+ i0.ɵɵadvance(4);
436
+ i0.ɵɵproperty("ngIf", ctx.line.isRecipe);
437
+ i0.ɵɵadvance(1);
438
+ i0.ɵɵproperty("counter", ctx.line.count)("minRange", ctx.line.isRecipe ? 1 : 0);
439
+ i0.ɵɵadvance(1);
440
+ i0.ɵɵproperty("ngIf", ctx.line.isRecipe);
451
441
  i0.ɵɵadvance(1);
452
- i0.ɵɵproperty("ngIf", !ctx.selectItem);
442
+ i0.ɵɵproperty("ngIf", ctx.line.displayMode);
453
443
  i0.ɵɵadvance(1);
454
444
  i0.ɵɵproperty("ngIf", ctx.expanded);
455
445
  } }, directives: [i4.NgClass, i4.NgIf, i4.NgForOf, i5.CounterInputComponent, i6.IconComponent, i7.RecipePricingComponent, BasketPreviewLineComponent, i8.BasketPreviewDisabledComponent, i9.LoaderComponent], pipes: [i10.CapitalizeFirstLetterPipe, i4.AsyncPipe], styles: [":root{--price-color:var(--miam-price-color,green);--tag-color:var(--miam-tag-color,#fcecce)}.miam-basket-preview-line{-webkit-tap-highlight-color:transparent;overflow:hidden;padding-left:10px}.miam-basket-preview-line.clickable{border:1px solid var(--m-color-grey);border-radius:4px;box-shadow:none;cursor:pointer;margin-bottom:6px;transition:var(--m-default-transition)}.miam-basket-preview-line.elevate{position:relative;z-index:var(--m-z-index-modal)}.miam-basket-preview-line.expanded{background:#fff;border-color:var(--m-color-grey);box-shadow:var(--m-shadow-small);margin-bottom:15px;margin-top:10px;position:relative}.miam-basket-preview-line .miam-basket-preview-line__item{display:flex;justify-content:space-between;padding:16px 0}.miam-basket-preview-line .miam-basket-preview-line__item.clickable{cursor:pointer}.miam-basket-preview-line .miam-basket-preview-line__item.clickable.expanded{padding-bottom:0}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left{align-items:center;display:flex;width:100%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove{align-self:center;margin:0 30px 0 15px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove .icon-container{background-color:var(--m-color-grey);border-radius:12.5px;height:25px!important;padding:6px;width:25px!important}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove .icon-container svg{color:var(--m-color-grey-text);cursor:pointer;height:13px;width:13px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture{margin-right:25px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture img{-o-object-fit:cover;border-radius:var(--m-border-radius);height:100px;object-fit:cover;width:130px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details{width:100%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__title{display:inline-block;font-size:var(--m-font-size-medium)}@media (min-width:1022px){.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__title:hover{color:var(--m-color-primary);text-decoration:underline}}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__title:first-letter{text-transform:capitalize}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__description{font-size:var(--m-font-size-small);font-weight:400}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions{display:flex;flex-direction:row}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__showDetails{color:var(--m-color-grey-text);cursor:pointer;margin:2px 30px 0 0;text-decoration:underline;transition:var(--m-default-transition);width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__change .miam-basket-preview-line__item__change__link{color:var(--m-color-grey-text);cursor:pointer;margin:2px 30px 0 0;text-decoration:underline;transition:var(--m-default-transition)}@media (min-width:1022px){.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__change .miam-basket-preview-line__item__change__link:hover{color:var(--m-color-primary)}}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__change .miam-basket-preview-line__item__change__link.disable{color:var(--m-color-grey-text);pointer-events:none}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__inlineTag{background-color:var(--tag-color);border-radius:100px;display:inline-block;font-size:var(--m-font-size-small);height:22px;padding:1px 16px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right{align-items:center;display:flex;justify-content:flex-end;max-width:330px;position:relative;width:100%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__price{color:var(--price-color);font-size:var(--m-font-size-large);font-weight:700;margin:0 20px;white-space:nowrap}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right ng-miam-recipe-pricing{width:100%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count{font-size:var(--m-font-size-small);text-align:center}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count .miam-basket-preview-line__item__count__for,.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count .miam-basket-preview-line__item__count__people{color:var(--m-color-slate);font-weight:700;margin-bottom:2px;padding-left:20px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__add__button{margin:0 20px}@media (min-width:1022px){.miam-basket-preview-line .miam-basket-preview-line__item:hover .miam-basket-preview-line__item__left .miam-basket-preview-line__item__showDetails{color:var(--m-color-primary)}}.miam-basket-preview-lines{border-left:1px solid var(--m-color-grey);margin-bottom:20px;margin-left:20px;overflow:hidden}.miam-basket-preview-lines .miam-basket-preview-line{border-top:1px solid var(--m-color-grey)}.miam-basket-preview-lines .miam-basket-preview-line.expanded{border-top:1px solid var(--m-color-primary)}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item{border-top:none;padding:12px 0 15px}@media (min-width:1022px){.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__title:hover{color:var(--m-color-black);text-decoration:none}}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture,.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove{margin-right:15px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture img{-o-object-fit:cover;border-radius:var(--m-border-radius);height:50px;object-fit:cover;width:50px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right{margin-top:-16px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__price{color:var(--m-color-grey-text);font-size:16px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count ng-miam-counter-input .miam-counter-input__icon{display:none}.miam-basket-preview-lines .miam-basket-preview-line__loader-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:10px}@media (max-width:1022px){.miam-basket-preview-line .miam-basket-preview-line__item{flex-direction:column;height:204px;padding:0 0 52px;position:relative}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left{height:92px}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove{bottom:58px;margin:0;position:absolute;right:18px;z-index:1}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture{height:152px;position:absolute;top:16px;width:33%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture img{height:100%;width:100%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details{padding:8px 0 0 36%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__title{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions{bottom:8px;position:absolute}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__inlineTag{height:auto;padding:1px;text-align:center}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right{align-items:flex-start;flex-direction:column-reverse;justify-content:flex-start;padding-left:38%}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__price{margin:0}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count{margin:16px 0}.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count .miam-basket-preview-line__item__count__for,.miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count .miam-basket-preview-line__item__count__people{display:none}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item{flex-direction:column;height:auto;padding:0;position:relative}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left{height:auto}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__remove{bottom:unset;margin-right:15px;position:relative;right:unset}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture{height:72px;position:relative;top:unset;width:72px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__picture img{-o-object-fit:cover;border-radius:var(--m-border-radius);height:72px;object-fit:cover;width:72px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__details{padding:0}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__actions{bottom:unset;flex-direction:column;gap:8px;position:relative}}@media (max-width:1022px) and (min-width:1023px){.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__inlineTag__container{width:100%}}@media (max-width:1022px){.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__left .miam-basket-preview-line__item__actions .miam-basket-preview-line__item__inlineTag__container .miam-basket-preview-line__item__inlineTag{padding:4px 16px}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right{flex-direction:row;margin:16px 0}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__price{margin:0 16px 0 0}.miam-basket-preview-lines .miam-basket-preview-line .miam-basket-preview-line__item .miam-basket-preview-line__item__right .miam-basket-preview-line__item__count{margin:0}}"], encapsulation: 2, changeDetection: 0 });
@@ -479,4 +469,4 @@ BasketPreviewLineComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BasketPreviewL
479
469
  }], showRecipe: [{
480
470
  type: Output
481
471
  }] }); })();
482
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFFakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNaOUIsK0JBQ0U7SUFEMkYsME5BQTRCO0lBQ3ZILG1DQUF5SDtJQUMzSCxpQkFBTTs7O0lBRFUsZUFBdUI7SUFBdkIsNENBQXVCOzs7SUFVbkMsMkJBQTJDO0lBQUEsWUFBVTtJQUFBLGlCQUFNOzs7SUFBaEIsZUFBVTtJQUFWLDhCQUFVOzs7SUFHckQsK0JBQ0U7SUFBQSxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSxvRkFDRjs7O0lBQ0EsK0JBQ0U7SUFBQSxpQ0FDRjtJQUFBLGlCQUFNOzs7OztJQUNOLCtCQUNFO0lBQUEsNkJBQ3VEO0lBRHBELDROQUE2QjtJQUN1QixpQ0FBaUI7SUFBQSxpQkFBSTtJQUM5RSxpQkFBTTs7O0lBRjZCLGVBQTRDO0lBQTVDLGdGQUE0Qzs7O0lBRy9FLCtCQUNFO0lBQUEsZ0NBQXdEO0lBQUEsWUFBb0I7SUFBQSxpQkFBTztJQUNyRixpQkFBTTs7O0lBRG9ELGVBQW9CO0lBQXBCLDJDQUFvQjs7O0lBTWxGLCtCQUNFO0lBQUEsNEJBQU07SUFBQSxZQUF5QjtJQUFBLGlCQUFPO0lBQ3RDLDRCQUFNO0lBQUEsWUFBd0I7SUFBQSxpQkFBTztJQUNyQyw0QkFBTztJQUFBLHVCQUFDO0lBQUEsaUJBQU87SUFDakIsaUJBQU07OztJQUhFLGVBQXlCO0lBQXpCLHlEQUF5QjtJQUN6QixlQUF3QjtJQUF4QiwrQ0FBd0I7OztJQUk5Qiw2Q0FBc0g7Ozs7SUFBOUYsMEZBQThDLDhCQUFBOzs7SUFHdEUsK0JBQThFO0lBQUEsb0JBQUk7SUFBQSxpQkFBTTs7O0lBR3hGLCtCQUFpRjtJQUFBLFlBQXVDO0lBQUEsaUJBQU07OztJQUE3QyxlQUF1QztJQUF2Qyx3RUFBdUM7Ozs7SUFFMUgsK0JBQ0U7SUFBQSxrQ0FDRTtJQURtQyxvT0FBcUMsSUFBSSxLQUFFO0lBQzlFLG1DQUFtRztJQUNyRyxpQkFBUztJQUNYLGlCQUFNOzs7SUFGWSxlQUFZO0lBQVosMEJBQVksY0FBQSwrQkFBQTs7OztJQWxEcEMsNkJBQ0U7SUFBQSw4QkFDRTtJQUFBLDhCQUNFO0lBQUEsMEZBQ0U7SUFFRiw4QkFDRTtJQUFBLDhCQUNGO0lBRE8sNE5BQXFDO0lBQTFDLGlCQUNGO0lBQUEsaUJBQU07SUFDTiw4QkFDRTtJQUFBLGlDQUNFO0lBRE0sK05BQXFDO0lBQzNDLFlBQ0Y7O0lBQUEsaUJBQVM7SUFDVCxnQ0FDRTtJQUFBLDZGQUEyQztJQUM3QyxpQkFBTTtJQUNOLGdDQUNFO0lBQUEsNkZBQ0U7SUFFRiw2RkFDRTtJQUVGLDZGQUNFO0lBR0YsNkZBQ0U7SUFFSixpQkFBTTtJQUNSLGlCQUFNO0lBQ1IsaUJBQU07SUFDTixnQ0FDRTtJQUFBLDZGQUNFO0lBSUYsOElBQ0U7SUFFRixnQ0FDRTtJQUFBLDZGQUE4RTtJQUM5RSxrREFDd0I7SUFEc0IsdVBBQXFDO0lBQ25GLGlCQUF3QjtJQUN4Qiw2RkFBaUY7SUFDbkYsaUJBQU07SUFDTiw2RkFDRTtJQUlKLGlCQUFNO0lBQ1IsaUJBQU07SUFDUiwwQkFBZTs7OztJQXBESixlQUF3QztJQUF4QyxxRUFBd0M7SUFJQSxlQUFvQjtJQUFwQiwyREFBb0I7SUFJN0QsZUFDRjtJQURFLHlFQUNGO0lBRU8sZUFBcUM7SUFBckMsaURBQXFDO0lBR3JDLGVBQTBDO0lBQTFDLHFFQUEwQztJQUcxQyxlQUF3QjtJQUF4Qiw4Q0FBd0I7SUFHeEIsZUFBa0U7SUFBbEUsa05BQWtFO0lBSWxFLGVBQXNCO0lBQXRCLDRDQUFzQjtJQU8xQixlQUFnRTtJQUFoRSwwRUFBZ0UsaUJBQUE7SUFTOUQsZUFBcUI7SUFBckIsMkNBQXFCO0lBQ0gsZUFBc0I7SUFBdEIsMkNBQXNCLDBDQUFBO0lBRXhDLGVBQXFCO0lBQXJCLDJDQUFxQjtJQUV2QixlQUF3QjtJQUF4Qiw4Q0FBd0I7Ozs7SUFZakMsdURBQzBJO0lBQXhJLG1SQUFzQyxrT0FBZ0Isc0NBQXNCLElBQXRDO0lBQW9FLGlCQUE4Qjs7OztJQUQ3RCxvQ0FBa0Isb0NBQUE7OztJQUUvRixzREFDdUQ7OztJQURtQix1REFBaUM7Ozs7SUFFM0csMkRBQ3dGO0lBQWxFLHVSQUErQjtJQUFDLGlCQUFrQzs7O0lBRFYsMkRBQXFDOzs7O0lBRW5ILDJEQUNvRztJQUFsRSx1UkFBK0I7SUFBQyxpQkFBa0M7OztJQUQzQixzREFBZ0MsaUJBQUE7OztJQVAzRywyQkFDRTtJQUFBLHdJQUM0Rzs7SUFDNUcsZ0pBQ3FCO0lBQ3JCLGdKQUNzRDtJQUN0RCxnSkFDa0U7SUFDcEUsaUJBQU07OztJQVJ5QixlQUErQztJQUEvQyxxRUFBK0M7SUFFM0MsZUFBd0M7SUFBeEMsK0RBQXdDO0lBRXhDLGVBQTRDO0lBQTVDLG1FQUE0QztJQUU1QyxlQUF1QztJQUF2Qyw4REFBdUM7OztJQUl4RSwrQkFDRTtJQUFBLGlDQUFpQztJQUNqQywyQkFBSztJQUFBLDhDQUF5QjtJQUFBLGlCQUFNO0lBQ3RDLGlCQUFNOzs7SUFmViwrQkFDRTtJQUFBLGtGQUNFO0lBU0YsbUlBQ0U7SUFLSixpQkFBTTs7OztJQWhCQyxlQUE0QjtJQUE1QixzQ0FBNEIsa0JBQUE7OztBRG5DbkMsTUFBTSxPQUFPLDBCQUEwQjtJQW1CckMsWUFDUyxHQUFzQixFQUN0QixjQUE4QixFQUM3QixZQUFtQyxFQUNuQyxjQUE4QixFQUM5QixnQkFBa0MsRUFDaEMsVUFBK0IsRUFDL0IsV0FBd0IsRUFDMUIsY0FBOEIsRUFDL0IsVUFBc0I7UUFSdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXhCdEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzFCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3JELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDcEQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBRTFFLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBQy9ELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFSixrQkFBYSxHQUFtQixFQUFFLENBQUM7SUFZdkMsQ0FBQztJQUVMLG1EQUFtRDtJQUNuRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQWlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtZQUM3QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWE7UUFDcEMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsRUFDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQUs7UUFDbEIsSUFDRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVO1lBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLGlCQUFpQjtZQUMxRCxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEtBQUssUUFBUTtZQUNqRCxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUM3QztZQUNBLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQjtRQUM1Qix1Q0FBdUM7UUFDdkMsZ0NBQWdDO1FBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6Qiw4RUFBOEU7UUFDOUUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMzRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQ2pELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDLFNBQVMsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCOztRQUNuQyxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLElBQUksQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzdGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxhQUFhLENBQUMsSUFBd0I7O1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUFFO1FBQzlDLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMzRixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDMUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQzdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87U0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDakMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsT0FBTzthQUNKLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFrQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FDaEIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsRUFDakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUMsU0FBUyxFQUFFLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYSxFQUFFLElBQXVCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9GLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxHQUFHLEtBQUs7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUNELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDO2dCQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksUUFBUSxFQUFFO29CQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2lCQUMxQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztTQUN0RTtRQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCOztRQUNkLE1BQU0sTUFBTSxTQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSywwQ0FBRSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDOUMsQ0FBQztJQUVELGdCQUFnQjs7UUFDZCxNQUFNLE1BQU0sU0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssMENBQUUsUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxPQUFPLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sTUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7O29HQWpNVSwwQkFBMEI7K0RBQTFCLDBCQUEwQjtRQzlCdkMsOEJBTUU7UUFGQSxpSUFBNEIsK0JBQTJCLEdBQUcsMEJBQXNCLElBQUM7UUFFakYsK0ZBQ0U7UUF1REosaUJBQU07UUFFTiwyRUFDRTs7UUFoRUEsMkNBQWdCO1FBRWhCLGlJQUF3RztRQUcxRixlQUFtQjtRQUFuQixzQ0FBbUI7UUEwREksZUFBZ0I7UUFBaEIsbUNBQWdCOzhIRGxDMUMsMEJBQTBCO2tEQUExQiwwQkFBMEI7Y0FQdEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFdBQVcsRUFBRSxzQ0FBc0M7Z0JBQ25ELFNBQVMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO2dCQUNuRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7bVRBRVUsSUFBSTtrQkFBWixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxPQUFPO2tCQUFoQixNQUFNO1lBQ0csWUFBWTtrQkFBckIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDRyxVQUFVO2tCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUgfSBmcm9tICcuLi8uLi8uLi9fbW9kZWxzL2Jhc2tldC1wcmV2aWV3LWxpbmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyeSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvYmFza2V0LWVudHJ5JztcbmltcG9ydCB7IEdyb2Nlcmllc0xpc3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNrZXRzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZXNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vX3V0aWxzL2V2ZW50LnV0aWxzJztcbmltcG9ydCByZW1vdmUgZnJvbSAnbG9kYXNoLWVzL3JlbW92ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNrZXQtcHJldmlldy1saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRQcmV2aWV3TGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGluZTogQmFza2V0UHJldmlld0xpbmU7XG4gIEBJbnB1dCgpIHVuaXF1ZUxpbmU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJsb2NrU3RhdGVzOiBCZWhhdmlvclN1YmplY3Q8eyBjdXJyZW50T3BlbkxpbmU6IHN0cmluZywgb3ZlcmxheU9wZW46IGJvb2xlYW4sIGxpbmVDb21wb25lbnQ6IEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IH0+O1xuICBASW5wdXQoKSBkaXNwbGF5VG90YWxQcmljaW5nID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2tldFByZXZpZXdMaW5lPigpO1xuICBAT3V0cHV0KCkgY291bnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHJlcGxhY2VJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNrZXRQcmV2aWV3TGluZT4oKTtcbiAgQE91dHB1dCgpIHNob3dSZWNpcGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZywgZ3Vlc3RzOiBudW1iZXIgfT4oKTtcblxuICBlbnRyaWVzTGluZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXRQcmV2aWV3TGluZVtdPihudWxsKTtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgbG9hZGluZyA9IHRydWU7XG4gIGRpc2FibGVJdGVtU2VsZWN0b3IgPSBmYWxzZTtcbiAgc2VsZWN0SXRlbSA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFza2V0c1NlcnZpY2U6IEJhc2tldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgLy8gVE9ETzogY2FuIHdlIHJlbW92ZSB0aGUgY29uZGl0aW9uIG9uIHVuaXF1ZUxpbmU/XG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnVuaXF1ZUxpbmUpIHtcbiAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgdGhpcy5idWlsZEVudHJpZXNMaW5lcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWI6IFN1YnNjcmlwdGlvbikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgY2hhbmdlQ291bnQoY291bnQ6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmxpbmUuY291bnQgPT09IGNvdW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5saW5lLmNvdW50ID0gY291bnQ7XG4gICAgaWYgKHRoaXMubGluZS5oYXNFbnRyaWVzKCkgfHwgdGhpcy5saW5lLmRpc3BsYXlNb2RlKSB7XG4gICAgICB0aGlzLmNvdW50Q2hhbmdlZC5lbWl0KHRoaXMubGluZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU3VibGluZUNvdW50Q2hhbmdlKGNvdW50KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTdWJsaW5lQ291bnRDaGFuZ2UoY291bnQ6IG51bWJlcikge1xuICAgIGlmIChjb3VudCA9PT0gMCkge1xuICAgICAgdGhpcy5yZW1vdmVkLmVtaXQodGhpcy5saW5lKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5saW5lLnJlY29yZC5hdHRyaWJ1dGVzLnF1YW50aXR5ID0gY291bnQ7XG4gICAgdGhpcy5saW5lLnJlY29yZC51cGRhdGVUb3RhbFByaWNlKCk7XG4gICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnY2hhbmdlLWl0ZW0tcXVhbnRpdHknKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpbmUucmVjb3JkLnNhdmUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYmFza2V0c1NlcnZpY2UubG9hZEJhc2tldCgpKSxcbiAgICAgIHRha2UoMSlcbiAgICApLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZUV4cGFuZGVkKGV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubGluZS5oYXNFbnRyaWVzKCkgfHxcbiAgICAgIHRoaXMudW5pcXVlTGluZSB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lID09PSAnaW5wdXQtY29udGFpbmVyJyB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lID09PSAncmVtb3ZlJyB8fFxuICAgICAgZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQubm9kZU5hbWUgPT09ICdzdmcnXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAoIXRoaXMuZW50cmllc0xpbmVzJC52YWx1ZSkge1xuICAgICAgdGhpcy5idWlsZEVudHJpZXNMaW5lcygpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUVudHJ5KGVudHJ5OiBCYXNrZXRFbnRyeSkge1xuICAgIC8vIFJlbW92ZSBlbnRyeSBmcm9tIGxpbmUgZW50cmllcyBhcnJheVxuICAgIC8vIFRPRE86IGhhbmRsZSBvdGhlciB0aGFuIGZvdW5kXG4gICAgcmVtb3ZlKHRoaXMubGluZS5lbnRyaWVzLmZvdW5kLCBlID0+IGUuaWQgPT09IGVudHJ5LmlkKTtcbiAgICB0aGlzLmJ1aWxkRW50cmllc0xpbmVzKCk7XG5cbiAgICAvLyBSZW1vdmUgcmVsYXRlZCBncm9jZXJpZXMgZW50cnkgKHVwZGF0ZSBzdGF0dXMgdG8gXCJkZWxldGVkXCIpIGFuZCByZWxvYWQgbGlzdFxuICAgIGNvbnN0IGdFbnRyeSA9IGVudHJ5LnJlbGF0aW9uc2hpcHNbJ2dyb2Nlcmllcy1lbnRyeSddLmRhdGE7XG4gICAgZ0VudHJ5LmF0dHJpYnV0ZXMuc3RhdHVzID0gJ2RlbGV0ZWQnO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgZ0VudHJ5LnNhdmUoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5sb2FkQmFza2V0KCkpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIGNoYW5nZVByb2R1Y3QobGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLmJsb2NrU3RhdGVzPy5uZXh0KHsgY3VycmVudE9wZW5MaW5lOiBsaW5lLmlkLCBvdmVybGF5T3BlbjogdHJ1ZSwgbGluZUNvbXBvbmVudDogdGhpcyB9KTtcbiAgICB0aGlzLnNlbGVjdEl0ZW0gPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnJlcGxhY2VJdGVtLmVtaXQobGluZSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmVkIC0gbmV2ZXIgY2FsbGVkID9cbiAgcHJvZHVjdENob3NlbihsaW5lPzogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICB0aGlzLnNlbGVjdEl0ZW0gPSBmYWxzZTtcbiAgICBpZiAobGluZSkgeyB0aGlzLmRpc2FibGVJdGVtU2VsZWN0b3IgPSB0cnVlOyB9XG4gICAgdGhpcy5ibG9ja1N0YXRlcz8ubmV4dCh7IGN1cnJlbnRPcGVuTGluZTogbnVsbCwgb3ZlcmxheU9wZW46IGZhbHNlLCBsaW5lQ29tcG9uZW50OiBudWxsIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyhmYWxzZSk7XG4gIH1cblxuICBidWlsZEVudHJpZXNMaW5lcygpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gW1xuICAgICAgLi4udGhpcy5saW5lLmVudHJpZXMuZm91bmQsXG4gICAgICAuLi50aGlzLmxpbmUuZW50cmllcy5ub3RGb3VuZCxcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLm9mdGVuRGVsZXRlZCxcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLnJlbW92ZWRdO1xuICAgIGVudHJpZXMubWFwKChlbnRyeTogQmFza2V0RW50cnkpID0+IHtcbiAgICAgIGVudHJ5LnNldEl0ZW1zU2VsZWN0aW9uKCk7XG4gICAgICBlbnRyeS51cGRhdGVUb3RhbFByaWNlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5lbnRyaWVzTGluZXMkLm5leHQoXG4gICAgICBlbnRyaWVzXG4gICAgICAgIC5maWx0ZXIoZW50cnkgPT4gdGhpcy5saW5lLmVudHJpZXMuZm91bmQubWFwKGUgPT4gZS5pZCkuaW5jbHVkZXMoZW50cnkuaWQpKVxuICAgICAgICAubWFwKGVudHJ5ID0+IEJhc2tldFByZXZpZXdMaW5lLmZyb21CYXNrZXRFbnRyeShlbnRyeSkpXG4gICAgKTtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhZGRFbnRyeShlbnRyeTogQmFza2V0RW50cnkpIHtcbiAgICBjb25zdCBnRW50cnkgPSBlbnRyeS5yZWxhdGlvbnNoaXBzWydncm9jZXJpZXMtZW50cnknXS5kYXRhO1xuICAgIGdFbnRyeS5hdHRyaWJ1dGVzLnN0YXR1cyA9ICdhY3RpdmUnO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgZ0VudHJ5LnNhdmUoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5sb2FkQmFza2V0KCkpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApLnN1YnNjcmliZSgpXG4gICAgKTtcbiAgfVxuXG4gIHRyYWNrQnlJdGVtSWQoaW5kZXg6IG51bWJlciwgbGluZTogQmFza2V0UHJldmlld0xpbmUpIHtcbiAgICByZXR1cm4gbGluZSA/IGxpbmUucmVjb3JkWydzZWxlY3RlZC1pdGVtLWlkJ10gKyAnLScgKyBsaW5lLnJlY29yZC5hdHRyaWJ1dGVzLnF1YW50aXR5IDogbnVsbDtcbiAgfVxuXG4gIHRvZ2dsZVJlY2lwZURpc3BsYXkoZXZlbnQsIGFkZFJlY2lwZSA9IGZhbHNlKSB7XG4gICAgaWYgKCF0aGlzLmxpbmUuaXNSZWNpcGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGFkZFJlY2lwZSkge1xuICAgICAgZm9ya0pvaW4oW1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTG9nZ2VkJC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLFxuICAgICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBjb25zdCBpc0hvb2tPayA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9va0NhbGxiYWNrKHJlc1swXSwgcmVzWzFdKTtcbiAgICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25PSygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWNpcGVzU2VydmljZS5kaXNwbGF5KHRoaXMubGluZS5pZCwge2d1ZXN0czogdGhpcy5saW5lLmNvdW50fSk7XG4gICAgfVxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uT0soKSB7XG4gICAgdGhpcy5saXN0c1NlcnZpY2UuYXBwZW5kUmVjaXBlVG9MaXN0KHRoaXMubGluZS5pZCwgdGhpcy5saW5lLmNvdW50KTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXkodGhpcy5saW5lLmlkLCB7Z3Vlc3RzOiB0aGlzLmxpbmUuY291bnQsIHByZXZpZXdNb2RlOiB0cnVlfSk7XG4gIH1cblxuICByZW1vdmVMaW5lKGV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIHRoaXMucmVtb3ZlZC5lbWl0KHRoaXMubGluZSk7XG4gIH1cblxuICBwcmljZUludGVnZXJQYXJ0KCl7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5saW5lLnByaWNlPy50b1N0cmluZygpLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIHZhbHVlcz8ubGVuZ3RoID4gMCA/IHZhbHVlc1swXSA6ICcwJztcbiAgfVxuXG4gIHByaWNlRGVjaW1hbFBhcnQoKXtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmxpbmUucHJpY2U/LnRvU3RyaW5nKCkuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4gdmFsdWVzPy5sZW5ndGggPT09IDIgPyB2YWx1ZXNbMV0gOiAnMDAnO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwie3tsaW5lLmlkfX1cIlxuICBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZVwiXG4gIFtuZ0NsYXNzXT1cIntjbGlja2FibGU6IGxpbmUuaGFzRW50cmllcygpIHx8IGxpbmUuZGlzcGxheU1vZGUsIGV4cGFuZGVkOiBleHBhbmRlZCwgZWxldmF0ZSA6IHNlbGVjdEl0ZW19XCJcbiAgKGNsaWNrKT1cImxpbmUuZGlzcGxheU1vZGUgPyB0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCkgOiB0b2dnbGVFeHBhbmRlZCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWxlY3RJdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fbGVmdFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXVuaXF1ZUxpbmUgJiYgIWxpbmUuZGlzcGxheU1vZGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fcmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUxpbmUoJGV2ZW50KVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT0naWNvbi5UcmFzaCcgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3BpY3R1cmVcIj5cbiAgICAgICAgICA8aW1nIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudClcIiBbc3JjXT1cImxpbmUucGljdHVyZVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fZGV0YWlsc1wiPlxuICAgICAgICAgIDxzdHJvbmcgKGNsaWNrKT1cInRvZ2dsZVJlY2lwZURpc3BsYXkoJGV2ZW50KVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX190aXRsZVwiPlxuICAgICAgICAgICAge3sgbGluZS50aXRsZSB8IGNhcGl0YWxpemVGaXJzdExldHRlciB9fVxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpbmUuZGVzY3JpcHRpb25cIj57eyBpdGVtIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihsaW5lLmhhc0VudHJpZXMoKSAmJiAhdW5pcXVlTGluZSlcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fc2hvd0RldGFpbHNcIj5cbiAgICAgICAgICAgICAge3sgZXhwYW5kZWQgPyAnTWFzcXVlcicgOiAnVm9pcicgfX0gbGUgZMOpdGFpbFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5kaXNwbGF5TW9kZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19zaG93RGV0YWlsc1wiPlxuICAgICAgICAgICAgICBWb2lyIGxhIHJlY2V0dGVcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFsaW5lLmlzUmVjaXBlICYmIGxpbmU/LnJlY29yZD8uY2FuZGlkYXRlSXRlbXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fY2hhbmdlXCI+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJjaGFuZ2VQcm9kdWN0KGxpbmUpXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlJzogZGlzYWJsZUl0ZW1TZWxlY3Rvcn1cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jaGFuZ2VfX2xpbmtcIj5DaGFuZ2VyIGQnYXJ0aWNsZTwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuaW5saW5lVGFnXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2lubGluZVRhZ19fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19pbmxpbmVUYWdcIj57eyBsaW5lLmlubGluZVRhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fcmlnaHRcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlUb3RhbFByaWNpbmcgfHwgIWxpbmUuaXNSZWNpcGUgZWxzZSBwcmljZVBlcmd1ZXN0XCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3ByaWNlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgcHJpY2VJbnRlZ2VyUGFydCgpIH19LDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyBwcmljZURlY2ltYWxQYXJ0KCkgfX08L3NwYW4+ICAgXG4gICAgICAgICAgPHNwYW4+IOKCrDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJpY2VQZXJndWVzdD5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZXNTZXJ2aWNlLmdldChsaW5lLmlkKSB8IGFzeW5jXCIgW3NlcnZlc109XCJsaW5lLmNvdW50XCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaW5lLmlzUmVjaXBlXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NvdW50X19mb3JcIj5wb3VyPC9kaXY+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJsaW5lLmNvdW50XCIgKGNvdW50ZXJDaGFuZ2UpPVwiY2hhbmdlQ291bnQoJGV2ZW50KVwiIFttaW5SYW5nZV09XCJsaW5lLmlzUmVjaXBlID8gMSA6IDBcIj5cbiAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5pc1JlY2lwZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudF9fcGVvcGxlXCI+cGVyc29ubmV7eyBsaW5lLmNvdW50ID4gMSA/ICdzJyA6ICcnIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5kaXNwbGF5TW9kZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19hZGRfX2J1dHRvblwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCwgdHJ1ZSlcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZicgW2ljb25OYW1lXT1cImljb24uQ2FydFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lc1wiICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgPGRpdiAqbmdJZj1cIiFsb2FkaW5nIGVsc2UgbG9hZGVyXCI+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZSAqbmdGb3I9XCJsZXQgZW50cnlMaW5lIG9mIGVudHJpZXNMaW5lcyQgfCBhc3luY1wiIFtsaW5lXT1cImVudHJ5TGluZVwiXG4gICAgICAocmVtb3ZlZCk9XCJkZWxldGVFbnRyeSgkZXZlbnQucmVjb3JkKVwiIChyZXBsYWNlSXRlbSk9J3JlcGxhY2VJdGVtLmVtaXQobGluZSknIFtibG9ja1N0YXRlc109J2Jsb2NrU3RhdGVzJz48L25nLW1pYW0tYmFza2V0LXByZXZpZXctbGluZT5cbiAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZCAqbmdJZj1cImxpbmUuZW50cmllcy5ub3RGb3VuZC5sZW5ndGggPiAwXCIgW2VudHJpZXNdPVwibGluZS5lbnRyaWVzLm5vdEZvdW5kXCJcbiAgICAgIG1vZGU9XCJ1bmF2YWlsYWJsZVwiPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZD5cbiAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZCAqbmdJZj1cImxpbmUuZW50cmllcy5vZnRlbkRlbGV0ZWQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5vZnRlbkRlbGV0ZWRcIlxuICAgICAgbW9kZT1cIm9mdGVuRGVsZXRlZFwiIChlbnRyeUFkZGVkKT1cImFkZEVudHJ5KCRldmVudClcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMucmVtb3ZlZC5sZW5ndGggPiAwXCIgW2VudHJpZXNdPVwibGluZS5lbnRyaWVzLnJlbW92ZWRcIlxuICAgICAgbW9kZT1cInJlbW92ZWRcIiBbcmVkdWNlZF09XCJ0cnVlXCIgKGVudHJ5QWRkZWQpPVwiYWRkRW50cnkoJGV2ZW50KVwiPjwvbmctbWlhbS1iYXNrZXQtcHJldmlldy1kaXNhYmxlZD5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2xvYWRlci1jb250YWluZXJcIiA+XG4gICAgICA8bmctbWlhbS1sb2FkZXI+PC9uZy1taWFtLWxvYWRlcj5cbiAgICAgIDxkaXY+Q2FsY3VsIGRlcyBpbmdyw6lkaWVudHMuLi48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
472
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0LXByZXZpZXctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9iYXNrZXQtcHJldmlldy9iYXNrZXQtcHJldmlldy1saW5lL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFFakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQzs7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VztrQkFBbkIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUNJLE9BQU87a0JBQWhCLE1BQU07WUFDRyxZQUFZO2tCQUFyQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLFVBQVU7a0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uRGVzdHJveSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkluaXQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNrZXRQcmV2aWV3TGluZSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMvYmFza2V0LXByZXZpZXctbGluZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2tldEVudHJ5IH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscy9iYXNrZXQtZW50cnknO1xuaW1wb3J0IHsgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL2dyb2Nlcmllcy1saXN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldHNTZXJ2aWNlLCBDb250ZXh0U2VydmljZSwgUG9pbnRPZlNhbGVzU2VydmljZSwgUmVjaXBlc1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgc3RvcEV2ZW50UHJvcGFnYXRpb24gfSBmcm9tICcuLi8uLi8uLi9fdXRpbHMvZXZlbnQudXRpbHMnO1xuaW1wb3J0IHJlbW92ZSBmcm9tICdsb2Rhc2gtZXMvcmVtb3ZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1iYXNrZXQtcHJldmlldy1saW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhc2tldC1wcmV2aWV3LWxpbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNrZXQtcHJldmlldy1saW5lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhc2tldFByZXZpZXdMaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBsaW5lOiBCYXNrZXRQcmV2aWV3TGluZTtcbiAgQElucHV0KCkgdW5pcXVlTGluZTogYm9vbGVhbjtcbiAgQElucHV0KCkgYmxvY2tTdGF0ZXM6IEJlaGF2aW9yU3ViamVjdDx7IGN1cnJlbnRPcGVuTGluZTogc3RyaW5nLCBvdmVybGF5T3BlbjogYm9vbGVhbiwgbGluZUNvbXBvbmVudDogQmFza2V0UHJldmlld0xpbmVDb21wb25lbnQgfT47XG4gIEBJbnB1dCgpIGRpc3BsYXlUb3RhbFByaWNpbmcgPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QmFza2V0UHJldmlld0xpbmU+KCk7XG4gIEBPdXRwdXQoKSBjb3VudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2tldFByZXZpZXdMaW5lPigpO1xuICBAT3V0cHV0KCkgcmVwbGFjZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2tldFByZXZpZXdMaW5lPigpO1xuICBAT3V0cHV0KCkgc2hvd1JlY2lwZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpZDogc3RyaW5nLCBndWVzdHM6IG51bWJlciB9PigpO1xuXG4gIGVudHJpZXNMaW5lcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2tldFByZXZpZXdMaW5lW10+KG51bGwpO1xuICBleHBhbmRlZCA9IGZhbHNlO1xuICBsb2FkaW5nID0gdHJ1ZTtcbiAgZGlzYWJsZUl0ZW1TZWxlY3RvciA9IGZhbHNlO1xuICBzZWxlY3RJdGVtID0gZmFsc2U7XG4gIGljb24gPSBJY29uO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcmVjaXBlc1NlcnZpY2U6IFJlY2lwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICAvLyBUT0RPOiBjYW4gd2UgcmVtb3ZlIHRoZSBjb25kaXRpb24gb24gdW5pcXVlTGluZT9cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudW5pcXVlTGluZSkge1xuICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICB0aGlzLmJ1aWxkRW50cmllc0xpbmVzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBjaGFuZ2VDb3VudChjb3VudDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMubGluZS5jb3VudCA9PT0gY291bnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxpbmUuY291bnQgPSBjb3VudDtcbiAgICBpZiAodGhpcy5saW5lLmhhc0VudHJpZXMoKSB8fCB0aGlzLmxpbmUuZGlzcGxheU1vZGUpIHtcbiAgICAgIHRoaXMuY291bnRDaGFuZ2VkLmVtaXQodGhpcy5saW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYW5kbGVTdWJsaW5lQ291bnRDaGFuZ2UoY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVN1YmxpbmVDb3VudENoYW5nZShjb3VudDogbnVtYmVyKSB7XG4gICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICB0aGlzLnJlbW92ZWQuZW1pdCh0aGlzLmxpbmUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxpbmUucmVjb3JkLmF0dHJpYnV0ZXMucXVhbnRpdHkgPSBjb3VudDtcbiAgICB0aGlzLmxpbmUucmVjb3JkLnVwZGF0ZVRvdGFsUHJpY2UoKTtcbiAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdjaGFuZ2UtaXRlbS1xdWFudGl0eScpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGluZS5yZWNvcmQuc2F2ZSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5iYXNrZXRzU2VydmljZS5sb2FkQmFza2V0KCkpLFxuICAgICAgdGFrZSgxKVxuICAgICkuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kZWQoZXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5saW5lLmhhc0VudHJpZXMoKSB8fFxuICAgICAgdGhpcy51bmlxdWVMaW5lIHx8XG4gICAgICBldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5jbGFzc05hbWUgPT09ICdpbnB1dC1jb250YWluZXInIHx8XG4gICAgICBldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5jbGFzc05hbWUgPT09ICdyZW1vdmUnIHx8XG4gICAgICBldmVudC50YXJnZXQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PT0gJ3N2ZydcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGlmICghdGhpcy5lbnRyaWVzTGluZXMkLnZhbHVlKSB7XG4gICAgICB0aGlzLmJ1aWxkRW50cmllc0xpbmVzKCk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlRW50cnkoZW50cnk6IEJhc2tldEVudHJ5KSB7XG4gICAgLy8gUmVtb3ZlIGVudHJ5IGZyb20gbGluZSBlbnRyaWVzIGFycmF5XG4gICAgLy8gVE9ETzogaGFuZGxlIG90aGVyIHRoYW4gZm91bmRcbiAgICByZW1vdmUodGhpcy5saW5lLmVudHJpZXMuZm91bmQsIGUgPT4gZS5pZCA9PT0gZW50cnkuaWQpO1xuICAgIHRoaXMuYnVpbGRFbnRyaWVzTGluZXMoKTtcblxuICAgIC8vIFJlbW92ZSByZWxhdGVkIGdyb2NlcmllcyBlbnRyeSAodXBkYXRlIHN0YXR1cyB0byBcImRlbGV0ZWRcIikgYW5kIHJlbG9hZCBsaXN0XG4gICAgY29uc3QgZ0VudHJ5ID0gZW50cnkucmVsYXRpb25zaGlwc1snZ3JvY2VyaWVzLWVudHJ5J10uZGF0YTtcbiAgICBnRW50cnkuYXR0cmlidXRlcy5zdGF0dXMgPSAnZGVsZXRlZCc7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICBnRW50cnkuc2F2ZSgpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLmxvYWRCYXNrZXQoKSksXG4gICAgICAgIHRha2UoMSlcbiAgICAgICkuc3Vic2NyaWJlKClcbiAgICApO1xuICB9XG5cbiAgY2hhbmdlUHJvZHVjdChsaW5lOiBCYXNrZXRQcmV2aWV3TGluZSkge1xuICAgIHRoaXMuYmxvY2tTdGF0ZXM/Lm5leHQoeyBjdXJyZW50T3BlbkxpbmU6IGxpbmUuaWQsIG92ZXJsYXlPcGVuOiB0cnVlLCBsaW5lQ29tcG9uZW50OiB0aGlzIH0pO1xuICAgIHRoaXMuc2VsZWN0SXRlbSA9IHRydWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMucmVwbGFjZUl0ZW0uZW1pdChsaW5lKTtcbiAgfVxuXG4gIC8vIFRPRE86IHJlbW92ZWQgLSBuZXZlciBjYWxsZWQgP1xuICBwcm9kdWN0Q2hvc2VuKGxpbmU/OiBCYXNrZXRQcmV2aWV3TGluZSkge1xuICAgIHRoaXMuc2VsZWN0SXRlbSA9IGZhbHNlO1xuICAgIGlmIChsaW5lKSB7IHRoaXMuZGlzYWJsZUl0ZW1TZWxlY3RvciA9IHRydWU7IH1cbiAgICB0aGlzLmJsb2NrU3RhdGVzPy5uZXh0KHsgY3VycmVudE9wZW5MaW5lOiBudWxsLCBvdmVybGF5T3BlbjogZmFsc2UsIGxpbmVDb21wb25lbnQ6IG51bGwgfSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KGZhbHNlKTtcbiAgfVxuXG4gIGJ1aWxkRW50cmllc0xpbmVzKCkge1xuICAgIGNvbnN0IGVudHJpZXMgPSBbXG4gICAgICAuLi50aGlzLmxpbmUuZW50cmllcy5mb3VuZCxcbiAgICAgIC4uLnRoaXMubGluZS5lbnRyaWVzLm5vdEZvdW5kLFxuICAgICAgLi4udGhpcy5saW5lLmVudHJpZXMub2Z0ZW5EZWxldGVkLFxuICAgICAgLi4udGhpcy5saW5lLmVudHJpZXMucmVtb3ZlZF07XG4gICAgZW50cmllcy5tYXAoKGVudHJ5OiBCYXNrZXRFbnRyeSkgPT4ge1xuICAgICAgZW50cnkuc2V0SXRlbXNTZWxlY3Rpb24oKTtcbiAgICAgIGVudHJ5LnVwZGF0ZVRvdGFsUHJpY2UoKTtcbiAgICB9KTtcbiAgICB0aGlzLmVudHJpZXNMaW5lcyQubmV4dChcbiAgICAgIGVudHJpZXNcbiAgICAgICAgLmZpbHRlcihlbnRyeSA9PiB0aGlzLmxpbmUuZW50cmllcy5mb3VuZC5tYXAoZSA9PiBlLmlkKS5pbmNsdWRlcyhlbnRyeS5pZCkpXG4gICAgICAgIC5tYXAoZW50cnkgPT4gQmFza2V0UHJldmlld0xpbmUuZnJvbUJhc2tldEVudHJ5KGVudHJ5KSlcbiAgICApO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGFkZEVudHJ5KGVudHJ5OiBCYXNrZXRFbnRyeSkge1xuICAgIGNvbnN0IGdFbnRyeSA9IGVudHJ5LnJlbGF0aW9uc2hpcHNbJ2dyb2Nlcmllcy1lbnRyeSddLmRhdGE7XG4gICAgZ0VudHJ5LmF0dHJpYnV0ZXMuc3RhdHVzID0gJ2FjdGl2ZSc7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICBnRW50cnkuc2F2ZSgpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmJhc2tldHNTZXJ2aWNlLmxvYWRCYXNrZXQoKSksXG4gICAgICAgIHRha2UoMSlcbiAgICAgICkuc3Vic2NyaWJlKClcbiAgICApO1xuICB9XG5cbiAgdHJhY2tCeUl0ZW1JZChpbmRleDogbnVtYmVyLCBsaW5lOiBCYXNrZXRQcmV2aWV3TGluZSkge1xuICAgIHJldHVybiBsaW5lID8gbGluZS5yZWNvcmRbJ3NlbGVjdGVkLWl0ZW0taWQnXSArICctJyArIGxpbmUucmVjb3JkLmF0dHJpYnV0ZXMucXVhbnRpdHkgOiBudWxsO1xuICB9XG5cbiAgdG9nZ2xlUmVjaXBlRGlzcGxheShldmVudCwgYWRkUmVjaXBlID0gZmFsc2UpIHtcbiAgICBpZiAoIXRoaXMubGluZS5pc1JlY2lwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYWRkUmVjaXBlKSB7XG4gICAgICBmb3JrSm9pbihbXG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICAgIHRoaXMucG9zU2VydmljZS5pc1Bvc1ZhbGlkKCkucGlwZSh0YWtlKDEpKVxuICAgICAgXSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IGlzSG9va09rID0gdGhpcy5jb250ZXh0U2VydmljZS5ob29rQ2FsbGJhY2socmVzWzBdLCByZXNbMV0pO1xuICAgICAgICBpZiAoaXNIb29rT2spIHtcbiAgICAgICAgICB0aGlzLmFkZFJlY2lwZUFjdGlvbk9LKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXkodGhpcy5saW5lLmlkLCB7Z3Vlc3RzOiB0aGlzLmxpbmUuY291bnR9KTtcbiAgICB9XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBhZGRSZWNpcGVBY3Rpb25PSygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5saW5lLmlkLCB0aGlzLmxpbmUuY291bnQpLnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXkodGhpcy5saW5lLmlkLCB7Z3Vlc3RzOiB0aGlzLmxpbmUuY291bnQsIHByZXZpZXdNb2RlOiB0cnVlfSk7XG4gIH1cblxuICByZW1vdmVMaW5lKGV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIHRoaXMucmVtb3ZlZC5lbWl0KHRoaXMubGluZSk7XG4gIH1cblxuICBwcmljZUludGVnZXJQYXJ0KCl7XG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5saW5lLnByaWNlPy50b1N0cmluZygpLnNwbGl0KCcuJyk7XG4gICAgcmV0dXJuIHZhbHVlcz8ubGVuZ3RoID4gMCA/IHZhbHVlc1swXSA6ICcwJztcbiAgfVxuXG4gIHByaWNlRGVjaW1hbFBhcnQoKXtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmxpbmUucHJpY2U/LnRvU3RyaW5nKCkuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4gdmFsdWVzPy5sZW5ndGggPT09IDIgPyB2YWx1ZXNbMV0gOiAnMDAnO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwie3tsaW5lLmlkfX1cIlxuICBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZVwiXG4gIFtuZ0NsYXNzXT1cIntjbGlja2FibGU6IGxpbmUuaGFzRW50cmllcygpIHx8IGxpbmUuZGlzcGxheU1vZGUsIGV4cGFuZGVkOiBleHBhbmRlZCwgZWxldmF0ZSA6IHNlbGVjdEl0ZW19XCJcbiAgKGNsaWNrKT1cImxpbmUuZGlzcGxheU1vZGUgPyB0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCkgOiB0b2dnbGVFeHBhbmRlZCgkZXZlbnQpXCJcbj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2xlZnRcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhdW5pcXVlTGluZSAmJiAhbGluZS5kaXNwbGF5TW9kZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19yZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlTGluZSgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT0naWNvbi5UcmFzaCcgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspJz48L25nLW1pYW0taWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fcGljdHVyZVwiPlxuICAgICAgICA8aW1nIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudClcIiBbc3JjXT1cImxpbmUucGljdHVyZVwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19kZXRhaWxzXCI+XG4gICAgICAgIDxzdHJvbmcgKGNsaWNrKT1cInRvZ2dsZVJlY2lwZURpc3BsYXkoJGV2ZW50KVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX190aXRsZVwiPlxuICAgICAgICAgIHt7IGxpbmUudGl0bGUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgfX1cbiAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaW5lLmRlc2NyaXB0aW9uXCI+e3sgaXRlbSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIobGluZS5oYXNFbnRyaWVzKCkgJiYgIXVuaXF1ZUxpbmUpXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3Nob3dEZXRhaWxzXCI+XG4gICAgICAgICAgICB7eyBleHBhbmRlZCA/ICdNYXNxdWVyJyA6ICdWb2lyJyB9fSBsZSBkw6l0YWlsXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImxpbmUuZGlzcGxheU1vZGVcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9fc2hvd0RldGFpbHNcIj5cbiAgICAgICAgICAgIFZvaXIgbGEgcmVjZXR0ZVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGluZS5pc1JlY2lwZSAmJiBsaW5lPy5yZWNvcmQ/LmNhbmRpZGF0ZUl0ZW1zPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NoYW5nZVwiPlxuICAgICAgICAgICAgPGEgKGNsaWNrKT1cImNoYW5nZVByb2R1Y3QobGluZSlcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGUnOiBkaXNhYmxlSXRlbVNlbGVjdG9yfVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jaGFuZ2VfX2xpbmtcIj5DaGFuZ2VyIGQnYXJ0aWNsZTwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5pbmxpbmVUYWdcIiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZV9faXRlbV9faW5saW5lVGFnX19jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19pbmxpbmVUYWdcIj57eyBsaW5lLmlubGluZVRhZyB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19yaWdodFwiPlxuICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlUb3RhbFByaWNpbmcgfHwgIWxpbmUuaXNSZWNpcGUgZWxzZSBwcmljZVBlcmd1ZXN0XCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX3ByaWNlXCI+XG4gICAgICAgIDxzcGFuPnt7IHByaWNlSW50ZWdlclBhcnQoKSB9fSw8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IHByaWNlRGVjaW1hbFBhcnQoKSB9fTwvc3Bhbj4gICBcbiAgICAgICAgPHNwYW4+IOKCrDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNwcmljZVBlcmd1ZXN0PlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZXNTZXJ2aWNlLmdldChsaW5lLmlkKSB8IGFzeW5jXCIgW3NlcnZlc109XCJsaW5lLmNvdW50XCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NvdW50XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJsaW5lLmlzUmVjaXBlXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2l0ZW1fX2NvdW50X19mb3JcIj5wb3VyPC9kaXY+XG4gICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwibGluZS5jb3VudFwiIChjb3VudGVyQ2hhbmdlKT1cImNoYW5nZUNvdW50KCRldmVudClcIiBbbWluUmFuZ2VdPVwibGluZS5pc1JlY2lwZSA/IDEgOiAwXCI+XG4gICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGluZS5pc1JlY2lwZVwiIGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19pdGVtX19jb3VudF9fcGVvcGxlXCI+cGVyc29ubmV7eyBsaW5lLmNvdW50ID4gMSA/ICdzJyA6ICcnIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJsaW5lLmRpc3BsYXlNb2RlXCIgY2xhc3M9XCJtaWFtLWJhc2tldC1wcmV2aWV3LWxpbmVfX2FkZF9fYnV0dG9uXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVSZWNpcGVEaXNwbGF5KCRldmVudCwgdHJ1ZSlcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnIFtpY29uTmFtZV09XCJpY29uLkNhcnRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1pYW0tYmFza2V0LXByZXZpZXctbGluZXNcIiAqbmdJZj1cImV4cGFuZGVkXCI+XG4gIDxkaXYgKm5nSWY9XCIhbG9hZGluZyBlbHNlIGxvYWRlclwiPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWxpbmUgKm5nRm9yPVwibGV0IGVudHJ5TGluZSBvZiBlbnRyaWVzTGluZXMkIHwgYXN5bmNcIiBbbGluZV09XCJlbnRyeUxpbmVcIlxuICAgICAgKHJlbW92ZWQpPVwiZGVsZXRlRW50cnkoJGV2ZW50LnJlY29yZClcIiAocmVwbGFjZUl0ZW0pPSdyZXBsYWNlSXRlbS5lbWl0KGxpbmUpJyBbYmxvY2tTdGF0ZXNdPSdibG9ja1N0YXRlcyc+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWxpbmU+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMubm90Rm91bmQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5ub3RGb3VuZFwiXG4gICAgICBtb2RlPVwidW5hdmFpbGFibGVcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gICAgPG5nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQgKm5nSWY9XCJsaW5lLmVudHJpZXMub2Z0ZW5EZWxldGVkLmxlbmd0aCA+IDBcIiBbZW50cmllc109XCJsaW5lLmVudHJpZXMub2Z0ZW5EZWxldGVkXCJcbiAgICAgIG1vZGU9XCJvZnRlbkRlbGV0ZWRcIiAoZW50cnlBZGRlZCk9XCJhZGRFbnRyeSgkZXZlbnQpXCI+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWRpc2FibGVkPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWRpc2FibGVkICpuZ0lmPVwibGluZS5lbnRyaWVzLnJlbW92ZWQubGVuZ3RoID4gMFwiIFtlbnRyaWVzXT1cImxpbmUuZW50cmllcy5yZW1vdmVkXCJcbiAgICAgIG1vZGU9XCJyZW1vdmVkXCIgW3JlZHVjZWRdPVwidHJ1ZVwiIChlbnRyeUFkZGVkKT1cImFkZEVudHJ5KCRldmVudClcIj48L25nLW1pYW0tYmFza2V0LXByZXZpZXctZGlzYWJsZWQ+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1iYXNrZXQtcHJldmlldy1saW5lX19sb2FkZXItY29udGFpbmVyXCIgPlxuICAgICAgPG5nLW1pYW0tbG9hZGVyPjwvbmctbWlhbS1sb2FkZXI+XG4gICAgICA8ZGl2PkNhbGN1bCBkZXMgaW5ncsOpZGllbnRzLi4uPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=