fabrikantencore 2.6.2 → 2.6.4
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.
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.mjs +20 -14
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +18 -15
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +17 -50
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +9 -6
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-nav/beheer-nav.component.mjs +5 -4
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +23 -18
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +18 -12
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +20 -11
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +19 -32
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +3 -6
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.mjs +19 -17
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +80 -68
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.mjs +135 -7
- package/esm2020/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +11 -4
- package/esm2020/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.mjs +15 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +8 -4
- package/esm2020/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-info/fab-product-info.component.mjs +3 -2
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.mjs +12 -5
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.mjs +11 -5
- package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +13 -6
- package/esm2020/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +2 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +5 -8
- package/esm2020/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.mjs +10 -3
- package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +14 -1
- package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +2 -1
- package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +25 -2
- package/esm2020/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +130 -89
- package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +7 -5
- package/esm2020/src/app/modules/fabrikantencore/services/photo.service.mjs +3 -2
- package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +12 -21
- package/esm2020/src/app/modules/fabrikantencore/services/svg.service.mjs +11 -6
- package/esm2020/src/app/modules/fabrikantencore/services/translate.service.mjs +17 -212
- package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +1071 -535
- package/fesm2015/fabrikantencore.mjs +1759 -1114
- package/fesm2015/fabrikantencore.mjs.map +1 -1
- package/fesm2020/fabrikantencore.mjs +1750 -1100
- package/fesm2020/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-deeplink/beheer-deeplink.component.d.ts +4 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.d.ts +4 -4
- package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +3 -2
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +0 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-select-filter-dialog/beheer-select-filter-dialog.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.d.ts +17 -10
- package/src/app/modules/fabrikantencore/beheer/components/beheer-users/beheer-users.component.d.ts +18 -1
- package/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-breadcrumb/fab-breadcrumb.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-category-navigator/fab-category-navigator.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-category-tile/fab-category-tile.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour-dialog/fab-filter-colour-dialog.component.d.ts +2 -0
- package/src/app/modules/fabrikantencore/components/fab-filter-colour/fab-filter-colour.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter-colour-label/fab-filter-colour-label.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter-label/fab-filter-label.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +2 -0
- package/src/app/modules/fabrikantencore/components/fab-filters-input/fab-filters-input.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-product/fab-toebehoren/fab-toebehoren.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-product-select/fab-product-select.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-product-tile/fab-product-tile.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-range-input-fold/fab-range-input-fold.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-select-bcbproduct/fab-select-bcbproduct.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.d.ts +1 -2
- package/src/app/modules/fabrikantencore/components/fab-texture/fab-texture.component.d.ts +3 -0
- package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +10 -9
- package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +4 -0
- package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +10 -11
- package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +3 -1
- package/src/app/modules/fabrikantencore/services/products.service.d.ts +3 -2
- package/src/app/modules/fabrikantencore/services/svg.service.d.ts +6 -1
- package/src/app/modules/fabrikantencore/services/translate.service.d.ts +4 -28
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +395 -199
|
@@ -9,7 +9,6 @@ export class TranslateService {
|
|
|
9
9
|
this.Init = false;
|
|
10
10
|
this.Loading = true;
|
|
11
11
|
this.DesiredCountryCode = "";
|
|
12
|
-
this.SelectedCategory = "Common";
|
|
13
12
|
this.NavigateService.TranslateService = this;
|
|
14
13
|
}
|
|
15
14
|
SelectLanguage(language, ChangeDetectorRef) {
|
|
@@ -31,16 +30,6 @@ export class TranslateService {
|
|
|
31
30
|
ChangeDetectorRef.detectChanges();
|
|
32
31
|
this.TranslateApiClient.getLanguagesViewModel().subscribe((model) => {
|
|
33
32
|
this.LanguagesViewModel = model;
|
|
34
|
-
var cats = this.GetCategories();
|
|
35
|
-
this.Categories = new Array();
|
|
36
|
-
for (var i = 0; i < cats.length; i++) {
|
|
37
|
-
this.Categories.push(cats[i].name);
|
|
38
|
-
}
|
|
39
|
-
this.Categories.push("Categories");
|
|
40
|
-
this.Categories.push("Products");
|
|
41
|
-
this.Categories.push("Description");
|
|
42
|
-
this.Categories.push("Afbeelding");
|
|
43
|
-
this.Categories.push("Filter");
|
|
44
33
|
this.Loading = false;
|
|
45
34
|
this.ProcessDesiredCountryCode();
|
|
46
35
|
this.NavigateService.RefreshPage();
|
|
@@ -77,24 +66,28 @@ export class TranslateService {
|
|
|
77
66
|
}
|
|
78
67
|
return true;
|
|
79
68
|
}
|
|
80
|
-
GetActiveValue(
|
|
69
|
+
GetActiveValue(translationCategory, translationSubCategory, relevantId) {
|
|
81
70
|
if (this.ActiveLanguage != null) {
|
|
82
|
-
return this.GetValue(this.ActiveLanguage,
|
|
71
|
+
return this.GetValue(this.ActiveLanguage, translationCategory, translationSubCategory, relevantId);
|
|
83
72
|
}
|
|
84
73
|
return "";
|
|
85
74
|
}
|
|
86
|
-
GetValue(language,
|
|
75
|
+
GetValue(language, translationCategory, translationSubCategory, relevantId) {
|
|
87
76
|
var catarray = language.categories;
|
|
88
77
|
if (catarray != null) {
|
|
89
78
|
for (var i = 0; i < catarray.length; i++) {
|
|
90
|
-
if (catarray[i].
|
|
91
|
-
var
|
|
92
|
-
if (
|
|
93
|
-
for (var j = 0; j <
|
|
94
|
-
if (
|
|
95
|
-
var
|
|
96
|
-
if (
|
|
97
|
-
|
|
79
|
+
if (catarray[i].translationCategory == translationCategory) {
|
|
80
|
+
var subcatarray = catarray[i].subCategories;
|
|
81
|
+
if (subcatarray != null) {
|
|
82
|
+
for (var j = 0; j < subcatarray.length; j++) {
|
|
83
|
+
if (subcatarray[j].translationSubCategory == translationSubCategory) {
|
|
84
|
+
var keysarray = subcatarray[j].keys;
|
|
85
|
+
if (keysarray != null) {
|
|
86
|
+
for (var k = 0; k < keysarray.length; k++) {
|
|
87
|
+
if (keysarray[k].relevantId1 == relevantId) {
|
|
88
|
+
return keysarray[k].value;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
98
91
|
}
|
|
99
92
|
}
|
|
100
93
|
}
|
|
@@ -102,195 +95,7 @@ export class TranslateService {
|
|
|
102
95
|
}
|
|
103
96
|
}
|
|
104
97
|
}
|
|
105
|
-
return
|
|
106
|
-
}
|
|
107
|
-
GetActiveValueCategory(catId) {
|
|
108
|
-
if (this.ActiveLanguage != null) {
|
|
109
|
-
return this.GetValueCategory(this.ActiveLanguage, catId);
|
|
110
|
-
}
|
|
111
|
-
return "";
|
|
112
|
-
}
|
|
113
|
-
GetActiveValueCategoryDescription(catId) {
|
|
114
|
-
if (this.ActiveLanguage != null) {
|
|
115
|
-
return this.GetValueCategoryDescription(this.ActiveLanguage, catId);
|
|
116
|
-
}
|
|
117
|
-
return "";
|
|
118
|
-
}
|
|
119
|
-
GetValueCategory(language, catId) {
|
|
120
|
-
var catarray = language.categoryEntries;
|
|
121
|
-
if (catarray != null) {
|
|
122
|
-
for (var i = 0; i < catarray.length; i++) {
|
|
123
|
-
if (catarray[i].categoryId == catId) {
|
|
124
|
-
return catarray[i].value;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return "";
|
|
129
|
-
}
|
|
130
|
-
GetValueCategoryDescription(language, catId) {
|
|
131
|
-
var catarray = language.categoryEntries;
|
|
132
|
-
if (catarray != null) {
|
|
133
|
-
for (var i = 0; i < catarray.length; i++) {
|
|
134
|
-
if (catarray[i].categoryId == catId) {
|
|
135
|
-
return catarray[i].description;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return "";
|
|
140
|
-
}
|
|
141
|
-
GetActiveValueBCBEigenschapToebehoren(bcbEigenschapToebehorenId) {
|
|
142
|
-
if (this.ActiveLanguage != null) {
|
|
143
|
-
return this.GetValueBCBEigenschapToebehoren(this.ActiveLanguage, bcbEigenschapToebehorenId);
|
|
144
|
-
}
|
|
145
|
-
return "";
|
|
146
|
-
}
|
|
147
|
-
GetValueBCBEigenschapToebehoren(language, bcbEigenschapToebehorenId) {
|
|
148
|
-
var bcbeigenschaparray = language.bcbEigenschapToebehorenEntries;
|
|
149
|
-
if (bcbeigenschaparray != null) {
|
|
150
|
-
for (var i = 0; i < bcbeigenschaparray.length; i++) {
|
|
151
|
-
if (bcbeigenschaparray[i].bcbEigenschapToebehorenId == bcbEigenschapToebehorenId) {
|
|
152
|
-
return bcbeigenschaparray[i].value;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return "";
|
|
157
|
-
}
|
|
158
|
-
GetActiveValueProduct(productId) {
|
|
159
|
-
if (this.ActiveLanguage != null) {
|
|
160
|
-
return this.GetValueProduct(this.ActiveLanguage, productId);
|
|
161
|
-
}
|
|
162
|
-
return "";
|
|
163
|
-
}
|
|
164
|
-
GetValueProduct(language, productId) {
|
|
165
|
-
var prodarray = language.productEntries;
|
|
166
|
-
if (prodarray != null) {
|
|
167
|
-
for (var i = 0; i < prodarray.length; i++) {
|
|
168
|
-
if (prodarray[i].productId == productId) {
|
|
169
|
-
return prodarray[i].value;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return "";
|
|
174
|
-
}
|
|
175
|
-
GetActiveValueProductDescription(productId) {
|
|
176
|
-
if (this.ActiveLanguage != null) {
|
|
177
|
-
return this.GetValueProductDescription(this.ActiveLanguage, productId);
|
|
178
|
-
}
|
|
179
|
-
return "";
|
|
180
|
-
}
|
|
181
|
-
GetValueProductDescription(language, productId) {
|
|
182
|
-
var prodarray = language.productEntries;
|
|
183
|
-
if (prodarray != null) {
|
|
184
|
-
for (var i = 0; i < prodarray.length; i++) {
|
|
185
|
-
if (prodarray[i].productId == productId) {
|
|
186
|
-
return prodarray[i].description;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
return "";
|
|
191
|
-
}
|
|
192
|
-
GetActiveValueRangeInput(rangeInputId) {
|
|
193
|
-
if (this.ActiveLanguage != null) {
|
|
194
|
-
return this.GetValueRangeInput(this.ActiveLanguage, rangeInputId);
|
|
195
|
-
}
|
|
196
|
-
return "";
|
|
197
|
-
}
|
|
198
|
-
GetValueRangeInput(language, rangeInputId) {
|
|
199
|
-
var rangearray = language.rangeInputEntries;
|
|
200
|
-
if (rangearray != null) {
|
|
201
|
-
for (var i = 0; i < rangearray.length; i++) {
|
|
202
|
-
if (rangearray[i].rangeInputId == rangeInputId) {
|
|
203
|
-
return rangearray[i].value;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
return "";
|
|
208
|
-
}
|
|
209
|
-
GetActiveValueFilter(filterId) {
|
|
210
|
-
if (this.ActiveLanguage != null) {
|
|
211
|
-
return this.GetValueFilter(this.ActiveLanguage, filterId);
|
|
212
|
-
}
|
|
213
|
-
return "";
|
|
214
|
-
}
|
|
215
|
-
GetValueFilter(language, filterId) {
|
|
216
|
-
var filterarray = language.filterEntries;
|
|
217
|
-
if (filterarray != null) {
|
|
218
|
-
for (var i = 0; i < filterarray.length; i++) {
|
|
219
|
-
if (filterarray[i].filterId == filterId) {
|
|
220
|
-
return filterarray[i].value;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
return "";
|
|
225
|
-
}
|
|
226
|
-
GetActiveValueFilterOption(filterOptionId) {
|
|
227
|
-
if (this.ActiveLanguage != null) {
|
|
228
|
-
return this.GetValueFilterOption(this.ActiveLanguage, filterOptionId);
|
|
229
|
-
}
|
|
230
|
-
return "";
|
|
231
|
-
}
|
|
232
|
-
GetValueFilterOption(language, filterOptionId) {
|
|
233
|
-
var filterarray = language.filterOptionEntries;
|
|
234
|
-
if (filterarray != null) {
|
|
235
|
-
for (var i = 0; i < filterarray.length; i++) {
|
|
236
|
-
if (filterarray[i].filterOptionId == filterOptionId) {
|
|
237
|
-
return filterarray[i].value;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return "";
|
|
242
|
-
}
|
|
243
|
-
GetActiveValueDescription(bcbProductId) {
|
|
244
|
-
if (this.ActiveLanguage != null) {
|
|
245
|
-
return this.GetValueDescription(this.ActiveLanguage, bcbProductId);
|
|
246
|
-
}
|
|
247
|
-
return "";
|
|
248
|
-
}
|
|
249
|
-
GetValueDescription(language, bcbProductId) {
|
|
250
|
-
var descriptionarray = language.descriptionEntries;
|
|
251
|
-
if (descriptionarray != null) {
|
|
252
|
-
for (var i = 0; i < descriptionarray.length; i++) {
|
|
253
|
-
if (descriptionarray[i].bcbProductId == bcbProductId) {
|
|
254
|
-
return descriptionarray[i].value;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
return "";
|
|
259
|
-
}
|
|
260
|
-
GetActiveValueAfbeelding(bcbProductAfbeeldingId) {
|
|
261
|
-
if (this.ActiveLanguage != null) {
|
|
262
|
-
return this.GetValueAfbeelding(this.ActiveLanguage, bcbProductAfbeeldingId);
|
|
263
|
-
}
|
|
264
|
-
return "";
|
|
265
|
-
}
|
|
266
|
-
GetValueAfbeelding(language, bcbProductAfbeeldingId) {
|
|
267
|
-
var afbeeldingarray = language.afbeeldingEntries;
|
|
268
|
-
if (afbeeldingarray != null) {
|
|
269
|
-
for (var i = 0; i < afbeeldingarray.length; i++) {
|
|
270
|
-
if (afbeeldingarray[i].bcbProductAfbeeldingId == bcbProductAfbeeldingId) {
|
|
271
|
-
return afbeeldingarray[i].value;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
return "";
|
|
276
|
-
}
|
|
277
|
-
GetCategories() {
|
|
278
|
-
if (this.LanguagesViewModel?.languages != null && this.LanguagesViewModel.languages.length > 0 && this.LanguagesViewModel.languages[0].categories != null) {
|
|
279
|
-
return this.LanguagesViewModel.languages[0].categories;
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
return new Array();
|
|
283
|
-
;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
GetActiveCategorie() {
|
|
287
|
-
var cats = this.GetCategories();
|
|
288
|
-
for (var i = 0; i < cats.length; i++) {
|
|
289
|
-
if (cats[i].name == this.SelectedCategory) {
|
|
290
|
-
return cats[i];
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
return null;
|
|
98
|
+
return translationCategory + "-" + translationSubCategory;
|
|
294
99
|
}
|
|
295
100
|
ProcessDesiredCountryCode() {
|
|
296
101
|
if (this.LanguagesViewModel?.languages != null) {
|
|
@@ -319,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
319
124
|
type: Injectable,
|
|
320
125
|
args: [{ providedIn: 'root' }]
|
|
321
126
|
}], ctorParameters: function () { return [{ type: i1.TranslateApiClient }, { type: i2.NavigateService }]; } });
|
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTlELE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0IsWUFBb0Isa0JBQXNDLEVBQVMsZUFBZ0M7UUFBL0UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVo1RixTQUFJLEdBQVksS0FBSyxDQUFDO1FBRXRCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFJdkIsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBR2pDLHFCQUFnQixHQUFXLFFBQVEsQ0FBQztRQUl6QyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQTJCLEVBQUUsaUJBQW9DO1FBQ3JGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUVqQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBOEI7UUFDckQsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5FLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxXQUFXLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztZQUN0QyxJQUFJ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QUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBMkI7UUFDbkQsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztZQUUvQixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7NkdBcllVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlc1ZpZXdNb2RlbCwgTGFuZ3VhZ2VWaWV3TW9kZWwsIFRyYW5zbGF0ZUFwaUNsaWVudCwgVHJhbnNsYXRlS2V5Q2F0ZWdvcnlWaWV3TW9kZWwsIFRyYW5zbGF0ZUtleVZpZXdNb2RlbCB9IGZyb20gJy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuU2VydmljZSB9IGZyb20gJy4vZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRlU2VydmljZSB9IGZyb20gJy4vbmF2aWdhdGUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBJbml0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIExhbmd1YWdlc1ZpZXdNb2RlbDogTGFuZ3VhZ2VzVmlld01vZGVsO1xyXG5cclxuICBwcml2YXRlIERlc2lyZWRDb3VudHJ5Q29kZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgQWN0aXZlTGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsO1xyXG5cclxuICBwdWJsaWMgU2VsZWN0ZWRDYXRlZ29yeTogc3RyaW5nID0gXCJDb21tb25cIjtcclxuICBwdWJsaWMgQ2F0ZWdvcmllczogQXJyYXk8c3RyaW5nPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBUcmFuc2xhdGVBcGlDbGllbnQ6IFRyYW5zbGF0ZUFwaUNsaWVudCwgcHVibGljIE5hdmlnYXRlU2VydmljZTogTmF2aWdhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLk5hdmlnYXRlU2VydmljZS5UcmFuc2xhdGVTZXJ2aWNlID0gdGhpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWwsIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZik6IHZvaWQge1xyXG4gICAgdGhpcy5EZXNpcmVkQ291bnRyeUNvZGUgPSBsYW5ndWFnZS5jb3VudHJ5Q29kZSArIFwiXCI7XHJcbiAgICB0aGlzLlByb2Nlc3NEZXNpcmVkQ291bnRyeUNvZGUoKTtcclxuXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUHJvY2Vzc1BhcmFtZXRlcnMoQWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlKTogdm9pZCB7XHJcbiAgICB2YXIgY291bnRyeWNvZGUgPSBBY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoXCJsYW5ndWFnZVwiKTtcclxuXHJcbiAgICBpZiAoY291bnRyeWNvZGUgIT0gbnVsbCAmJiBjb3VudHJ5Y29kZSAhPSBcIlwiICYmIHRoaXMuRGVzaXJlZENvdW50cnlDb2RlICE9IGNvdW50cnljb2RlKSB7XHJcbiAgICAgIHRoaXMuRGVzaXJlZENvdW50cnlDb2RlID0gY291bnRyeWNvZGU7XHJcbiAgICAgIHRoaXMuUHJvY2Vzc0Rlc2lyZWRDb3VudHJ5Q29kZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIExvYWRUcmFuc2xhdGlvbnMoQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBGYWJyaWthbnRlblNlcnZpY2U6IEZhYnJpa2FudGVuU2VydmljZSB8IG51bGwsIEFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5Jbml0KSB7XHJcbiAgICAgIHRoaXMuSW5pdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIENoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIHRoaXMuVHJhbnNsYXRlQXBpQ2xpZW50LmdldExhbmd1YWdlc1ZpZXdNb2RlbCgpLnN1YnNjcmliZSgobW9kZWw6IExhbmd1YWdlc1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICAgIHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsID0gbW9kZWw7XHJcblxyXG4gICAgICAgIHZhciBjYXRzID0gdGhpcy5HZXRDYXRlZ29yaWVzKCk7XHJcbiAgICAgICAgdGhpcy5DYXRlZ29yaWVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICB0aGlzLkNhdGVnb3JpZXMucHVzaChjYXRzW2ldLm5hbWUgYXMgc3RyaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuQ2F0ZWdvcmllcy5wdXNoKFwiQ2F0ZWdvcmllc1wiKTtcclxuICAgICAgICB0aGlzLkNhdGVnb3JpZXMucHVzaChcIlByb2R1Y3RzXCIpO1xyXG4gICAgICAgIHRoaXMuQ2F0ZWdvcmllcy5wdXNoKFwiRGVzY3JpcHRpb25cIik7XHJcbiAgICAgICAgdGhpcy5DYXRlZ29yaWVzLnB1c2goXCJBZmJlZWxkaW5nXCIpO1xyXG4gICAgICAgIHRoaXMuQ2F0ZWdvcmllcy5wdXNoKFwiRmlsdGVyXCIpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5Qcm9jZXNzRGVzaXJlZENvdW50cnlDb2RlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuTmF2aWdhdGVTZXJ2aWNlLlJlZnJlc2hQYWdlKCk7XHJcblxyXG4gICAgICAgIENoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgaWYgKEZhYnJpa2FudGVuU2VydmljZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICBGYWJyaWthbnRlblNlcnZpY2UuTG9hZEZhYnJpa2FudGVuVmlld01vZGVsKENoYW5nZURldGVjdG9yUmVmLCBBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBhbGVydChlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93U3BlY2lmaWNhdGlvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuQWN0aXZlTGFuZ3VhZ2Uuc2hvd1NwZWNpZmljYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3coKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5Mb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5MYW5ndWFnZXNWaWV3TW9kZWw/Lmxhbmd1YWdlcyAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXMubGVuZ3RoIDwgMikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlKGNhdGVnb3J5OiBzdHJpbmcsIGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuR2V0VmFsdWUodGhpcy5BY3RpdmVMYW5ndWFnZSwgY2F0ZWdvcnksIGtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWUobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBjYXRlZ29yeTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YXIgY2F0YXJyYXkgPSBsYW5ndWFnZS5jYXRlZ29yaWVzO1xyXG4gICAgaWYgKGNhdGFycmF5ICE9IG51bGwpIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXRhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChjYXRhcnJheVtpXS5uYW1lPy50b0xvd2VyQ2FzZSgpID09IGNhdGVnb3J5LnRvTG93ZXJDYXNlKCkpIHtcclxuXHJcbiAgICAgICAgICB2YXIga2V5c2FycmF5ID0gY2F0YXJyYXlbaV0ua2V5c1xyXG4gICAgICAgICAgaWYgKGtleXNhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga2V5c2FycmF5Lmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGtleXNhcnJheVtqXS5uYW1lPy50b0xvd2VyQ2FzZSgpID09IGtleS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZW50cmllc2FycmF5ID0ga2V5c2FycmF5W2pdLmVudHJpZXM7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGVudHJpZXNhcnJheSAhPSBudWxsICYmIGVudHJpZXNhcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyaWVzYXJyYXlbMF0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjYXRlZ29yeSArIFwiLVwiICsga2V5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlQ2F0ZWdvcnkoY2F0SWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5BY3RpdmVMYW5ndWFnZSAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLkdldFZhbHVlQ2F0ZWdvcnkodGhpcy5BY3RpdmVMYW5ndWFnZSwgY2F0SWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlQ2F0ZWdvcnlEZXNjcmlwdGlvbihjYXRJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuR2V0VmFsdWVDYXRlZ29yeURlc2NyaXB0aW9uKHRoaXMuQWN0aXZlTGFuZ3VhZ2UsIGNhdElkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRWYWx1ZUNhdGVnb3J5KGxhbmd1YWdlOiBMYW5ndWFnZVZpZXdNb2RlbCwgY2F0SWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICB2YXIgY2F0YXJyYXkgPSBsYW5ndWFnZS5jYXRlZ29yeUVudHJpZXM7XHJcbiAgICBpZiAoY2F0YXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGNhdGFycmF5W2ldLmNhdGVnb3J5SWQgPT0gY2F0SWQpIHtcclxuICAgICAgICAgIHJldHVybiBjYXRhcnJheVtpXS52YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWVDYXRlZ29yeURlc2NyaXB0aW9uKGxhbmd1YWdlOiBMYW5ndWFnZVZpZXdNb2RlbCwgY2F0SWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICB2YXIgY2F0YXJyYXkgPSBsYW5ndWFnZS5jYXRlZ29yeUVudHJpZXM7XHJcbiAgICBpZiAoY2F0YXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGNhdGFycmF5W2ldLmNhdGVnb3J5SWQgPT0gY2F0SWQpIHtcclxuICAgICAgICAgIHJldHVybiBjYXRhcnJheVtpXS5kZXNjcmlwdGlvbiBhcyBzdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlVmFsdWVCQ0JFaWdlbnNjaGFwVG9lYmVob3JlbihiY2JFaWdlbnNjaGFwVG9lYmVob3JlbklkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZUJDQkVpZ2Vuc2NoYXBUb2ViZWhvcmVuKHRoaXMuQWN0aXZlTGFuZ3VhZ2UsIGJjYkVpZ2Vuc2NoYXBUb2ViZWhvcmVuSWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFZhbHVlQkNCRWlnZW5zY2hhcFRvZWJlaG9yZW4obGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBiY2JFaWdlbnNjaGFwVG9lYmVob3JlbklkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgdmFyIGJjYmVpZ2Vuc2NoYXBhcnJheSA9IGxhbmd1YWdlLmJjYkVpZ2Vuc2NoYXBUb2ViZWhvcmVuRW50cmllcztcclxuICAgIGlmIChiY2JlaWdlbnNjaGFwYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJjYmVpZ2Vuc2NoYXBhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChiY2JlaWdlbnNjaGFwYXJyYXlbaV0uYmNiRWlnZW5zY2hhcFRvZWJlaG9yZW5JZCA9PSBiY2JFaWdlbnNjaGFwVG9lYmVob3JlbklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gYmNiZWlnZW5zY2hhcGFycmF5W2ldLnZhbHVlIGFzIHN0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRBY3RpdmVWYWx1ZVByb2R1Y3QocHJvZHVjdElkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZVByb2R1Y3QodGhpcy5BY3RpdmVMYW5ndWFnZSwgcHJvZHVjdElkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRWYWx1ZVByb2R1Y3QobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBwcm9kdWN0SWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICB2YXIgcHJvZGFycmF5ID0gbGFuZ3VhZ2UucHJvZHVjdEVudHJpZXM7XHJcbiAgICBpZiAocHJvZGFycmF5ICE9IG51bGwpIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kYXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAocHJvZGFycmF5W2ldLnByb2R1Y3RJZCA9PSBwcm9kdWN0SWQpIHtcclxuICAgICAgICAgIHJldHVybiBwcm9kYXJyYXlbaV0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlUHJvZHVjdERlc2NyaXB0aW9uKHByb2R1Y3RJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuR2V0VmFsdWVQcm9kdWN0RGVzY3JpcHRpb24odGhpcy5BY3RpdmVMYW5ndWFnZSwgcHJvZHVjdElkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRWYWx1ZVByb2R1Y3REZXNjcmlwdGlvbihsYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWwsIHByb2R1Y3RJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHZhciBwcm9kYXJyYXkgPSBsYW5ndWFnZS5wcm9kdWN0RW50cmllcztcclxuICAgIGlmIChwcm9kYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2RhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChwcm9kYXJyYXlbaV0ucHJvZHVjdElkID09IHByb2R1Y3RJZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHByb2RhcnJheVtpXS5kZXNjcmlwdGlvbiBhcyBzdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlVmFsdWVSYW5nZUlucHV0KHJhbmdlSW5wdXRJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuR2V0VmFsdWVSYW5nZUlucHV0KHRoaXMuQWN0aXZlTGFuZ3VhZ2UsIHJhbmdlSW5wdXRJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWVSYW5nZUlucHV0KGxhbmd1YWdlOiBMYW5ndWFnZVZpZXdNb2RlbCwgcmFuZ2VJbnB1dElkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgdmFyIHJhbmdlYXJyYXkgPSBsYW5ndWFnZS5yYW5nZUlucHV0RW50cmllcztcclxuICAgIGlmIChyYW5nZWFycmF5ICE9IG51bGwpIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByYW5nZWFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKHJhbmdlYXJyYXlbaV0ucmFuZ2VJbnB1dElkID09IHJhbmdlSW5wdXRJZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHJhbmdlYXJyYXlbaV0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlRmlsdGVyKGZpbHRlcklkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZUZpbHRlcih0aGlzLkFjdGl2ZUxhbmd1YWdlLCBmaWx0ZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWVGaWx0ZXIobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBmaWx0ZXJJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHZhciBmaWx0ZXJhcnJheSA9IGxhbmd1YWdlLmZpbHRlckVudHJpZXM7XHJcbiAgICBpZiAoZmlsdGVyYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbHRlcmFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGZpbHRlcmFycmF5W2ldLmZpbHRlcklkID09IGZpbHRlcklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmlsdGVyYXJyYXlbaV0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlRmlsdGVyT3B0aW9uKGZpbHRlck9wdGlvbklkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZUZpbHRlck9wdGlvbih0aGlzLkFjdGl2ZUxhbmd1YWdlLCBmaWx0ZXJPcHRpb25JZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWVGaWx0ZXJPcHRpb24obGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBmaWx0ZXJPcHRpb25JZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHZhciBmaWx0ZXJhcnJheSA9IGxhbmd1YWdlLmZpbHRlck9wdGlvbkVudHJpZXM7XHJcbiAgICBpZiAoZmlsdGVyYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbHRlcmFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGZpbHRlcmFycmF5W2ldLmZpbHRlck9wdGlvbklkID09IGZpbHRlck9wdGlvbklkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmlsdGVyYXJyYXlbaV0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlRGVzY3JpcHRpb24oYmNiUHJvZHVjdElkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZURlc2NyaXB0aW9uKHRoaXMuQWN0aXZlTGFuZ3VhZ2UsIGJjYlByb2R1Y3RJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VmFsdWVEZXNjcmlwdGlvbihsYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWwsIGJjYlByb2R1Y3RJZDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHZhciBkZXNjcmlwdGlvbmFycmF5ID0gbGFuZ3VhZ2UuZGVzY3JpcHRpb25FbnRyaWVzO1xyXG4gICAgaWYgKGRlc2NyaXB0aW9uYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlc2NyaXB0aW9uYXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZGVzY3JpcHRpb25hcnJheVtpXS5iY2JQcm9kdWN0SWQgPT0gYmNiUHJvZHVjdElkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZGVzY3JpcHRpb25hcnJheVtpXS52YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0QWN0aXZlVmFsdWVBZmJlZWxkaW5nKGJjYlByb2R1Y3RBZmJlZWxkaW5nSWQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5BY3RpdmVMYW5ndWFnZSAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLkdldFZhbHVlQWZiZWVsZGluZyh0aGlzLkFjdGl2ZUxhbmd1YWdlLCBiY2JQcm9kdWN0QWZiZWVsZGluZ0lkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRWYWx1ZUFmYmVlbGRpbmcobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBiY2JQcm9kdWN0QWZiZWVsZGluZ0lkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgdmFyIGFmYmVlbGRpbmdhcnJheSA9IGxhbmd1YWdlLmFmYmVlbGRpbmdFbnRyaWVzO1xyXG4gICAgaWYgKGFmYmVlbGRpbmdhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWZiZWVsZGluZ2FycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFmYmVlbGRpbmdhcnJheVtpXS5iY2JQcm9kdWN0QWZiZWVsZGluZ0lkID09IGJjYlByb2R1Y3RBZmJlZWxkaW5nSWQpIHtcclxuICAgICAgICAgIHJldHVybiBhZmJlZWxkaW5nYXJyYXlbaV0udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldENhdGVnb3JpZXMoKTogQXJyYXk8VHJhbnNsYXRlS2V5Q2F0ZWdvcnlWaWV3TW9kZWw+IHtcclxuXHJcbiAgICBpZiAodGhpcy5MYW5ndWFnZXNWaWV3TW9kZWw/Lmxhbmd1YWdlcyAhPSBudWxsICYmIHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlcy5sZW5ndGggPiAwICYmIHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1swXS5jYXRlZ29yaWVzICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1swXS5jYXRlZ29yaWVzO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgQXJyYXk8VHJhbnNsYXRlS2V5Q2F0ZWdvcnlWaWV3TW9kZWw+KCk7O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZUNhdGVnb3JpZSgpOiBUcmFuc2xhdGVLZXlDYXRlZ29yeVZpZXdNb2RlbCB8IG51bGwge1xyXG4gICAgdmFyIGNhdHMgPSB0aGlzLkdldENhdGVnb3JpZXMoKTtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGNhdHNbaV0ubmFtZSA9PSB0aGlzLlNlbGVjdGVkQ2F0ZWdvcnkpIHtcclxuICAgICAgICByZXR1cm4gY2F0c1tpXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBQcm9jZXNzRGVzaXJlZENvdW50cnlDb2RlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsPy5sYW5ndWFnZXMgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5EZXNpcmVkQ291bnRyeUNvZGUgPT0gXCJcIikge1xyXG4gICAgICAgIHRoaXMuU2V0QWN0aXZlTGFuZ3VhZ2UodGhpcy5MYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzWzBdKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1tpXS5jb3VudHJ5Q29kZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09IHRoaXMuRGVzaXJlZENvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5TZXRBY3RpdmVMYW5ndWFnZSh0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXRBY3RpdmVMYW5ndWFnZShsYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IGxhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuQWN0aXZlTGFuZ3VhZ2UgPSBsYW5ndWFnZTtcclxuXHJcbiAgICAgIHRoaXMuTmF2aWdhdGVTZXJ2aWNlLlJlZnJlc2hQYWdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTlELE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsWUFBb0Isa0JBQXNDLEVBQVMsZUFBZ0M7UUFBL0UsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVQ1RixTQUFJLEdBQVksS0FBSyxDQUFDO1FBRXRCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFJdkIsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBSXRDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBMkIsRUFBRSxpQkFBb0M7UUFDckYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUE4QjtRQUNyRCxJQUFJLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLFdBQVcsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLFdBQVcsRUFBRTtZQUN0RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xD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VyxFQUFFLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsRUFBRTt3QkFDdkgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDOUQ7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQTJCO1FBQ25ELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxRQUFRLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFFL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7OzZHQWxKVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQURILE1BQU07MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZXNWaWV3TW9kZWwsIExhbmd1YWdlVmlld01vZGVsLCBUcmFuc2xhdGVBcGlDbGllbnQsIFRyYW5zbGF0ZUtleUNhdGVnb3J5Vmlld01vZGVsLCBUcmFuc2xhdGlvbkNhdGVnb3J5LCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5IH0gZnJvbSAnLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGVTZXJ2aWNlIH0gZnJvbSAnLi9uYXZpZ2F0ZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIEluaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgTGFuZ3VhZ2VzVmlld01vZGVsOiBMYW5ndWFnZXNWaWV3TW9kZWw7XHJcblxyXG4gIHByaXZhdGUgRGVzaXJlZENvdW50cnlDb2RlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyBBY3RpdmVMYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgVHJhbnNsYXRlQXBpQ2xpZW50OiBUcmFuc2xhdGVBcGlDbGllbnQsIHB1YmxpYyBOYXZpZ2F0ZVNlcnZpY2U6IE5hdmlnYXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5OYXZpZ2F0ZVNlcnZpY2UuVHJhbnNsYXRlU2VydmljZSA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VsZWN0TGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsLCBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpOiB2b2lkIHtcclxuICAgIHRoaXMuRGVzaXJlZENvdW50cnlDb2RlID0gbGFuZ3VhZ2UuY291bnRyeUNvZGUgKyBcIlwiO1xyXG4gICAgdGhpcy5Qcm9jZXNzRGVzaXJlZENvdW50cnlDb2RlKCk7XHJcblxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFByb2Nlc3NQYXJhbWV0ZXJzKEFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHZvaWQge1xyXG4gICAgdmFyIGNvdW50cnljb2RlID0gQWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KFwibGFuZ3VhZ2VcIik7XHJcblxyXG4gICAgaWYgKGNvdW50cnljb2RlICE9IG51bGwgJiYgY291bnRyeWNvZGUgIT0gXCJcIiAmJiB0aGlzLkRlc2lyZWRDb3VudHJ5Q29kZSAhPSBjb3VudHJ5Y29kZSkge1xyXG4gICAgICB0aGlzLkRlc2lyZWRDb3VudHJ5Q29kZSA9IGNvdW50cnljb2RlO1xyXG4gICAgICB0aGlzLlByb2Nlc3NEZXNpcmVkQ291bnRyeUNvZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkVHJhbnNsYXRpb25zKENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgRmFicmlrYW50ZW5TZXJ2aWNlOiBGYWJyaWthbnRlblNlcnZpY2UgfCBudWxsLCBBY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuSW5pdCkge1xyXG4gICAgICB0aGlzLkluaXQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICB0aGlzLlRyYW5zbGF0ZUFwaUNsaWVudC5nZXRMYW5ndWFnZXNWaWV3TW9kZWwoKS5zdWJzY3JpYmUoKG1vZGVsOiBMYW5ndWFnZXNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgICB0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5Qcm9jZXNzRGVzaXJlZENvdW50cnlDb2RlKCk7XHJcblxyXG4gICAgICAgIHRoaXMuTmF2aWdhdGVTZXJ2aWNlLlJlZnJlc2hQYWdlKCk7XHJcblxyXG4gICAgICAgIENoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgaWYgKEZhYnJpa2FudGVuU2VydmljZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICBGYWJyaWthbnRlblNlcnZpY2UuTG9hZEZhYnJpa2FudGVuVmlld01vZGVsKENoYW5nZURldGVjdG9yUmVmLCBBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBhbGVydChlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93U3BlY2lmaWNhdGlvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLkFjdGl2ZUxhbmd1YWdlICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuQWN0aXZlTGFuZ3VhZ2Uuc2hvd1NwZWNpZmljYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3coKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5Mb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5MYW5ndWFnZXNWaWV3TW9kZWw/Lmxhbmd1YWdlcyAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXMubGVuZ3RoIDwgMikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEFjdGl2ZVZhbHVlKHRyYW5zbGF0aW9uQ2F0ZWdvcnk6IFRyYW5zbGF0aW9uQ2F0ZWdvcnksIHRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk6IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnksIHJlbGV2YW50SWQ/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuQWN0aXZlTGFuZ3VhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5HZXRWYWx1ZSh0aGlzLkFjdGl2ZUxhbmd1YWdlLCB0cmFuc2xhdGlvbkNhdGVnb3J5LCB0cmFuc2xhdGlvblN1YkNhdGVnb3J5LCByZWxldmFudElkKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJcIjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRWYWx1ZShsYW5ndWFnZTogTGFuZ3VhZ2VWaWV3TW9kZWwsIHRyYW5zbGF0aW9uQ2F0ZWdvcnk6IFRyYW5zbGF0aW9uQ2F0ZWdvcnksIHRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk6IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnksIHJlbGV2YW50SWQ/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgdmFyIGNhdGFycmF5ID0gbGFuZ3VhZ2UuY2F0ZWdvcmllcztcclxuICAgIGlmIChjYXRhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2F0YXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoY2F0YXJyYXlbaV0udHJhbnNsYXRpb25DYXRlZ29yeSA9PSB0cmFuc2xhdGlvbkNhdGVnb3J5KSB7XHJcbiAgICAgICAgICB2YXIgc3ViY2F0YXJyYXkgPSBjYXRhcnJheVtpXS5zdWJDYXRlZ29yaWVzO1xyXG5cclxuICAgICAgICAgIGlmIChzdWJjYXRhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc3ViY2F0YXJyYXkubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgICBpZiAoc3ViY2F0YXJyYXlbal0udHJhbnNsYXRpb25TdWJDYXRlZ29yeSA9PSB0cmFuc2xhdGlvblN1YkNhdGVnb3J5KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIGtleXNhcnJheSA9IHN1YmNhdGFycmF5W2pdLmtleXM7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGtleXNhcnJheSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwga2V5c2FycmF5Lmxlbmd0aDsgaysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleXNhcnJheVtrXS5yZWxldmFudElkMSA9PSByZWxldmFudElkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5c2FycmF5W2tdLnZhbHVlIGFzIHN0cmluZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNsYXRpb25DYXRlZ29yeSArIFwiLVwiICsgdHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgUHJvY2Vzc0Rlc2lyZWRDb3VudHJ5Q29kZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbD8ubGFuZ3VhZ2VzICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuRGVzaXJlZENvdW50cnlDb2RlID09IFwiXCIpIHtcclxuICAgICAgICB0aGlzLlNldEFjdGl2ZUxhbmd1YWdlKHRoaXMuTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1swXSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh0aGlzLkxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNbaV0uY291bnRyeUNvZGU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PSB0aGlzLkRlc2lyZWRDb3VudHJ5Q29kZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuU2V0QWN0aXZlTGFuZ3VhZ2UodGhpcy5MYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzW2ldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2V0QWN0aXZlTGFuZ3VhZ2UobGFuZ3VhZ2U6IExhbmd1YWdlVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5BY3RpdmVMYW5ndWFnZSAhPSBsYW5ndWFnZSkge1xyXG4gICAgICB0aGlzLkFjdGl2ZUxhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcblxyXG4gICAgICB0aGlzLk5hdmlnYXRlU2VydmljZS5SZWZyZXNoUGFnZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|