@sabstravtech/obtservices 0.0.22051001 → 0.1.6161600
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/angular/components/basket-panel.d.ts +1 -0
- package/angular/fetchers.d.ts +5 -0
- package/angular/lib/vendor/fetchers/get-companies.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-company.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-office.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-user-default-mi-value.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +7 -0
- package/angular/lib/vendor/services/enterprise-basket.service.d.ts +4 -3
- package/angular/lib/vendor/services/logon.service.d.ts +2 -1
- package/angular/lib/vendor/services/user.service.d.ts +9 -3
- package/angular/lib/vendor/types/graphql.angular.types.d.ts +614 -550
- package/angular/lib/vendor/updaters/create-guest-updater.d.ts +6 -0
- package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
- package/angular/updaters.d.ts +1 -0
- package/base/fetchers.d.ts +5 -0
- package/base/lib/vendor/classes/base-enterprise.d.ts +7 -1
- package/base/lib/vendor/classes/basket-info-mi-details.impl.d.ts +2 -0
- package/base/lib/vendor/classes/bookable-basket.d.ts +2 -0
- package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +9 -4
- package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +12 -4
- package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +14 -7
- package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +5 -4
- package/base/lib/vendor/classes/flight-enterprise-search.d.ts +16 -5
- package/base/lib/vendor/classes/helpers.d.ts +6 -1
- package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +10 -3
- package/base/lib/vendor/classes/irl-enterprise-search.d.ts +13 -8
- package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +5 -4
- package/base/lib/vendor/classes/management-info-and-valid.d.ts +3 -3
- package/base/lib/vendor/classes/modal-types.enum.d.ts +1 -0
- package/base/lib/vendor/classes/parking-enterprise-search.d.ts +5 -4
- package/base/lib/vendor/classes/rail-enterprise-search.d.ts +10 -8
- package/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +5 -3
- package/base/lib/vendor/classes/user-favourite.enum.d.ts +1 -0
- package/base/lib/vendor/fetchers/eurostar-quote.fetcher.d.ts +3 -1
- package/base/lib/vendor/fetchers/flight-quote.fetcher.d.ts +1 -0
- package/base/lib/vendor/fetchers/get-companies.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/get-company.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-office.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-user-default-mi-value.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.d.ts +2 -2
- package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +5 -2
- package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +8 -6
- package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +7 -5
- package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +8 -1
- package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +8 -2
- package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +8 -7
- package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Imybookings.service.d.ts +3 -2
- package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +5 -2
- package/base/lib/vendor/interfaces/Isearch.service.d.ts +5 -2
- package/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +3 -2
- package/base/lib/vendor/interfaces/Iuser.service.d.ts +11 -3
- package/base/lib/vendor/interfaces/car-hire-search-arg.interface.d.ts +2 -3
- package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
- package/base/lib/vendor/interfaces/summary-interface.d.ts +6 -0
- package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
- package/base/lib/vendor/models/traveller.object.d.ts +12 -2
- package/base/lib/vendor/services/enterprise-basket.service.d.ts +22 -9
- package/base/lib/vendor/services/logon.service.d.ts +5 -1
- package/base/lib/vendor/services/my-bookings.service.d.ts +3 -2
- package/base/lib/vendor/services/search.service.d.ts +27 -23
- package/base/lib/vendor/services/url.service.d.ts +2 -0
- package/base/lib/vendor/services/user.service.d.ts +36 -5
- package/base/lib/vendor/services/webtoken.service.d.ts +6 -0
- package/base/lib/vendor/types/graphql.types.d.ts +581 -549
- package/base/lib/vendor/types/types.d.ts +48 -6
- package/base/lib/vendor/updaters/create-guest-updater.d.ts +19 -0
- package/base/sabstravtech-obtservices-base.d.ts +1 -1
- package/base/sabstravtech-obtservices-base.metadata.json +1 -1
- package/base/updaters.d.ts +1 -0
- package/bundles/sabstravtech-obtservices-angular.umd.js +541 -252
- package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.js +4080 -1471
- package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
- package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
- package/esm2015/angular/components/basket-panel.js +16 -7
- package/esm2015/angular/fetchers.js +6 -1
- package/esm2015/angular/lib/vendor/fetchers/get-companies.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-company.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-office.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-user-default-mi-value.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-user-guests.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +24 -21
- package/esm2015/angular/lib/vendor/services/http-call.service.js +1 -1
- package/esm2015/angular/lib/vendor/services/logon.service.js +8 -5
- package/esm2015/angular/lib/vendor/services/search.service.js +1 -1
- package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +4 -1
- package/esm2015/angular/lib/vendor/services/user.service.js +28 -10
- package/esm2015/angular/lib/vendor/services/webtoken.service.js +6 -2
- package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +1023 -1220
- package/esm2015/angular/lib/vendor/updaters/create-guest-updater.js +22 -0
- package/esm2015/angular/updaters.js +2 -1
- package/esm2015/base/fetchers.js +6 -1
- package/esm2015/base/lib/vendor/classes/base-enterprise.js +12 -3
- package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +14 -1
- package/esm2015/base/lib/vendor/classes/bookable-basket.js +27 -8
- package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +219 -18
- package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +235 -67
- package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +462 -49
- package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +37 -13
- package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +281 -62
- package/esm2015/base/lib/vendor/classes/helpers.js +32 -3
- package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +228 -54
- package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +221 -46
- package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +101 -14
- package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +67 -40
- package/esm2015/base/lib/vendor/classes/modal-types.enum.js +2 -1
- package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +146 -11
- package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +210 -25
- package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +58 -4
- package/esm2015/base/lib/vendor/classes/user-favourite.enum.js +2 -1
- package/esm2015/base/lib/vendor/data/countries.json +484 -242
- package/esm2015/base/lib/vendor/fetchers/eurostar-quote.fetcher.js +3 -3
- package/esm2015/base/lib/vendor/fetchers/flight-quote.fetcher.js +3 -3
- package/esm2015/base/lib/vendor/fetchers/get-companies.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-company.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-office.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-user-default-mi-value.fetcher.js +10 -0
- package/esm2015/base/lib/vendor/fetchers/get-user-guests.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Imybookings.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/car-hire-search-arg.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
- package/esm2015/base/lib/vendor/models/traveller.object.js +21 -3
- package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +129 -43
- package/esm2015/base/lib/vendor/services/http-call.service.js +1 -1
- package/esm2015/base/lib/vendor/services/logon.service.js +40 -3
- package/esm2015/base/lib/vendor/services/my-bookings.service.js +3 -2
- package/esm2015/base/lib/vendor/services/requires-reason.service.js +14 -10
- package/esm2015/base/lib/vendor/services/search.service.js +100 -117
- package/esm2015/base/lib/vendor/services/url.service.js +3 -1
- package/esm2015/base/lib/vendor/services/user.service.js +90 -12
- package/esm2015/base/lib/vendor/services/webtoken.service.js +14 -1
- package/esm2015/base/lib/vendor/types/graphql.types.js +21 -2
- package/esm2015/base/lib/vendor/types/types.js +32 -14
- package/esm2015/base/lib/vendor/updaters/create-guest-updater.js +11 -0
- package/esm2015/base/sabstravtech-obtservices-base.js +1 -1
- package/esm2015/base/updaters.js +2 -1
- package/fesm2015/sabstravtech-obtservices-angular.js +1254 -1332
- package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
- package/fesm2015/sabstravtech-obtservices-base.js +3324 -839
- package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,9 +46,13 @@ class FreeTextManagementInfo extends ManagementInfoAndIsValid {
|
|
|
46
46
|
this.tempValue = this.selectedValues
|
|
47
47
|
? ((_a = this.selectedValues[0]) === null || _a === void 0 ? void 0 : _a.freeValue) || ''
|
|
48
48
|
: '';
|
|
49
|
+
if (this.defaultValue && !this.selectedValues.length) {
|
|
50
|
+
this.value = this.defaultValue.value;
|
|
51
|
+
this.selectedValues[0].freeValue = this.defaultValue.value;
|
|
52
|
+
}
|
|
49
53
|
}
|
|
50
54
|
getValue() {
|
|
51
|
-
return this.
|
|
55
|
+
return this.selectedValues[0] ? this.selectedValues[0].freeValue : '';
|
|
52
56
|
}
|
|
53
57
|
setValue(val) {
|
|
54
58
|
if (this.tempValue === val) {
|
|
@@ -63,31 +67,36 @@ class FreeTextManagementInfo extends ManagementInfoAndIsValid {
|
|
|
63
67
|
}
|
|
64
68
|
];
|
|
65
69
|
}
|
|
66
|
-
save(basketid, userId) {
|
|
67
|
-
this.basketService.setMiFreeValue(basketid, this, this.selectedValues[0] ? this.selectedValues[0].freeValue : '', userId);
|
|
70
|
+
save(basketid, userId, guest) {
|
|
71
|
+
this.basketService.setMiFreeValue(basketid, this, this.selectedValues[0] ? this.selectedValues[0].freeValue : '', userId, guest);
|
|
68
72
|
}
|
|
69
73
|
hasErrors(value) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
74
|
+
const _super = Object.create(null, {
|
|
75
|
+
hasErrors: { get: () => super.hasErrors }
|
|
76
|
+
});
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
if (this.mandatory && (!value || value.length === 0)) {
|
|
80
|
+
resolve({ hasErrors: true });
|
|
81
|
+
}
|
|
82
|
+
if (this.valueMask && !!value) {
|
|
83
|
+
return this.basketService
|
|
84
|
+
.validateFreeValeMi(this, value)
|
|
85
|
+
.then((result) => {
|
|
86
|
+
resolve(result ? null : { hasErrors: true });
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else if (this.values.length > 0) {
|
|
90
|
+
resolve(!!this.values.find((miv) => {
|
|
91
|
+
return miv.value === value;
|
|
92
|
+
})
|
|
93
|
+
? null
|
|
94
|
+
: { hasErrors: true });
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
resolve(_super.hasErrors.call(this, value));
|
|
98
|
+
}
|
|
99
|
+
});
|
|
91
100
|
});
|
|
92
101
|
}
|
|
93
102
|
}
|
|
@@ -109,21 +118,31 @@ class AutoSugestManagementInfo extends ManagementInfoAndIsValid {
|
|
|
109
118
|
if (((_a = this.values) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
110
119
|
this.avaliableItems = this.values;
|
|
111
120
|
}
|
|
121
|
+
else {
|
|
122
|
+
console.error('No values for AutoSugest field');
|
|
123
|
+
}
|
|
124
|
+
if (this.defaultValue && !this.selectedValues.length) {
|
|
125
|
+
this.value = this.defaultValue.value;
|
|
126
|
+
this.selectedValues[0].value = {
|
|
127
|
+
id: this.defaultValue.valueId,
|
|
128
|
+
label: this.defaultValue.label,
|
|
129
|
+
value: this.defaultValue.value,
|
|
130
|
+
default: true,
|
|
131
|
+
fixed: false,
|
|
132
|
+
agentOnly: false
|
|
133
|
+
};
|
|
134
|
+
}
|
|
112
135
|
}
|
|
113
136
|
getValue() {
|
|
114
137
|
return this.selectedValues[0] ? this.selectedValues[0].value.id : '__NONE';
|
|
115
138
|
}
|
|
116
|
-
hasErrors(
|
|
139
|
+
hasErrors(value) {
|
|
117
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
-
|
|
119
|
-
return
|
|
120
|
-
return value1.id === id;
|
|
121
|
-
})
|
|
122
|
-
? { hasErrors: true }
|
|
123
|
-
: null;
|
|
141
|
+
if (!value || value.length === 0) {
|
|
142
|
+
return ({ hasErrors: true });
|
|
124
143
|
}
|
|
125
|
-
|
|
126
|
-
return null;
|
|
144
|
+
if (this.value.length > 0) {
|
|
145
|
+
return (this.avaliableItems.find((value1) => { return value1.id === value.id; }) ? null : { hasErrors: true });
|
|
127
146
|
}
|
|
128
147
|
});
|
|
129
148
|
}
|
|
@@ -156,8 +175,9 @@ class AutoSugestManagementInfo extends ManagementInfoAndIsValid {
|
|
|
156
175
|
this.selectedValues = [];
|
|
157
176
|
}
|
|
158
177
|
}
|
|
159
|
-
save(basketid, userid) {
|
|
160
|
-
|
|
178
|
+
save(basketid, userid, guest) {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
this.basketService.setMiSelectedValue(basketid, this, this.selectedValues[0] ? (_b = (_a = this.selectedValues[0]) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.id : '', userid, guest);
|
|
161
181
|
}
|
|
162
182
|
}
|
|
163
183
|
class HiddenManagementInfo extends ManagementInfoAndIsValid {
|
|
@@ -182,8 +202,15 @@ class DropdownManagementInfo extends ManagementInfoAndIsValid {
|
|
|
182
202
|
console.error('No values for Dropdown MI field ');
|
|
183
203
|
}
|
|
184
204
|
if (this.defaultValue && !this.selectedValues.length) {
|
|
185
|
-
this.value = this.defaultValue.
|
|
186
|
-
this.selectedValues[0].value =
|
|
205
|
+
this.value = this.defaultValue.valueId;
|
|
206
|
+
this.selectedValues[0].value = {
|
|
207
|
+
id: this.defaultValue.valueId,
|
|
208
|
+
label: this.defaultValue.label,
|
|
209
|
+
value: this.defaultValue.value,
|
|
210
|
+
default: true,
|
|
211
|
+
fixed: false,
|
|
212
|
+
agentOnly: false
|
|
213
|
+
};
|
|
187
214
|
}
|
|
188
215
|
}
|
|
189
216
|
getValue() {
|
|
@@ -227,8 +254,8 @@ class DropdownManagementInfo extends ManagementInfoAndIsValid {
|
|
|
227
254
|
this.selectedValues = [];
|
|
228
255
|
}
|
|
229
256
|
}
|
|
230
|
-
save(basketid, userid) {
|
|
231
|
-
this.basketService.setMiSelectedValue(basketid, this, this.selectedValues[0].value.id, userid);
|
|
257
|
+
save(basketid, userid, guest) {
|
|
258
|
+
this.basketService.setMiSelectedValue(basketid, this, this.selectedValues[0].value.id || '', userid, guest);
|
|
232
259
|
}
|
|
233
260
|
}
|
|
234
261
|
export const makeManagamentInfo = (managementInfo, basketService) => {
|
|
@@ -247,4 +274,4 @@ export const makeManagamentInfo = (managementInfo, basketService) => {
|
|
|
247
274
|
}
|
|
248
275
|
return null;
|
|
249
276
|
};
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC1pbmZvLWFuZC12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvY2xhc3Nlcy9tYW5hZ2VtZW50LWluZm8tYW5kLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQVNMLGNBQWMsRUFDZixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE1BQU0sT0FBZ0Isd0JBQ3BCLFNBQVEsZ0JBQWdCO0lBaUR4QixZQUFzQixjQUE4QjtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQXhCVixjQUFjO1FBQ2QsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWlEMUUsV0FBTSxHQUFHLENBQUMsS0FBeUIsRUFBdUMsRUFBRTtZQUMxRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUM7UUEzQkEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7SUFDakYsQ0FBQztJQXRCRCxJQUFJLGNBQWM7UUFHaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxNQUFxQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFB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LENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLEtBQUssY0FBYyxDQUFDLE1BQU07WUFDeEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xELEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRTtZQUNFLE1BQU0sR0FBRyxHQUFVLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNwQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBzd2l0Y2hNYXAsXHJcbiAgdGFwXHJcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JDaGVja2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy92YWxpZGF0b3IuY2hlY2tlcic7XHJcbmltcG9ydCB7IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JZW50ZXJwcmlzZS1iYXNrZXQuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQm9va2VkQnlGaWVsZCxcclxuICBGaWVsZFdyYXBwZXIsXHJcbiAgTWFuYWdlbWVudEluZm8sXHJcbiAgTWFuYWdlbWVudEluZm9WYWx1ZSxcclxuICBNYXliZSxcclxuICBTY2FsYXJzLFxyXG4gIFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSxcclxuICBTZXJ2aWNlLFxyXG4gIFVpUHJlc2VudGF0aW9uXHJcbn0gZnJvbSAnLi4vdHlwZXMvZ3JhcGhxbC50eXBlcyc7XHJcbmltcG9ydCB7IEdldE1pQXV0b1N1Z2VzdGlvbkFycmF5LCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZFxyXG4gIGV4dGVuZHMgVmFsaWRhdG9yQ2hlY2tlclxyXG4gIGltcGxlbWVudHMgTWFuYWdlbWVudEluZm9cclxue1xyXG4gIC8vIE1hbmFnZW1lbnRJbmZvIGludGVyZmFjZVxyXG4gIGFnZW50T25seTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcclxuICBkZWZhdWx0VmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGZpeGVkVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xyXG4gIGdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcclxuICBoYW5kb2ZmOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XHJcbiAgbWFuZGF0b3J5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgX3NlbGVjdGVkVmFsdWVzOiBBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xyXG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcclxuICB1aVByZXNlbnRhdGlvbjogRmllbGRXcmFwcGVyPFVpUHJlc2VudGF0aW9uPjtcclxuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICB2YWx1ZU1hc2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICB2YWx1ZXM6IEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xyXG4gIHRlbXBWYWx1ZT86IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XHJcblxyXG4gIC8vIGV4dHJhRmllbGRzXHJcbiAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBhdmFsaWFibGVJdGVtczogR2V0TWlBdXRvU3VnZXN0aW9uQXJyYXk7XHJcblxyXG4gIGdldCBzZWxlY3RlZFZhbHVlcygpOiBBcnJheTxcclxuICAgIE1heWJlPEZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+PlxyXG4gID4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkVmFsdWVzO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkVmFsdWVzKHZhbHVlczogU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlW10pIHtcclxuICAgIGlmICghT2JqZWN0LmlzKHRoaXMuX3NlbGVjdGVkVmFsdWVzLCB2YWx1ZXMpKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWVzID0gdmFsdWVzO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0VmFsdWUodmFsKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG1hbmFnZW1lbnRJbmZvKTsgLy8gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgY2FsbCBfaXNWYWxpZCgpXHJcbiAgfVxyXG5cclxuICByZWFzb246IGJvb2xlYW47XHJcbiAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0PzogYm9vbGVhbjtcclxuICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdD86IGJvb2xlYW47XHJcbiAgZW5mb3JjZVVzZXJEZWZhdWx0PzogYm9vbGVhbjtcclxuICBib29rZWRCeUZpZWxkPzogQm9va2VkQnlGaWVsZDtcclxuXHJcbiAgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tYW5kYXRvcnkgfHwgdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGggIT09IDA7XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnModmFsdWU6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmVzb2x2ZShcclxuICAgICAgICB0aGlzLm1hbmRhdG9yeSAmJiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgID8geyBoYXNFcnJvcnM6IHRydWUgfVxyXG4gICAgICAgICAgOiBudWxsXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGdldFZhbHVlKCk6IHN0cmluZztcclxuICBhYnN0cmFjdCBzZXRWYWx1ZSh2YWw6IHN0cmluZyk6IHZvaWQ7XHJcbiAgc2VhcmNoID0gKHRlcm1zOiBPYnNlcnZhYmxlPHN0cmluZz4pOiBPYnNlcnZhYmxlPEdldE1pQXV0b1N1Z2VzdGlvbkFycmF5PiA9PiB7XHJcbiAgICByZXR1cm4gb2YoW10pO1xyXG4gIH07XHJcblxyXG4gIGFic3RyYWN0IHNhdmUoYmFza2V0aWQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nKTogdm9pZDtcclxufVxyXG5cclxuY2xhc3MgRnJlZVRleHRNYW5hZ2VtZW50SW5mbyBleHRlbmRzIE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XHJcbiAgdGVtcFZhbHVlOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8sXHJcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtYW5hZ2VtZW50SW5mbyk7XHJcbiAgICB0aGlzLnRlbXBWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNcclxuICAgICAgPyB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdPy5mcmVlVmFsdWUgfHwgJydcclxuICAgICAgOiAnJztcclxuICB9XHJcbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBWYWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRlbXBWYWx1ZSA9PT0gdmFsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGVtcFZhbHVlID0gdmFsO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmcmVlVmFsdWU6IHZhbCxcclxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlOiB0aGlzLnBlckJvb2tpbmcsXHJcbiAgICAgICAgdXNlckxldmVsVmFsdWU6IHRoaXMucGVyUGFzc2VuZ2VyXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBzYXZlKGJhc2tldGlkOiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZykge1xyXG4gICAgdGhpcy5iYXNrZXRTZXJ2aWNlLnNldE1pRnJlZVZhbHVlKFxyXG4gICAgICBiYXNrZXRpZCxcclxuICAgICAgdGhpcyxcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc1swXSA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0uZnJlZVZhbHVlIDogJycsXHJcbiAgICAgIHVzZXJJZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhc0Vycm9ycyh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5tYW5kYXRvcnkgJiYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgICAgcmVzb2x2ZSh7IGhhc0Vycm9yczogdHJ1ZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy52YWx1ZU1hc2sgJiYgISF2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2tldFNlcnZpY2VcclxuICAgICAgICAgIC52YWxpZGF0ZUZyZWVWYWxlTWkodGhpcywgdmFsdWUpXHJcbiAgICAgICAgICAudGhlbigocmVzdWx0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0ID8gbnVsbCA6IHsgaGFzRXJyb3JzOiB0cnVlIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJlc29sdmUoXHJcbiAgICAgICAgICAhIXRoaXMudmFsdWVzLmZpbmQoKG1pdjogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbWl2LnZhbHVlID09PSB2YWx1ZTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgID8gbnVsbFxyXG4gICAgICAgICAgICA6IHsgaGFzRXJyb3JzOiB0cnVlIH1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc29sdmUoc3VwZXIuaGFzRXJyb3JzKHZhbHVlKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgQXV0b1N1Z2VzdE1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbyxcclxuICAgIHByaXZhdGUgYmFza2V0U2VydmljZTogRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1hbmFnZW1lbnRJbmZvKTtcclxuICAgIGlmICh0aGlzLnZhbHVlcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmF2YWxpYWJsZUl0ZW1zID0gdGhpcy52YWx1ZXM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlc1swXSA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUuaWQgOiAnX19OT05FJztcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhc0Vycm9ycyhpZDogc3RyaW5nKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuYXZhbGlhYmxlSXRlbXMuZmluZCgodmFsdWUxOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlMS5pZCA9PT0gaWQ7XHJcbiAgICAgIH0pXHJcbiAgICAgICAgPyB7IGhhc0Vycm9yczogdHJ1ZSB9XHJcbiAgICAgICAgOiBudWxsO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB2YWx1ZTogTWFuYWdlbWVudEluZm9WYWx1ZSA9IHRoaXMuYXZhbGlhYmxlSXRlbXMuZmluZChcclxuICAgICAgICAodmFsdWUxOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUxLmlkID09PSBpZDtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghIXZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgICAgICBpZDogdmFsdWUuaWQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHZhbHVlLmxhYmVsLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSxcclxuICAgICAgICAgICAgICBkZWZhdWx0OiB2YWx1ZS5kZWZhdWx0LFxyXG4gICAgICAgICAgICAgIGZpeGVkOiB2YWx1ZS5maXhlZCxcclxuICAgICAgICAgICAgICBhZ2VudE9ubHk6IHZhbHVlLmFnZW50T25seVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBiYXNrZXRMZXZlbFZhbHVlOiB0aGlzLnBlckJvb2tpbmcsXHJcbiAgICAgICAgICAgIHVzZXJMZXZlbFZhbHVlOiB0aGlzLnBlclBhc3NlbmdlclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2ggPSAodGVybXM6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8R2V0TWlBdXRvU3VnZXN0aW9uQXJyYXk+ID0+IHtcclxuICAgIHJldHVybiB0ZXJtcy5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBvYiA9XHJcbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDJcclxuICAgICAgICAgICAgPyB0aGlzLmJhc2tldFNlcnZpY2UuZ2V0TWlBdXRvU3VnZXN0aW9ucyhcclxuICAgICAgICAgICAgICAgIHRoaXMuaWQsXHJcbiAgICAgICAgICAgICAgICB0ZXJtLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogb2YodGhpcy5hdmFsaWFibGVJdGVtcyk7XHJcblxyXG4gICAgICAgIHJldHVybiBvYjtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoc3VnZXN0aW9uczogR2V0TWlBdXRvU3VnZXN0aW9uQXJyYXkpID0+IHtcclxuICAgICAgICB0aGlzLmF2YWxpYWJsZUl0ZW1zID0gc3VnZXN0aW9ucztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgc2F2ZShiYXNrZXRpZDogc3RyaW5nLCB1c2VyaWQ/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYmFza2V0U2VydmljZS5zZXRNaVNlbGVjdGVkVmFsdWUoXHJcbiAgICAgIGJhc2tldGlkLFxyXG4gICAgICB0aGlzLFxyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdLnZhbHVlLmlkLFxyXG4gICAgICB1c2VyaWRcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBIaWRkZW5NYW5hZ2VtZW50SW5mbyBleHRlbmRzIE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XHJcbiAgY29uc3RydWN0b3IobWFuYWdlbWVudEluZm86IE1hbmFnZW1lbnRJbmZvKSB7XHJcbiAgICBzdXBlcihtYW5hZ2VtZW50SW5mbyk7XHJcbiAgfVxyXG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbDogc3RyaW5nKTogdm9pZCB7fVxyXG5cclxuICBzYXZlKGJhc2tldGlkOiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZykge31cclxufVxyXG5cclxuY2xhc3MgRHJvcGRvd25NYW5hZ2VtZW50SW5mbyBleHRlbmRzIE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8sXHJcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihtYW5hZ2VtZW50SW5mbyk7XHJcbiAgICBpZiAodGhpcy52YWx1ZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hdmFsaWFibGVJdGVtcyA9IHRoaXMudmFsdWVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTm8gdmFsdWVzIGZvciBEcm9wZG93biBNSSBmaWVsZCAgJyk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgJiYgIXRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmRlZmF1bHRWYWx1ZS5pZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc1swXS52YWx1ZSA9IHRoaXMuZGVmYXVsdFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0gPyB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdLnZhbHVlLmlkIDogJ19fTk9ORSc7XHJcbiAgfVxyXG5cclxuICBhc3luYyBoYXNFcnJvcnMoaWQ6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuICF0aGlzLmF2YWxpYWJsZUl0ZW1zLmZpbmQoKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZTEuaWQgPT09IGlkO1xyXG4gICAgICB9KVxyXG4gICAgICAgID8geyBoYXNFcnJvcnM6IHRydWUgfVxyXG4gICAgICAgIDogbnVsbDtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWUoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWU6IE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB0aGlzLmF2YWxpYWJsZUl0ZW1zLmZpbmQoXHJcbiAgICAgICh2YWx1ZTE6IE1hbmFnZW1lbnRJbmZvVmFsdWUpID0+IHtcclxuICAgICAgICByZXR1cm4gdmFsdWUxLmlkID09PSBpZDtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIGlmICghIXZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgICAgaWQ6IHZhbHVlLmlkLFxyXG4gICAgICAgICAgICBsYWJlbDogdmFsdWUubGFiZWwsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSxcclxuICAgICAgICAgICAgZGVmYXVsdDogdmFsdWUuZGVmYXVsdCxcclxuICAgICAgICAgICAgZml4ZWQ6IHZhbHVlLmZpeGVkLFxyXG4gICAgICAgICAgICBhZ2VudE9ubHk6IHZhbHVlLmFnZW50T25seVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGJhc2tldExldmVsVmFsdWU6IHRoaXMucGVyQm9va2luZyxcclxuICAgICAgICAgIHVzZXJMZXZlbFZhbHVlOiB0aGlzLnBlclBhc3NlbmdlclxyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmUoYmFza2V0aWQ6IHN0cmluZywgdXNlcmlkPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmJhc2tldFNlcnZpY2Uuc2V0TWlTZWxlY3RlZFZhbHVlKFxyXG4gICAgICBiYXNrZXRpZCxcclxuICAgICAgdGhpcyxcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc1swXS52YWx1ZS5pZCxcclxuICAgICAgdXNlcmlkXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG1ha2VNYW5hZ2FtZW50SW5mbyA9IChcclxuICBtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8sXHJcbiAgYmFza2V0U2VydmljZTogRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2VcclxuKTogTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkID0+IHtcclxuICBzd2l0Y2ggKG1hbmFnZW1lbnRJbmZvLnVpUHJlc2VudGF0aW9uKSB7XHJcbiAgICBjYXNlIFVpUHJlc2VudGF0aW9uLkZyZWVUZXh0OlxyXG4gICAgICByZXR1cm4gbmV3IEZyZWVUZXh0TWFuYWdlbWVudEluZm8obWFuYWdlbWVudEluZm8sIGJhc2tldFNlcnZpY2UpO1xyXG4gICAgY2FzZSBVaVByZXNlbnRhdGlvbi5BdXRvU3VnZ2VzdDpcclxuICAgICAgcmV0dXJuIG5ldyBBdXRvU3VnZXN0TWFuYWdlbWVudEluZm8obWFuYWdlbWVudEluZm8sIGJhc2tldFNlcnZpY2UpO1xyXG4gICAgY2FzZSBVaVByZXNlbnRhdGlvbi5IaWRkZW46XHJcbiAgICAgIHJldHVybiBuZXcgSGlkZGVuTWFuYWdlbWVudEluZm8obWFuYWdlbWVudEluZm8pO1xyXG4gICAgY2FzZSBVaVByZXNlbnRhdGlvbi5Ecm9wZG93bjpcclxuICAgICAgcmV0dXJuIG5ldyBEcm9wZG93bk1hbmFnZW1lbnRJbmZvKG1hbmFnZW1lbnRJbmZvLCBiYXNrZXRTZXJ2aWNlKTtcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIGNvbnN0IHRtcDogbmV2ZXIgPSBtYW5hZ2VtZW50SW5mby51aVByZXNlbnRhdGlvbjtcclxuICAgICAgY29uc29sZS5sb2codG1wKTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn07XHJcbiJdfQ==
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlbWVudC1pbmZvLWFuZC12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvY2xhc3Nlcy9tYW5hZ2VtZW50LWluZm8tYW5kLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQVVMLGNBQWMsRUFDZixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE1BQU0sT0FBZ0Isd0JBQ3BCLFNBQVEsZ0JBQWdCO0lBaUR4QixZQUFzQixjQUE4QjtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQXhCVixjQUFjO1FBQ2QsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWlEMUUsV0FBTSxHQUFHLENBQUMsS0FBeUIsRUFBdUMsRUFBRTtZQUMxRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUM7UUEzQkEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7SUFDakYsQ0FBQztJQXRCRCxJQUFJLGNBQWM7UUFHaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxNQUFxQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFB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Q3JDLE1BQU0sRUFDTixLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLGNBQThCLEVBQzlCLGFBQStDLEVBQ3JCLEVBQUU7SUFDNUIsUUFBUSxjQUFjLENBQUMsY0FBYyxFQUFFO1FBQ3JDLEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNuRSxLQUFLLGNBQWMsQ0FBQyxXQUFXO1lBQzdCLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckUsS0FBSyxjQUFjLENBQUMsTUFBTTtZQUN4QixPQUFPLElBQUksb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsS0FBSyxjQUFjLENBQUMsUUFBUTtZQUMxQixPQUFPLElBQUksc0JBQXNCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ25FO1lBQ0UsTUFBTSxHQUFHLEdBQVUsY0FBYyxDQUFDLGNBQWMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgZGVib3VuY2VUaW1lLFxyXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxyXG4gIHN3aXRjaE1hcCxcclxuICB0YXBcclxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFZhbGlkYXRvckNoZWNrZXIgfSBmcm9tICcuLi9jbGFzc2VzL3ZhbGlkYXRvci5jaGVja2VyJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0llbnRlcnByaXNlLWJhc2tldC5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBCb29rZWRCeUZpZWxkLFxyXG4gIEZpZWxkV3JhcHBlcixcclxuICBEZWZhdWx0TWFuYWdlbWVudEluZm9WYWx1ZSxcclxuICBNYW5hZ2VtZW50SW5mbyxcclxuICBNYW5hZ2VtZW50SW5mb1ZhbHVlLFxyXG4gIE1heWJlLFxyXG4gIFNjYWxhcnMsXHJcbiAgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLFxyXG4gIFNlcnZpY2UsXHJcbiAgVWlQcmVzZW50YXRpb25cclxufSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgR2V0TWlBdXRvU3VnZXN0aW9uQXJyYXksIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkXHJcbiAgZXh0ZW5kcyBWYWxpZGF0b3JDaGVja2VyXHJcbiAgaW1wbGVtZW50cyBNYW5hZ2VtZW50SW5mb1xyXG57XHJcbiAgLy8gTWFuYWdlbWVudEluZm8gaW50ZXJmYWNlXHJcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBkYklkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xyXG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxEZWZhdWx0TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGZpeGVkVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xyXG4gIGdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcclxuICBoYW5kb2ZmOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XHJcbiAgbWFuZGF0b3J5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgX3NlbGVjdGVkVmFsdWVzOiBBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xyXG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcclxuICB1aVByZXNlbnRhdGlvbjogRmllbGRXcmFwcGVyPFVpUHJlc2VudGF0aW9uPjtcclxuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICB2YWx1ZU1hc2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICB2YWx1ZXM6IEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xyXG4gIHRlbXBWYWx1ZT86IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XHJcblxyXG4gIC8vIGV4dHJhRmllbGRzXHJcbiAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBhdmFsaWFibGVJdGVtczogR2V0TWlBdXRvU3VnZXN0aW9uQXJyYXk7XHJcblxyXG4gIGdldCBzZWxlY3RlZFZhbHVlcygpOiBBcnJheTxcclxuICAgIE1heWJlPEZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+PlxyXG4gID4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkVmFsdWVzO1xyXG4gIH1cclxuXHJcbiAgc2V0IHNlbGVjdGVkVmFsdWVzKHZhbHVlczogU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlW10pIHtcclxuICAgIGlmICghT2JqZWN0LmlzKHRoaXMuX3NlbGVjdGVkVmFsdWVzLCB2YWx1ZXMpKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkVmFsdWVzID0gdmFsdWVzO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2V0VmFsdWUodmFsKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG1hbmFnZW1lbnRJbmZvKTsgLy8gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgY2FsbCBfaXNWYWxpZCgpXHJcbiAgfVxyXG5cclxuICByZWFzb246IGJvb2xlYW47XHJcbiAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0PzogYm9vbGVhbjtcclxuICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdD86IGJvb2xlYW47XHJcbiAgZW5mb3JjZVVzZXJEZWZhdWx0PzogYm9vbGVhbjtcclxuICBib29rZWRCeUZpZWxkPzogQm9va2VkQnlGaWVsZDtcclxuXHJcbiAgaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhdGhpcy5tYW5kYXRvcnkgfHwgdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGggIT09IDA7XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnModmFsdWU6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmVzb2x2ZShcclxuICAgICAgICB0aGlzLm1hbmRhdG9yeSAmJiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgID8geyBoYXNFcnJvcnM6IHRydWUgfVxyXG4gICAgICAgICAgOiBudWxsXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFic3RyYWN0IGdldFZhbHVlKCk6IHN0cmluZztcclxuICBhYnN0cmFjdCBzZXRWYWx1ZSh2YWw6IHN0cmluZyk6IHZvaWQ7XHJcbiAgc2VhcmNoID0gKHRlcm1zOiBPYnNlcnZhYmxlPHN0cmluZz4pOiBPYnNlcnZhYmxlPEdldE1pQXV0b1N1Z2VzdGlvbkFycmF5PiA9PiB7XHJcbiAgICByZXR1cm4gb2YoW10pO1xyXG4gIH07XHJcblxyXG4gIGFic3RyYWN0IHNhdmUoYmFza2V0aWQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nLCBndWVzdD86IGJvb2xlYW4pOiB2b2lkO1xyXG59XHJcblxyXG5jbGFzcyBGcmVlVGV4dE1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkIHtcclxuICB0ZW1wVmFsdWU6IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbyxcclxuICAgIHByaXZhdGUgYmFza2V0U2VydmljZTogRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1hbmFnZW1lbnRJbmZvKTtcclxuICAgIHRoaXMudGVtcFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlc1xyXG4gICAgICA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0/LmZyZWVWYWx1ZSB8fCAnJ1xyXG4gICAgICA6ICcnO1xyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlICYmICF0aGlzLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWUudmFsdWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0uZnJlZVZhbHVlID0gIHRoaXMuZGVmYXVsdFZhbHVlLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0gPyB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdLmZyZWVWYWx1ZSA6ICcnO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGVtcFZhbHVlID09PSB2YWwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50ZW1wVmFsdWUgPSB2YWw7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGZyZWVWYWx1ZTogdmFsLFxyXG4gICAgICAgIGJhc2tldExldmVsVmFsdWU6IHRoaXMucGVyQm9va2luZyxcclxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZTogdGhpcy5wZXJQYXNzZW5nZXJcclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIHNhdmUoYmFza2V0aWQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nLCBndWVzdD86IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuYmFza2V0U2VydmljZS5zZXRNaUZyZWVWYWx1ZShcclxuICAgICAgYmFza2V0aWQsXHJcbiAgICAgIHRoaXMsXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0gPyB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdLmZyZWVWYWx1ZSA6ICcnLFxyXG4gICAgICB1c2VySWQsXHJcbiAgICAgIGd1ZXN0XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgaGFzRXJyb3JzKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm1hbmRhdG9yeSAmJiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICByZXNvbHZlKHsgaGFzRXJyb3JzOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlTWFzayAmJiAhIXZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFza2V0U2VydmljZVxyXG4gICAgICAgICAgLnZhbGlkYXRlRnJlZVZhbGVNaSh0aGlzLCB2YWx1ZSlcclxuICAgICAgICAgIC50aGVuKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQgPyBudWxsIDogeyBoYXNFcnJvcnM6IHRydWUgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmVzb2x2ZShcclxuICAgICAgICAgICEhdGhpcy52YWx1ZXMuZmluZCgobWl2OiBNYW5hZ2VtZW50SW5mb1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBtaXYudmFsdWUgPT09IHZhbHVlO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICAgPyBudWxsXHJcbiAgICAgICAgICAgIDogeyBoYXNFcnJvcnM6IHRydWUgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVzb2x2ZShzdXBlci5oYXNFcnJvcnModmFsdWUpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBBdXRvU3VnZXN0TWFuYWdlbWVudEluZm8gZXh0ZW5kcyBNYW5hZ2VtZW50SW5mb0FuZElzVmFsaWQge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgbWFuYWdlbWVudEluZm86IE1hbmFnZW1lbnRJbmZvLFxyXG4gICAgcHJpdmF0ZSBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZVxyXG4gICkge1xyXG4gICAgc3VwZXIobWFuYWdlbWVudEluZm8pO1xyXG4gICAgaWYgKHRoaXMudmFsdWVzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuYXZhbGlhYmxlSXRlbXMgPSB0aGlzLnZhbHVlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHZhbHVlcyBmb3IgQXV0b1N1Z2VzdCBmaWVsZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlICYmICF0aGlzLnNlbGVjdGVkVmFsdWVzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWUudmFsdWU7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUgPSB7XHJcbiAgICAgICAgaWQ6IHRoaXMuZGVmYXVsdFZhbHVlLnZhbHVlSWQsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuZGVmYXVsdFZhbHVlLmxhYmVsLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLmRlZmF1bHRWYWx1ZS52YWx1ZSxcclxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgICAgIGZpeGVkOiBmYWxzZSxcclxuICAgICAgICBhZ2VudE9ubHk6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlc1swXSA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUuaWQgOiAnX19OT05FJztcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhc0Vycm9ycyh2YWx1ZTogYW55KTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gKHsgaGFzRXJyb3JzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB0aGlzLmF2YWxpYWJsZUl0ZW1zLmZpbmQoKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4geyByZXR1cm4gdmFsdWUxLmlkID09PSB2YWx1ZS5pZDt9KSA/IG51bGwgOiB7IGhhc0Vycm9yczogdHJ1ZSB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCB2YWx1ZTogTWFuYWdlbWVudEluZm9WYWx1ZSA9IHRoaXMuYXZhbGlhYmxlSXRlbXMuZmluZChcclxuICAgICAgICAodmFsdWUxOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUxLmlkID09PSBpZDtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghIXZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdmFsdWU6IHtcclxuICAgICAgICAgICAgICBpZDogdmFsdWUuaWQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHZhbHVlLmxhYmVsLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS52YWx1ZSxcclxuICAgICAgICAgICAgICBkZWZhdWx0OiB2YWx1ZS5kZWZhdWx0LFxyXG4gICAgICAgICAgICAgIGZpeGVkOiB2YWx1ZS5maXhlZCxcclxuICAgICAgICAgICAgICBhZ2VudE9ubHk6IHZhbHVlLmFnZW50T25seVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBiYXNrZXRMZXZlbFZhbHVlOiB0aGlzLnBlckJvb2tpbmcsXHJcbiAgICAgICAgICAgIHVzZXJMZXZlbFZhbHVlOiB0aGlzLnBlclBhc3NlbmdlclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2ggPSAodGVybXM6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8R2V0TWlBdXRvU3VnZXN0aW9uQXJyYXk+ID0+IHtcclxuICAgIHJldHVybiB0ZXJtcy5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBvYiA9XHJcbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDJcclxuICAgICAgICAgICAgPyB0aGlzLmJhc2tldFNlcnZpY2UuZ2V0TWlBdXRvU3VnZXN0aW9ucyhcclxuICAgICAgICAgICAgICAgIHRoaXMuaWQsXHJcbiAgICAgICAgICAgICAgICB0ZXJtLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmdcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogb2YodGhpcy5hdmFsaWFibGVJdGVtcyk7XHJcblxyXG4gICAgICAgIHJldHVybiBvYjtcclxuICAgICAgfSksXHJcbiAgICAgIHRhcCgoc3VnZXN0aW9uczogR2V0TWlBdXRvU3VnZXN0aW9uQXJyYXkpID0+IHtcclxuICAgICAgICB0aGlzLmF2YWxpYWJsZUl0ZW1zID0gc3VnZXN0aW9ucztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfTtcclxuXHJcbiAgc2F2ZShiYXNrZXRpZDogc3RyaW5nLCB1c2VyaWQ/OiBzdHJpbmcsIGd1ZXN0PzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5iYXNrZXRTZXJ2aWNlLnNldE1pU2VsZWN0ZWRWYWx1ZShcclxuICAgICAgYmFza2V0aWQsXHJcbiAgICAgIHRoaXMsXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0gPyB0aGlzLnNlbGVjdGVkVmFsdWVzWzBdPy52YWx1ZT8uaWQgOiAnJyxcclxuICAgICAgdXNlcmlkLFxyXG4gICAgICBndWVzdFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEhpZGRlbk1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkIHtcclxuICBjb25zdHJ1Y3RvcihtYW5hZ2VtZW50SW5mbzogTWFuYWdlbWVudEluZm8pIHtcclxuICAgIHN1cGVyKG1hbmFnZW1lbnRJbmZvKTtcclxuICB9XHJcbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsOiBzdHJpbmcpOiB2b2lkIHt9XHJcblxyXG4gIHNhdmUoYmFza2V0aWQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nKSB7fVxyXG59XHJcblxyXG5jbGFzcyBEcm9wZG93bk1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgTWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbyxcclxuICAgIHByaXZhdGUgYmFza2V0U2VydmljZTogRW50ZXJwcmlzZUJhc2tldFNlcnZpY2VJbnRlcmZhY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1hbmFnZW1lbnRJbmZvKTtcclxuICAgIGlmICh0aGlzLnZhbHVlcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmF2YWxpYWJsZUl0ZW1zID0gdGhpcy52YWx1ZXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdObyB2YWx1ZXMgZm9yIERyb3Bkb3duIE1JIGZpZWxkICAnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSAmJiAhdGhpcy5zZWxlY3RlZFZhbHVlcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZGVmYXVsdFZhbHVlLnZhbHVlSWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUgPSB7XHJcbiAgICAgICAgaWQ6IHRoaXMuZGVmYXVsdFZhbHVlLnZhbHVlSWQsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuZGVmYXVsdFZhbHVlLmxhYmVsLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLmRlZmF1bHRWYWx1ZS52YWx1ZSxcclxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxyXG4gICAgICAgIGZpeGVkOiBmYWxzZSxcclxuICAgICAgICBhZ2VudE9ubHk6IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlc1swXSA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUuaWQgOiAnX19OT05FJztcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhc0Vycm9ycyhpZDogc3RyaW5nKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuYXZhbGlhYmxlSXRlbXMuZmluZCgodmFsdWUxOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlMS5pZCA9PT0gaWQ7XHJcbiAgICAgIH0pXHJcbiAgICAgICAgPyB7IGhhc0Vycm9yczogdHJ1ZSB9XHJcbiAgICAgICAgOiBudWxsO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB2YWx1ZTogTWFuYWdlbWVudEluZm9WYWx1ZSA9IHRoaXMuYXZhbGlhYmxlSXRlbXMuZmluZChcclxuICAgICAgKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZTEuaWQgPT09IGlkO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgaWYgKCEhdmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBpZDogdmFsdWUuaWQsXHJcbiAgICAgICAgICAgIGxhYmVsOiB2YWx1ZS5sYWJlbCxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLnZhbHVlLFxyXG4gICAgICAgICAgICBkZWZhdWx0OiB2YWx1ZS5kZWZhdWx0LFxyXG4gICAgICAgICAgICBmaXhlZDogdmFsdWUuZml4ZWQsXHJcbiAgICAgICAgICAgIGFnZW50T25seTogdmFsdWUuYWdlbnRPbmx5XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZTogdGhpcy5wZXJCb29raW5nLFxyXG4gICAgICAgICAgdXNlckxldmVsVmFsdWU6IHRoaXMucGVyUGFzc2VuZ2VyXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZShiYXNrZXRpZDogc3RyaW5nLCB1c2VyaWQ/OiBzdHJpbmcsIGd1ZXN0PzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5iYXNrZXRTZXJ2aWNlLnNldE1pU2VsZWN0ZWRWYWx1ZShcclxuICAgICAgYmFza2V0aWQsXHJcbiAgICAgIHRoaXMsXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNbMF0udmFsdWUuaWQgfHwgJycsXHJcbiAgICAgIHVzZXJpZCxcclxuICAgICAgZ3Vlc3RcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgbWFrZU1hbmFnYW1lbnRJbmZvID0gKFxyXG4gIG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbyxcclxuICBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZVxyXG4pOiBNYW5hZ2VtZW50SW5mb0FuZElzVmFsaWQgPT4ge1xyXG4gIHN3aXRjaCAobWFuYWdlbWVudEluZm8udWlQcmVzZW50YXRpb24pIHtcclxuICAgIGNhc2UgVWlQcmVzZW50YXRpb24uRnJlZVRleHQ6XHJcbiAgICAgIHJldHVybiBuZXcgRnJlZVRleHRNYW5hZ2VtZW50SW5mbyhtYW5hZ2VtZW50SW5mbywgYmFza2V0U2VydmljZSk7XHJcbiAgICBjYXNlIFVpUHJlc2VudGF0aW9uLkF1dG9TdWdnZXN0OlxyXG4gICAgICByZXR1cm4gbmV3IEF1dG9TdWdlc3RNYW5hZ2VtZW50SW5mbyhtYW5hZ2VtZW50SW5mbywgYmFza2V0U2VydmljZSk7XHJcbiAgICBjYXNlIFVpUHJlc2VudGF0aW9uLkhpZGRlbjpcclxuICAgICAgcmV0dXJuIG5ldyBIaWRkZW5NYW5hZ2VtZW50SW5mbyhtYW5hZ2VtZW50SW5mbyk7XHJcbiAgICBjYXNlIFVpUHJlc2VudGF0aW9uLkRyb3Bkb3duOlxyXG4gICAgICByZXR1cm4gbmV3IERyb3Bkb3duTWFuYWdlbWVudEluZm8obWFuYWdlbWVudEluZm8sIGJhc2tldFNlcnZpY2UpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgY29uc3QgdG1wOiBuZXZlciA9IG1hbmFnZW1lbnRJbmZvLnVpUHJlc2VudGF0aW9uO1xyXG4gICAgICBjb25zb2xlLmxvZyh0bXApO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufTtcclxuIl19
|
|
@@ -26,4 +26,5 @@ ModalTypes.ModalFlightFareComponent = new ModalTypes('ModalFlightFareComponent')
|
|
|
26
26
|
ModalTypes.FlightExtrasDialogComponent = new ModalTypes('FlightExtrasDialogComponent');
|
|
27
27
|
ModalTypes.OfflineRequestDialogComponent = new ModalTypes('OfflineRequestDialogComponent');
|
|
28
28
|
ModalTypes.RequiresReasonDialogComponent = new ModalTypes('RequiresReasonDialogComponent');
|
|
29
|
-
|
|
29
|
+
ModalTypes.DifferentInvokdedUserComponent = new ModalTypes('DifferentInvokdedUserComponent');
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdHlwZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvY2xhc3Nlcy9tb2RhbC10eXBlcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBb0RyQixZQUE2QixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQWZsQyxlQUFVLEdBQVEsSUFBSSxDQUFDO1FBZ0I1QixVQUFrQyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBaEJELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FDViwyQkFBMkIsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUN4QyxJQUFJLENBQUMsVUFBVSxFQUNmLEtBQUssQ0FDTixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOztBQWxEZSw4QkFBbUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzVELHFDQUEwQixHQUFHLElBQUksVUFBVSxDQUN6RCw0QkFBNEIsQ0FDN0IsQ0FBQztBQUNjLDZCQUFrQixHQUFHLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDMUQscUJBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxQywwQkFBZSxHQUFHLElBQUksVUFBVSxDQUM5QywrQkFBK0IsQ0FDaEMsQ0FBQztBQUNjLHdDQUE2QixHQUFHLElBQUksVUFBVSxDQUM1RCwrQkFBK0IsQ0FDaEMsQ0FBQztBQUNjLHNDQUEyQixHQUFHLElBQUksVUFBVSxDQUMxRCw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNjLHFDQUEwQixHQUFHLElBQUksVUFBVSxDQUN6RCw0QkFBNEIsQ0FDN0IsQ0FBQztBQUNjLG1DQUF3QixHQUFHLElBQUksVUFBVSxDQUN2RCwwQkFBMEIsQ0FDM0IsQ0FBQztBQUNjLHNDQUEyQixHQUFHLElBQUksVUFBVSxDQUMxRCw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNjLHdDQUE2QixHQUFHLElBQUksVUFBVSxDQUM1RCwrQkFBK0IsQ0FDaEMsQ0FBQztBQUVjLHdDQUE2QixHQUFHLElBQUksVUFBVSxDQUM1RCwrQkFBK0IsQ0FDaEMsQ0FBQztBQUVjLHlDQUE4QixHQUFHLElBQUksVUFBVSxDQUM3RCxnQ0FBZ0MsQ0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBNb2RhbFR5cGVzIHtcclxuICBzdGF0aWMgcmVhZG9ubHkgTW9kYWxFcnJvckNvbXBvbmVudCA9IG5ldyBNb2RhbFR5cGVzKCdNb2RhbEVycm9yQ29tcG9uZW50Jyk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1vZGFsTmV0V29ya0Vycm9yQ29tcG9uZW50ID0gbmV3IE1vZGFsVHlwZXMoXHJcbiAgICAnTW9kYWxOZXR3b3JrRXJyb3JDb21wb25lbnQnXHJcbiAgKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgQmFzZU1vZGFsQ29tcG9uZW50ID0gbmV3IE1vZGFsVHlwZXMoJ0Jhc2VNb2RhbENvbXBvbmVudCcpO1xyXG4gIHN0YXRpYyByZWFkb25seSBBdXRvTG9nb3V0ID0gbmV3IE1vZGFsVHlwZXMoJ0F1dG9Mb2dvdXQnKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgUmlza0FsZXJ0RGV0YWlsID0gbmV3IE1vZGFsVHlwZXMoXHJcbiAgICAnUmlza0FsZXJ0RGV0YWlsTW9kYWxDb21wb25lbnQnXHJcbiAgKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgQWx0ZXJuYXRpdmVSYWlsTW9kYWxDb21wb25lbnQgPSBuZXcgTW9kYWxUeXBlcyhcclxuICAgICdBbHRlcm5hdGl2ZVJhaWxNb2RhbENvbXBvbmVudCdcclxuICApO1xyXG4gIHN0YXRpYyByZWFkb25seSBXYXJuaW5nUmVtb3ZlTW9kYWxDb21wb25lbnQgPSBuZXcgTW9kYWxUeXBlcyhcclxuICAgICdXYXJuaW5nUmVtb3ZlTW9kYWxDb21wb25lbnQnXHJcbiAgKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgUmFpbFRpY2tldHNEaWFsb2dDb21wb25lbnQgPSBuZXcgTW9kYWxUeXBlcyhcclxuICAgICdSYWlsVGlja2V0c0RpYWxvZ0NvbXBvbmVudCdcclxuICApO1xyXG4gIHN0YXRpYyByZWFkb25seSBNb2RhbEZsaWdodEZhcmVDb21wb25lbnQgPSBuZXcgTW9kYWxUeXBlcyhcclxuICAgICdNb2RhbEZsaWdodEZhcmVDb21wb25lbnQnXHJcbiAgKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgRmxpZ2h0RXh0cmFzRGlhbG9nQ29tcG9uZW50ID0gbmV3IE1vZGFsVHlwZXMoXHJcbiAgICAnRmxpZ2h0RXh0cmFzRGlhbG9nQ29tcG9uZW50J1xyXG4gICk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE9mZmxpbmVSZXF1ZXN0RGlhbG9nQ29tcG9uZW50ID0gbmV3IE1vZGFsVHlwZXMoXHJcbiAgICAnT2ZmbGluZVJlcXVlc3REaWFsb2dDb21wb25lbnQnXHJcbiAgKTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFJlcXVpcmVzUmVhc29uRGlhbG9nQ29tcG9uZW50ID0gbmV3IE1vZGFsVHlwZXMoXHJcbiAgICAnUmVxdWlyZXNSZWFzb25EaWFsb2dDb21wb25lbnQnXHJcbiAgKTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IERpZmZlcmVudEludm9rZGVkVXNlckNvbXBvbmVudCA9IG5ldyBNb2RhbFR5cGVzKFxyXG4gICAgJ0RpZmZlcmVudEludm9rZGVkVXNlckNvbXBvbmVudCdcclxuICApO1xyXG5cclxuICBwcml2YXRlIF9jb21wb25lbnQ6IGFueSA9IG51bGw7XHJcbiAgZ2V0IGNvbXBvbmVudCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHNldCBjb21wb25lbnQodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudCkge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgJ0NvbXBuZW50IGFscmVhZHkgc2V0IGZvciAnICsgdGhpcy52YWx1ZSxcclxuICAgICAgICB0aGlzLl9jb21wb25lbnQsXHJcbiAgICAgICAgdmFsdWVcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NvbXBvbmVudCA9IHZhbHVlO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIChNb2RhbFR5cGVzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3ZhbHVlXSA9IHRoaXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|