@esolve/ng-esolve-connect 0.87.1 → 0.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/esm2022/lib/account/address/classes/esolve-address.model.mjs +1 -1
- package/esm2022/lib/account/address/classes/esolve-session-address-result.model.mjs +1 -1
- package/esm2022/lib/account/esolve-account.service.mjs +13 -9
- package/esm2022/lib/account/esolve-session-shipping-result.model.mjs +1 -1
- package/esm2022/lib/account/location/classes/esolve-location-update-result.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-statement-ageing.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-statement-balances.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-statement-transaction.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-statement.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-user-account-business.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-user-account-contact.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-user-account.model.mjs +1 -1
- package/esm2022/lib/account/user-account/classes/esolve-user-client-account.model.mjs +1 -1
- package/esm2022/lib/assets/classes/esolve-asset.model.mjs +1 -1
- package/esm2022/lib/assets/classes/esolve-linked-asset.model.mjs +1 -1
- package/esm2022/lib/assets/esolve-assets.service.mjs +7 -5
- package/esm2022/lib/auth/esolve-auth-interceptor.service.mjs +4 -4
- package/esm2022/lib/auth/esolve-auth.service.mjs +4 -4
- package/esm2022/lib/auth/esolve-otp.service.mjs +4 -4
- package/esm2022/lib/auth/models/esolve-otp-validation.model.mjs +1 -1
- package/esm2022/lib/banners/classes/esolve-banner.model.mjs +1 -1
- package/esm2022/lib/banners/esolve-banner.service.mjs +7 -5
- package/esm2022/lib/cart/classes/esolve-cart-alternative.model.mjs +1 -1
- package/esm2022/lib/cart/classes/esolve-cart-stock-item.model.mjs +1 -1
- package/esm2022/lib/cart/classes/esolve-cart-totals.model.mjs +1 -1
- package/esm2022/lib/cart/classes/esolve-delivery-category-totals.model.mjs +1 -1
- package/esm2022/lib/cart/classes/esolve-transaction-analytics-data.model.mjs +1 -1
- package/esm2022/lib/cart/esolve-cart.service.mjs +4 -4
- package/esm2022/lib/category-tree/classes/esolve-category-tree-item.model.mjs +1 -1
- package/esm2022/lib/category-tree/esolve-category-tree.service.mjs +7 -5
- package/esm2022/lib/competitions/classes/esolve-competition-winner.model.mjs +1 -1
- package/esm2022/lib/competitions/classes/esolve-competition.model.mjs +1 -1
- package/esm2022/lib/competitions/services/esolve-competitions.service.mjs +7 -5
- package/esm2022/lib/core/esolve-config.service.mjs +4 -4
- package/esm2022/lib/core/providers/provide-ng-esolve-connect.function.mjs +1 -1
- package/esm2022/lib/coupons/classes/esolve-coupon.model.mjs +1 -1
- package/esm2022/lib/coupons/esolve-coupons.service.mjs +4 -4
- package/esm2022/lib/deliveries/classes/esolve-delivery-status.model.mjs +1 -1
- package/esm2022/lib/deliveries/esolve-deliveries.service.mjs +8 -11
- package/esm2022/lib/device/esolve-device.service.mjs +4 -4
- package/esm2022/lib/enquiry/esolve-enquiry.service.mjs +4 -4
- package/esm2022/lib/geocoder/esolve-geocoder.service.mjs +4 -4
- package/esm2022/lib/images/directives/cdn-src.directive.mjs +4 -4
- package/esm2022/lib/images/functions/process-image-src.function.mjs +1 -1
- package/esm2022/lib/locations/classes/esolve-location-trading-times.model.mjs +1 -1
- package/esm2022/lib/locations/classes/esolve-location.model.mjs +1 -1
- package/esm2022/lib/locations/esolve-locations.service.mjs +7 -5
- package/esm2022/lib/manufacturers/classes/esolve-manufacturer.model.mjs +1 -1
- package/esm2022/lib/manufacturers/esolve-manufacturers.service.mjs +7 -5
- package/esm2022/lib/menu/classes/esolve-menu-item.model.mjs +1 -1
- package/esm2022/lib/menu/esolve-menu.service.mjs +7 -5
- package/esm2022/lib/news/classes/esolve-news-article.model.mjs +1 -1
- package/esm2022/lib/news/classes/esolve-news-group.model.mjs +1 -1
- package/esm2022/lib/news/esolve-news.service.mjs +4 -4
- package/esm2022/lib/ng-esolve-connect.module.mjs +4 -4
- package/esm2022/lib/payment/classes/esolve-payment-result.model.mjs +1 -1
- package/esm2022/lib/payment/classes/esolve-vault-item-result.model.mjs +1 -1
- package/esm2022/lib/payment/esolve-payment.service.mjs +22 -10
- package/esm2022/lib/ranges/classes/esolve-range.model.mjs +1 -1
- package/esm2022/lib/ranges/esolve-ranges.service.mjs +7 -5
- package/esm2022/lib/seo/classes/esolve-seo-info.model.mjs +1 -1
- package/esm2022/lib/seo/esolve-seo.service.mjs +4 -4
- package/esm2022/lib/session/esolve-session-metadata.service.mjs +4 -4
- package/esm2022/lib/session/esolve-session.service.mjs +4 -4
- package/esm2022/lib/shared/cookie/esolve-cookie.service.mjs +3 -3
- package/esm2022/lib/shared/errors/esolve-error-handler.service.mjs +4 -4
- package/esm2022/lib/shared/errors/esolve-http-error.model.mjs +1 -1
- package/esm2022/lib/shared/esolve-hex-hash.function.mjs +1 -1
- package/esm2022/lib/shared/esolve-list.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-generic-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-multiple-select-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-range-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-single-select-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/classes/esolve-toggle-filter.model.mjs +1 -1
- package/esm2022/lib/shared/filters/esolve-filter-factory.mjs +1 -1
- package/esm2022/lib/shared/response/esolve-response-handler.service.mjs +4 -4
- package/esm2022/lib/shipping/classes/esolve-time-slot-config.model.mjs +1 -1
- package/esm2022/lib/shipping/classes/esolve-time-slot-date.model.mjs +1 -1
- package/esm2022/lib/shipping/classes/esolve-time-slot-days.model.mjs +1 -1
- package/esm2022/lib/shipping/classes/esolve-time-slot-times.model.mjs +1 -1
- package/esm2022/lib/shipping/classes/esolve-time-slot.model.mjs +1 -1
- package/esm2022/lib/shipping/esolve-shipping.service.mjs +4 -4
- package/esm2022/lib/specials/classes/esolve-special-image-collection.model.mjs +1 -1
- package/esm2022/lib/specials/classes/esolve-special.model.mjs +1 -1
- package/esm2022/lib/specials/esolve-specials.service.mjs +4 -4
- package/esm2022/lib/stock/classes/esolve-additional-stock-image.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-group.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-image-collection.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-image.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-item-base.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-item.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-price.model.mjs +1 -1
- package/esm2022/lib/stock/classes/esolve-stock-transaction-history.model.mjs +1 -1
- package/esm2022/lib/stock/esolve-stock.service.mjs +19 -9
- package/esm2022/lib/suppliers/esolve-suppliers.service.mjs +7 -5
- package/esm2022/lib/tags/classes/esolve-tag.model.mjs +1 -1
- package/esm2022/lib/tags/esolve-tags.service.mjs +7 -6
- package/esm2022/lib/topics/classes/esolve-topic.model.mjs +1 -1
- package/esm2022/lib/topics/esolve-topic.service.mjs +7 -5
- package/esm2022/lib/transactions/classes/esolve-transaction-delivery.model.mjs +1 -1
- package/esm2022/lib/transactions/classes/esolve-transaction-item.model.mjs +1 -1
- package/esm2022/lib/transactions/classes/esolve-transaction.model.mjs +1 -1
- package/esm2022/lib/transactions/esolve-transactions.service.mjs +5 -5
- package/esm2022/lib/vouchers/classes/esolve-voucher.model.mjs +1 -1
- package/esm2022/lib/vouchers/esolve-vouchers.service.mjs +4 -4
- package/esm2022/lib/wallet/classes/esolve-wallet-balances.model.mjs +1 -1
- package/esm2022/lib/wallet/classes/esolve-wallet-transaction.model.mjs +1 -1
- package/esm2022/lib/wallet/esolve-wallet.service.mjs +4 -4
- package/esm2022/lib/wishlist/esolve-wishlist.service.mjs +4 -4
- package/esm2022/media/lib/classes/esolve-media-article.model.mjs +1 -1
- package/esm2022/media/lib/classes/esolve-media-group.model.mjs +1 -1
- package/esm2022/media/lib/classes/esolve-media-layout-section.model.mjs +1 -1
- package/esm2022/media/lib/components/media-layout/esolve-media-layout.component.mjs +3 -3
- package/esm2022/media/lib/components/media-section/esolve-media-section.component.mjs +4 -4
- package/esm2022/media/lib/ng-esolve-connect-media.module.mjs +4 -4
- package/esm2022/media/lib/services/esolve-media-layout.service.mjs +4 -4
- package/esm2022/media/lib/services/esolve-media.service.mjs +4 -4
- package/esm2022/notifications/lib/classes/esolve-notification-button-action.model.mjs +1 -1
- package/esm2022/notifications/lib/classes/esolve-system-notification.model.mjs +1 -1
- package/esm2022/notifications/lib/services/esolve-notifications.service.mjs +4 -4
- package/esm2022/survey/lib/classes/esolve-survey-answer-result.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-check-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-input-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-options-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-radio-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-rating-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-select-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-textarea-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey-values-question.model.mjs +1 -1
- package/esm2022/survey/lib/classes/esolve-survey.model.mjs +1 -1
- package/esm2022/survey/lib/services/esolve-survey.service.mjs +4 -4
- package/fesm2022/esolve-ng-esolve-connect-media.mjs +16 -16
- package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
- package/fesm2022/esolve-ng-esolve-connect-notifications.mjs +3 -3
- package/fesm2022/esolve-ng-esolve-connect-notifications.mjs.map +1 -1
- package/fesm2022/esolve-ng-esolve-connect-survey.mjs +3 -3
- package/fesm2022/esolve-ng-esolve-connect-survey.mjs.map +1 -1
- package/fesm2022/esolve-ng-esolve-connect.mjs +197 -150
- package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
- package/lib/account/esolve-account.service.d.ts +1 -1
- package/lib/deliveries/esolve-deliveries.service.d.ts +1 -4
- package/package.json +7 -7
|
@@ -21,7 +21,11 @@ export class EsolvePaymentService {
|
|
|
21
21
|
*/
|
|
22
22
|
getPaymentMethods(options) {
|
|
23
23
|
return this.http
|
|
24
|
-
.get(`${this.config.api_url}/get-payment-methods.php`, {
|
|
24
|
+
.get(`${this.config.api_url}/get-payment-methods.php`, {
|
|
25
|
+
params: {
|
|
26
|
+
...options,
|
|
27
|
+
},
|
|
28
|
+
})
|
|
25
29
|
.pipe(map((response) => {
|
|
26
30
|
if (response.records === undefined) {
|
|
27
31
|
throw response;
|
|
@@ -38,7 +42,11 @@ export class EsolvePaymentService {
|
|
|
38
42
|
*/
|
|
39
43
|
getPaymentStatus(transaction_id) {
|
|
40
44
|
return this.http
|
|
41
|
-
.get(`${this.config.api_url}/get-payment-status.php`, {
|
|
45
|
+
.get(`${this.config.api_url}/get-payment-status.php`, {
|
|
46
|
+
params: {
|
|
47
|
+
cart_id: transaction_id,
|
|
48
|
+
},
|
|
49
|
+
})
|
|
42
50
|
.pipe(map((response) => {
|
|
43
51
|
if (response.records === undefined ||
|
|
44
52
|
Array.isArray(response.records)) {
|
|
@@ -60,7 +68,9 @@ export class EsolvePaymentService {
|
|
|
60
68
|
params = params.set('payment_methods_id', payment_methods_id);
|
|
61
69
|
}
|
|
62
70
|
return this.http
|
|
63
|
-
.get(`${this.config.api_url}/get-vault.php`, {
|
|
71
|
+
.get(`${this.config.api_url}/get-vault.php`, {
|
|
72
|
+
params,
|
|
73
|
+
})
|
|
64
74
|
.pipe(map((response) => {
|
|
65
75
|
if (response.records === undefined) {
|
|
66
76
|
throw response;
|
|
@@ -184,8 +194,8 @@ export class EsolvePaymentService {
|
|
|
184
194
|
cart_id: 0,
|
|
185
195
|
clients_id,
|
|
186
196
|
payment_methods_id,
|
|
187
|
-
transactions
|
|
188
|
-
}
|
|
197
|
+
transactions,
|
|
198
|
+
},
|
|
189
199
|
};
|
|
190
200
|
if (card) {
|
|
191
201
|
if (typeof card === 'number') {
|
|
@@ -224,7 +234,9 @@ export class EsolvePaymentService {
|
|
|
224
234
|
*/
|
|
225
235
|
getAccountPayments(options) {
|
|
226
236
|
return this.http
|
|
227
|
-
.get(`${this.config.api_url}/get-account-payments.php`, {
|
|
237
|
+
.get(`${this.config.api_url}/get-account-payments.php`, {
|
|
238
|
+
params: { ...options },
|
|
239
|
+
})
|
|
228
240
|
.pipe(map((response) => {
|
|
229
241
|
if (response.records === undefined) {
|
|
230
242
|
throw response;
|
|
@@ -294,13 +306,13 @@ export class EsolvePaymentService {
|
|
|
294
306
|
const year_string = card_data.expiry_year.padStart(4, '0');
|
|
295
307
|
return `${month_string}${year_string}`;
|
|
296
308
|
}
|
|
297
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
298
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolvePaymentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
310
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolvePaymentService, providedIn: 'root' }); }
|
|
299
311
|
}
|
|
300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolvePaymentService, decorators: [{
|
|
301
313
|
type: Injectable,
|
|
302
314
|
args: [{
|
|
303
315
|
providedIn: 'root',
|
|
304
316
|
}]
|
|
305
317
|
}] });
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUc1QixZQUFZLEdBRWYsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsR0FDeEIsTUFBTSxXQUFXLENBQUM7O0FBbUJuQixNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDakQsb0JBQWUsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQXlhM0U7SUF2YUc7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCLENBQ3BCLE9BQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sMEJBQTBCLEVBQ2hELEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FB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R0FBRyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUV6RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDMUM7U0FDSjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUFDLE9BQTRCO1FBQ2xELE1BQU0sS0FBSyxHQUFzQixFQUFFLENBQUM7UUFFcEMsSUFBSSxPQUFPLEVBQUU7WUFDVCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDMUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssY0FBYyxDQUFDLFNBQXlCO1FBQzVDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3RCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFM0QsT0FBTyxHQUFHLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzhHQTVhUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7XG4gICAgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3VsdCxcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbn0gZnJvbSAnLi4vc2hhcmVkJztcblxuaW1wb3J0IHtcbiAgICBFc29sdmVBY2NvdW50UGF5bWVudCxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kLFxuICAgIEVzb2x2ZVBheW1lbnRSZXN1bHQsXG4gICAgRXNvbHZlVmF1bHRJdGVtLFxuICAgIEVzb2x2ZVZhdWx0SXRlbVJlc3VsdCxcbn0gZnJvbSAnLi9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQWNjb3VudFBheW1lbnRSZWNvcmQsXG4gICAgRXNvbHZlQWNjb3VudFBheW1lbnRzT3B0aW9ucyxcbiAgICBFc29sdmVDYXJkRGF0YSxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kT3B0aW9ucyxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kUmVjb3JkLFxuICAgIEVzb2x2ZVBheW1lbnRSZWRpcmVjdExpbmtzLFxuICAgIEVzb2x2ZVBheW1lbnRSZXNwb25zZSxcbiAgICBFc29sdmVQYXltZW50U2V0Qm9keSxcbiAgICBFc29sdmVQYXltZW50U3RhdHVzLFxuICAgIEVzb2x2ZVZhdWx0UmVjb3JkLFxuICAgIEVzb2x2ZVZhdWx0UmVzcG9uc2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2FjY291bnQvdXNlci1hY2NvdW50JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlUGF5bWVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlSGFuZGxlciA9IGluamVjdChFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGF5bWVudCBtZXRob2RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgRmlsdGVyIG9wdGlvbnNcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHBheW1lbnQgbWV0aG9kc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXltZW50TWV0aG9kcyhcbiAgICAgICAgb3B0aW9ucz86IEVzb2x2ZVBheW1lbnRNZXRob2RPcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUGF5bWVudE1ldGhvZFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXBheW1lbnQtbWV0aG9kcy5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IC4uLm9wdGlvbnMgfSB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NQYXltZW50TWV0aG9kcyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmUgdGhlIHBheW1lbnQgc3RhdHVzIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbl9pZCBJRCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSBzdWNjZXNzIHN0YXR1cyBvZiB0aGUgcGF5bWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXltZW50U3RhdHVzKHRyYW5zYWN0aW9uX2lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVQYXltZW50U3RhdHVzPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXBheW1lbnQtc3RhdHVzLnBocGAsXG4gICAgICAgICAgICAgICAgeyBwYXJhbXM6IHsgY2FydF9pZDogdHJhbnNhY3Rpb25faWQgfSB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2UucmVjb3JkcylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZWNvcmRzLnN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2Ygc2F2ZWQgY2FyZHMgZnJvbSB0aGUgdmF1bHQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGF5bWVudF9tZXRob2RzX2lkIGVTb2x2ZSBJRCBvZiBhIHBheW1lbnQgbWV0aG9kXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBzYXZlZCBiYW5rIGNhcmRzXG4gICAgICovXG4gICAgcHVibGljIGdldFZhdWx0KFxuICAgICAgICBwYXltZW50X21ldGhvZHNfaWQ/OiBudW1iZXIsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVWYXVsdEl0ZW1bXT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBpZiAodHlwZW9mIHBheW1lbnRfbWV0aG9kc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BheW1lbnRfbWV0aG9kc19pZCcsIHBheW1lbnRfbWV0aG9kc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVZhdWx0UmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdmF1bHQucGhwYCxcbiAgICAgICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NWYXVsdEl0ZW1zKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgbmV3IGNhcmQgaW4gdGhlIHZhdWx0IE9SIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kc19pZCBTZWxlY3RlZCBwYXltZW50IG1ldGhvZFxuICAgICAqIEBwYXJhbSBjYXJkX2RhdGEgSW5mb3JtYXRpb24gb2YgYmFuayBjYXJkXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSB2YXVsdCBzZXQuXG4gICAgICovXG4gICAgcHVibGljIHNldFZhdWx0SXRlbShcbiAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkOiBudW1iZXIsXG4gICAgICAgIGNhcmRfZGF0YTogRXNvbHZlQ2FyZERhdGEsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVWYXVsdEl0ZW1SZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIHZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkLFxuICAgICAgICAgICAgICAgIGNhcmRfbnVtYmVyOiBjYXJkX2RhdGEuY2FyZF9udW1iZXIsXG4gICAgICAgICAgICAgICAgY2FyZF9uYW1lOiBjYXJkX2RhdGEubmFtZSxcbiAgICAgICAgICAgICAgICBjYXJkX2N2djogY2FyZF9kYXRhLmN2dixcbiAgICAgICAgICAgICAgICBjYXJkX2V4cGlyeTogdGhpcy5nZW5lcmF0ZUV4cGlyeShjYXJkX2RhdGEpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVWYXVsdFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXZhdWx0LnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZVZhdWx0SXRlbVJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXZhdWx0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgYSBjYXJkIGluIHRoZSB2YXVsdFxuICAgICAqXG4gICAgICogQHBhcmFtIGlkIElEIG9mIHRoZSB2YXVsdCBpdGVtXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSB2YXVsdCBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZVZhdWx0SXRlbShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmRlbGV0ZTxFc29sdmVEZWxldGVSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZGVsZXRlLXZhdWx0LnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgaWQgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0ID09PSBudWxsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMgIT09ICdzdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGh0dHBfcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVzb2x2ZVJlc3VsdChcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UucmVzdWx0LmNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cERlbGV0ZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2RlbGV0ZS12YXVsdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcGF5bWVudCBmb3IgdGhlIHNwZWNpZmllZCB0cmFuc2FjdGlvbiB1c2luZyBzZWxlY3RlZCBwYXltZW50XG4gICAgICogbWV0aG9kLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9uX2lkIGVTb2x2ZSBJRCB0byB0aGUgdHJhbnNhY3Rpb25cbiAgICAgKiBAcGFyYW0gcGF5bWVudF9tZXRob2RzX2lkIGVTb2x2ZSBJRCB0byB0aGUgc2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcbiAgICAgKiBAcGFyYW0gY2FyZCBJRCBvZiBzZWxlY3RlZCBjYXJkIGZyb20gdGhlIHZhdWx0IG9yIGluZm9ybWF0aW9uIHRvIGEgYnJhbmQgbmV3IGNhcmRcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIHBheW1lbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UGF5bWVudChcbiAgICAgICAgdHJhbnNhY3Rpb25faWQ6IG51bWJlcixcbiAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkOiBudW1iZXIsXG4gICAgICAgIGNhcmQ/OiBFc29sdmVDYXJkRGF0YSB8IG51bWJlcixcbiAgICAgICAgbGlua3M/OiBFc29sdmVQYXltZW50UmVkaXJlY3RMaW5rcyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZVBheW1lbnRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keTogRXNvbHZlUGF5bWVudFNldEJvZHkgPSB7XG4gICAgICAgICAgICBwYXltZW50OiB7XG4gICAgICAgICAgICAgICAgY2FydF9pZDogdHJhbnNhY3Rpb25faWQsXG4gICAgICAgICAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY2FyZCkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjYXJkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIGJvZHkucGF5bWVudC51c2VyX3ZhdWx0X2lkID0gY2FyZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYm9keS5jYXJkID0ge1xuICAgICAgICAgICAgICAgICAgICBjYXJkX251bWJlcjogY2FyZC5jYXJkX251bWJlcixcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9uYW1lOiBjYXJkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNhcmRfY3Z2OiBjYXJkLmN2dixcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9leHBpcnk6IHRoaXMuZ2VuZXJhdGVFeHBpcnkoY2FyZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaW5rcykge1xuICAgICAgICAgICAgYm9keS5saW5rcyA9IGxpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXBheW1lbnQucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlUGF5bWVudFJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXBheW1lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBheW1lbnQgZm9yIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24gdXNpbmcgc2VsZWN0ZWQgcGF5bWVudFxuICAgICAqIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbl9pZCBlU29sdmUgSUQgdG8gdGhlIHRyYW5zYWN0aW9uXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kc19pZCBlU29sdmUgSUQgdG8gdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXG4gICAgICogQHBhcmFtIGNhcmQgSUQgb2Ygc2VsZWN0ZWQgY2FyZCBmcm9tIHRoZSB2YXVsdCBvciBpbmZvcm1hdGlvbiB0byBhIGJyYW5kIG5ldyBjYXJkXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBwYXltZW50XG4gICAgICovXG4gICAgcHVibGljIHNldEFjY291bnRQYXltZW50KFxuICAgICAgICBjbGllbnRzX2lkOiBudW1iZXIsXG4gICAgICAgIHBheW1lbnRfbWV0aG9kc19pZDogbnVtYmVyLFxuICAgICAgICB0cmFuc2FjdGlvbnM6IEVzb2x2ZVN0YXRlbWVudFRyYW5zYWN0aW9uW10sXG4gICAgICAgIGNhcmQ/OiBFc29sdmVDYXJkRGF0YSB8IG51bWJlcixcbiAgICAgICAgbGlua3M/OiBFc29sdmVQYXltZW50UmVkaXJlY3RMaW5rc1xuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUGF5bWVudFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBib2R5OiBFc29sdmVQYXltZW50U2V0Qm9keSA9IHtcbiAgICAgICAgICAgIHBheW1lbnQ6IHtcbiAgICAgICAgICAgICAgICBjYXJ0X2lkOiAwLFxuICAgICAgICAgICAgICAgIGNsaWVudHNfaWQsXG4gICAgICAgICAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkLFxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChjYXJkKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNhcmQgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgYm9keS5wYXltZW50LnVzZXJfdmF1bHRfaWQgPSBjYXJkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBib2R5LmNhcmQgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNhcmRfbnVtYmVyOiBjYXJkLmNhcmRfbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICBjYXJkX25hbWU6IGNhcmQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9jdnY6IGNhcmQuY3Z2LFxuICAgICAgICAgICAgICAgICAgICBjYXJkX2V4cGlyeTogdGhpcy5nZW5lcmF0ZUV4cGlyeShjYXJkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbmtzKSB7XG4gICAgICAgICAgICBib2R5LmxpbmtzID0gbGlua3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVQYXltZW50UmVzcG9uc2U+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXQtcGF5bWVudC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVQYXltZW50UmVzdWx0KHJlc3BvbnNlKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtcGF5bWVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhY2NvdW50IHBheW1lbnRzIGZvciBhIHNwZWNpZmllZCBjbGllbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRpb25zIEZpbHRlciBvcHRpb25zXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBwYXltZW50IG1ldGhvZHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWNjb3VudFBheW1lbnRzKFxuICAgICAgICBvcHRpb25zPzogRXNvbHZlQWNjb3VudFBheW1lbnRzT3B0aW9uc1xuICAgICk6IE9ic2VydmFibGU8RXNvbHZlQWNjb3VudFBheW1lbnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUFjY291bnRQYXltZW50UmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjb3VudC1wYXltZW50cy5waHBgLFxuICAgICAgICAgICAgICAgIHsgcGFyYW1zOiB7IC4uLm9wdGlvbnMgfSB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBY2NvdW50UGF5bWVudHMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHBheW1lbnQgbWV0aG9kIHJlY29yZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBwYXltZW50IG1ldGhvZHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9jZXNzUGF5bWVudE1ldGhvZHMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmRbXSxcbiAgICApOiBFc29sdmVQYXltZW50TWV0aG9kW10ge1xuICAgICAgICBjb25zdCBwYXltZW50X21ldGhvZHM6IEVzb2x2ZVBheW1lbnRNZXRob2RbXSA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bWVudF9tZXRob2QgPSBuZXcgRXNvbHZlUGF5bWVudE1ldGhvZChyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgcGF5bWVudF9tZXRob2RzLnB1c2gocGF5bWVudF9tZXRob2QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheW1lbnRfbWV0aG9kcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBhY2NvdW50IHBheW1lbnQgcmVjb3Jkcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIGFjY291bnQgcGF5bWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NBY2NvdW50UGF5bWVudHMoXG4gICAgICAgIHJlY29yZHM6IEVzb2x2ZUFjY291bnRQYXltZW50UmVjb3JkW10sXG4gICAgKTogRXNvbHZlQWNjb3VudFBheW1lbnRbXSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRfcGF5bWVudHM6IEVzb2x2ZUFjY291bnRQYXltZW50W10gPSBbXTtcblxuICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjY291bnRfcGF5bWVudCA9IG5ldyBFc29sdmVBY2NvdW50UGF5bWVudChyZWNvcmQpO1xuXG4gICAgICAgICAgICAgICAgYWNjb3VudF9wYXltZW50cy5wdXNoKGFjY291bnRfcGF5bWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjb3VudF9wYXltZW50cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSB2YXVsdCByZWNvcmRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgdmF1bHQgaXRlbXMgKGEuay5hLiBjYXJkcylcbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NWYXVsdEl0ZW1zKHJlY29yZHM6IEVzb2x2ZVZhdWx0UmVjb3JkW10pOiBFc29sdmVWYXVsdEl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IHZhdWx0OiBFc29sdmVWYXVsdEl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgdmF1bHQucHVzaChuZXcgRXNvbHZlVmF1bHRJdGVtKHJlY29yZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIGEgY29uY2F0ZW5hdGVkIHN0cmluZyB3aXRoIHRoZSBleHBpcnkgbW9udGggYW5kIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXJkX2RhdGEgQ3JlZGl0IGNhcmQgZGF0YVxuICAgICAqXG4gICAgICogIEByZXR1cm5zIEV4cGlyeSBzdHJpbmdcbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlRXhwaXJ5KGNhcmRfZGF0YTogRXNvbHZlQ2FyZERhdGEpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtb250aF9zdHJpbmcgPSBjYXJkX2RhdGEuZXhwaXJ5X21vbnRoLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgICAgIGNvbnN0IHllYXJfc3RyaW5nID0gY2FyZF9kYXRhLmV4cGlyeV95ZWFyLnBhZFN0YXJ0KDQsICcwJyk7XG5cbiAgICAgICAgcmV0dXJuIGAke21vbnRoX3N0cmluZ30ke3llYXJfc3RyaW5nfWA7XG4gICAgfVxufVxuIl19
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUc1QixZQUFZLEdBRWYsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUNILG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsR0FDeEIsTUFBTSxXQUFXLENBQUM7O0FBbUJuQixNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDakQsb0JBQWUsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQXFiM0U7SUFuYkc7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCLENBQ3BCLE9BQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sMEJBQTBCLEVBQ2hEO1lBQ0ksTUFBTSxFQUFFO2dCQUNKLEdB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7XG4gICAgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlLFxuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVNldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3VsdCxcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbn0gZnJvbSAnLi4vc2hhcmVkJztcblxuaW1wb3J0IHtcbiAgICBFc29sdmVBY2NvdW50UGF5bWVudCxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kLFxuICAgIEVzb2x2ZVBheW1lbnRSZXN1bHQsXG4gICAgRXNvbHZlVmF1bHRJdGVtLFxuICAgIEVzb2x2ZVZhdWx0SXRlbVJlc3VsdCxcbn0gZnJvbSAnLi9jbGFzc2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQWNjb3VudFBheW1lbnRSZWNvcmQsXG4gICAgRXNvbHZlQWNjb3VudFBheW1lbnRzT3B0aW9ucyxcbiAgICBFc29sdmVDYXJkRGF0YSxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kT3B0aW9ucyxcbiAgICBFc29sdmVQYXltZW50TWV0aG9kUmVjb3JkLFxuICAgIEVzb2x2ZVBheW1lbnRSZWRpcmVjdExpbmtzLFxuICAgIEVzb2x2ZVBheW1lbnRSZXNwb25zZSxcbiAgICBFc29sdmVQYXltZW50U2V0Qm9keSxcbiAgICBFc29sdmVQYXltZW50U3RhdHVzLFxuICAgIEVzb2x2ZVZhdWx0UmVjb3JkLFxuICAgIEVzb2x2ZVZhdWx0UmVzcG9uc2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbiB9IGZyb20gJy4uL2FjY291bnQvdXNlci1hY2NvdW50JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlUGF5bWVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlSGFuZGxlciA9IGluamVjdChFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGF5bWVudCBtZXRob2RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgRmlsdGVyIG9wdGlvbnNcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHBheW1lbnQgbWV0aG9kc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXltZW50TWV0aG9kcyhcbiAgICAgICAgb3B0aW9ucz86IEVzb2x2ZVBheW1lbnRNZXRob2RPcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUGF5bWVudE1ldGhvZFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXBheW1lbnQtbWV0aG9kcy5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1BheW1lbnRNZXRob2RzKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZSB0aGUgcGF5bWVudCBzdGF0dXMgb2YgdGhlIHNwZWNpZmllZCB0cmFuc2FjdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9uX2lkIElEIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHN1Y2Nlc3Mgc3RhdHVzIG9mIHRoZSBwYXltZW50XG4gICAgICovXG4gICAgcHVibGljIGdldFBheW1lbnRTdGF0dXModHJhbnNhY3Rpb25faWQ6IG51bWJlcik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVBheW1lbnRTdGF0dXM+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtcGF5bWVudC1zdGF0dXMucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FydF9pZDogdHJhbnNhY3Rpb25faWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJlc3BvbnNlLnJlY29yZHMpXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy5zdWNjZXNzO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHNhdmVkIGNhcmRzIGZyb20gdGhlIHZhdWx0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kc19pZCBlU29sdmUgSUQgb2YgYSBwYXltZW50IG1ldGhvZFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc2F2ZWQgYmFuayBjYXJkc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYXVsdChcbiAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkPzogbnVtYmVyLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVmF1bHRJdGVtW10+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXltZW50X21ldGhvZHNfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwYXltZW50X21ldGhvZHNfaWQnLCBwYXltZW50X21ldGhvZHNfaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVWYXVsdFJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LXZhdWx0LnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVmF1bHRJdGVtcyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIG5ldyBjYXJkIGluIHRoZSB2YXVsdCBPUiB1cGRhdGVzIGFuIGV4aXN0aW5nIG9uZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZHNfaWQgU2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcbiAgICAgKiBAcGFyYW0gY2FyZF9kYXRhIEluZm9ybWF0aW9uIG9mIGJhbmsgY2FyZFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgdmF1bHQgc2V0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRWYXVsdEl0ZW0oXG4gICAgICAgIHBheW1lbnRfbWV0aG9kc19pZDogbnVtYmVyLFxuICAgICAgICBjYXJkX2RhdGE6IEVzb2x2ZUNhcmREYXRhLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVmF1bHRJdGVtUmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XG4gICAgICAgICAgICB2YXVsdDoge1xuICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kc19pZCxcbiAgICAgICAgICAgICAgICBjYXJkX251bWJlcjogY2FyZF9kYXRhLmNhcmRfbnVtYmVyLFxuICAgICAgICAgICAgICAgIGNhcmRfbmFtZTogY2FyZF9kYXRhLm5hbWUsXG4gICAgICAgICAgICAgICAgY2FyZF9jdnY6IGNhcmRfZGF0YS5jdnYsXG4gICAgICAgICAgICAgICAgY2FyZF9leHBpcnk6IHRoaXMuZ2VuZXJhdGVFeHBpcnkoY2FyZF9kYXRhKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlVmF1bHRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC12YXVsdC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVWYXVsdEl0ZW1SZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC12YXVsdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlIGEgY2FyZCBpbiB0aGUgdmF1bHRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgdmF1bHQgaXRlbVxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgdmF1bHQgZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGVWYXVsdEl0ZW0oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5kZWxldGU8RXNvbHZlRGVsZXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2RlbGV0ZS12YXVsdC5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IGlkIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtdmF1bHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBheW1lbnQgZm9yIHRoZSBzcGVjaWZpZWQgdHJhbnNhY3Rpb24gdXNpbmcgc2VsZWN0ZWQgcGF5bWVudFxuICAgICAqIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2FjdGlvbl9pZCBlU29sdmUgSUQgdG8gdGhlIHRyYW5zYWN0aW9uXG4gICAgICogQHBhcmFtIHBheW1lbnRfbWV0aG9kc19pZCBlU29sdmUgSUQgdG8gdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXG4gICAgICogQHBhcmFtIGNhcmQgSUQgb2Ygc2VsZWN0ZWQgY2FyZCBmcm9tIHRoZSB2YXVsdCBvciBpbmZvcm1hdGlvbiB0byBhIGJyYW5kIG5ldyBjYXJkXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBwYXltZW50XG4gICAgICovXG4gICAgcHVibGljIHNldFBheW1lbnQoXG4gICAgICAgIHRyYW5zYWN0aW9uX2lkOiBudW1iZXIsXG4gICAgICAgIHBheW1lbnRfbWV0aG9kc19pZDogbnVtYmVyLFxuICAgICAgICBjYXJkPzogRXNvbHZlQ2FyZERhdGEgfCBudW1iZXIsXG4gICAgICAgIGxpbmtzPzogRXNvbHZlUGF5bWVudFJlZGlyZWN0TGlua3MsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVQYXltZW50UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IEVzb2x2ZVBheW1lbnRTZXRCb2R5ID0ge1xuICAgICAgICAgICAgcGF5bWVudDoge1xuICAgICAgICAgICAgICAgIGNhcnRfaWQ6IHRyYW5zYWN0aW9uX2lkLFxuICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kc19pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNhcmQpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2FyZCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICBib2R5LnBheW1lbnQudXNlcl92YXVsdF9pZCA9IGNhcmQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGJvZHkuY2FyZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9udW1iZXI6IGNhcmQuY2FyZF9udW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIGNhcmRfbmFtZTogY2FyZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBjYXJkX2N2djogY2FyZC5jdnYsXG4gICAgICAgICAgICAgICAgICAgIGNhcmRfZXhwaXJ5OiB0aGlzLmdlbmVyYXRlRXhwaXJ5KGNhcmQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlua3MpIHtcbiAgICAgICAgICAgIGJvZHkubGlua3MgPSBsaW5rcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZVBheW1lbnRSZXNwb25zZT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1wYXltZW50LnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGh0dHBfcmVzcG9uc2UpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyLnZhbGlkYXRlU2luZ2xlSHR0cFJlc3BvbnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXNwb25zZSkgPT4gbmV3IEVzb2x2ZVBheW1lbnRSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1wYXltZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBwYXltZW50IGZvciB0aGUgc3BlY2lmaWVkIHRyYW5zYWN0aW9uIHVzaW5nIHNlbGVjdGVkIHBheW1lbnRcbiAgICAgKiBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25faWQgZVNvbHZlIElEIHRvIHRoZSB0cmFuc2FjdGlvblxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZHNfaWQgZVNvbHZlIElEIHRvIHRoZSBzZWxlY3RlZCBwYXltZW50IG1ldGhvZFxuICAgICAqIEBwYXJhbSBjYXJkIElEIG9mIHNlbGVjdGVkIGNhcmQgZnJvbSB0aGUgdmF1bHQgb3IgaW5mb3JtYXRpb24gdG8gYSBicmFuZCBuZXcgY2FyZFxuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgcGF5bWVudFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRBY2NvdW50UGF5bWVudChcbiAgICAgICAgY2xpZW50c19pZDogbnVtYmVyLFxuICAgICAgICBwYXltZW50X21ldGhvZHNfaWQ6IG51bWJlcixcbiAgICAgICAgdHJhbnNhY3Rpb25zOiBFc29sdmVTdGF0ZW1lbnRUcmFuc2FjdGlvbltdLFxuICAgICAgICBjYXJkPzogRXNvbHZlQ2FyZERhdGEgfCBudW1iZXIsXG4gICAgICAgIGxpbmtzPzogRXNvbHZlUGF5bWVudFJlZGlyZWN0TGlua3MsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVQYXltZW50UmVzdWx0PiB7XG4gICAgICAgIGNvbnN0IGJvZHk6IEVzb2x2ZVBheW1lbnRTZXRCb2R5ID0ge1xuICAgICAgICAgICAgcGF5bWVudDoge1xuICAgICAgICAgICAgICAgIGNhcnRfaWQ6IDAsXG4gICAgICAgICAgICAgICAgY2xpZW50c19pZCxcbiAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZHNfaWQsXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25zLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoY2FyZCkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjYXJkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgIGJvZHkucGF5bWVudC51c2VyX3ZhdWx0X2lkID0gY2FyZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYm9keS5jYXJkID0ge1xuICAgICAgICAgICAgICAgICAgICBjYXJkX251bWJlcjogY2FyZC5jYXJkX251bWJlcixcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9uYW1lOiBjYXJkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNhcmRfY3Z2OiBjYXJkLmN2dixcbiAgICAgICAgICAgICAgICAgICAgY2FyZF9leHBpcnk6IHRoaXMuZ2VuZXJhdGVFeHBpcnkoY2FyZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsaW5rcykge1xuICAgICAgICAgICAgYm9keS5saW5rcyA9IGxpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudFJlc3BvbnNlPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXBheW1lbnQucGhwYCxcbiAgICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlUGF5bWVudFJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXBheW1lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgYWNjb3VudCBwYXltZW50cyBmb3IgYSBzcGVjaWZpZWQgY2xpZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBGaWx0ZXIgb3B0aW9uc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcGF5bWVudCBtZXRob2RzXG4gICAgICovXG4gICAgcHVibGljIGdldEFjY291bnRQYXltZW50cyhcbiAgICAgICAgb3B0aW9ucz86IEVzb2x2ZUFjY291bnRQYXltZW50c09wdGlvbnMsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBY2NvdW50UGF5bWVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlQWNjb3VudFBheW1lbnRSZWNvcmRbXT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2NvdW50LXBheW1lbnRzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgLi4ub3B0aW9ucyB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0FjY291bnRQYXltZW50cyhyZXNwb25zZS5yZWNvcmRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgcGF5bWVudCBtZXRob2QgcmVjb3Jkcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIHBheW1lbnQgbWV0aG9kcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb2Nlc3NQYXltZW50TWV0aG9kcyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZFtdLFxuICAgICk6IEVzb2x2ZVBheW1lbnRNZXRob2RbXSB7XG4gICAgICAgIGNvbnN0IHBheW1lbnRfbWV0aG9kczogRXNvbHZlUGF5bWVudE1ldGhvZFtdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXltZW50X21ldGhvZCA9IG5ldyBFc29sdmVQYXltZW50TWV0aG9kKHJlY29yZCk7XG5cbiAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZHMucHVzaChwYXltZW50X21ldGhvZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGF5bWVudF9tZXRob2RzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIGFjY291bnQgcGF5bWVudCByZWNvcmRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgYWNjb3VudCBwYXltZW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc0FjY291bnRQYXltZW50cyhcbiAgICAgICAgcmVjb3JkczogRXNvbHZlQWNjb3VudFBheW1lbnRSZWNvcmRbXSxcbiAgICApOiBFc29sdmVBY2NvdW50UGF5bWVudFtdIHtcbiAgICAgICAgY29uc3QgYWNjb3VudF9wYXltZW50czogRXNvbHZlQWNjb3VudFBheW1lbnRbXSA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWNjb3VudF9wYXltZW50ID0gbmV3IEVzb2x2ZUFjY291bnRQYXltZW50KHJlY29yZCk7XG5cbiAgICAgICAgICAgICAgICBhY2NvdW50X3BheW1lbnRzLnB1c2goYWNjb3VudF9wYXltZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2NvdW50X3BheW1lbnRzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHZhdWx0IHJlY29yZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCB2YXVsdCBpdGVtcyAoYS5rLmEuIGNhcmRzKVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc1ZhdWx0SXRlbXMocmVjb3JkczogRXNvbHZlVmF1bHRSZWNvcmRbXSk6IEVzb2x2ZVZhdWx0SXRlbVtdIHtcbiAgICAgICAgY29uc3QgdmF1bHQ6IEVzb2x2ZVZhdWx0SXRlbVtdID0gW107XG5cbiAgICAgICAgaWYgKHJlY29yZHMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcbiAgICAgICAgICAgICAgICB2YXVsdC5wdXNoKG5ldyBFc29sdmVWYXVsdEl0ZW0ocmVjb3JkKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmF1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgYSBjb25jYXRlbmF0ZWQgc3RyaW5nIHdpdGggdGhlIGV4cGlyeSBtb250aCBhbmQgeWVhclxuICAgICAqXG4gICAgICogQHBhcmFtIGNhcmRfZGF0YSBDcmVkaXQgY2FyZCBkYXRhXG4gICAgICpcbiAgICAgKiAgQHJldHVybnMgRXhwaXJ5IHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVFeHBpcnkoY2FyZF9kYXRhOiBFc29sdmVDYXJkRGF0YSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1vbnRoX3N0cmluZyA9IGNhcmRfZGF0YS5leHBpcnlfbW9udGgucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgICAgY29uc3QgeWVhcl9zdHJpbmcgPSBjYXJkX2RhdGEuZXhwaXJ5X3llYXIucGFkU3RhcnQoNCwgJzAnKTtcblxuICAgICAgICByZXR1cm4gYCR7bW9udGhfc3RyaW5nfSR7eWVhcl9zdHJpbmd9YDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -51,4 +51,4 @@ export class EsolveRange {
|
|
|
51
51
|
return '';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJhbmdlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Jhbmdlcy9jbGFzc2VzL2Vzb2x2ZS1yYW5nZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUk1RCxNQUFNLE9BQU8sV0FBVztJQWFwQixJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksTUFBbUM7UUFoQnhDLE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNyQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBUW5CLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBRTFDLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkMsQ0FBQztZQUVELFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDekMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDaEMsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLENBQ2YsQ0FBQztJQUNOLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVTZW9EZXRhaWxzLCBFc29sdmVTZW9JbmZvIH0gZnJvbSAnLi4vLi4vc2VvJztcblxuaW1wb3J0IHsgRXNvbHZlUmFuZ2VSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVJhbmdlIGltcGxlbWVudHMgRXNvbHZlU2VvRGV0YWlscyB7XG4gICAgcHVibGljIGlkID0gMDtcbiAgICBwdWJsaWMgcmFuZ2UgPSAnJztcbiAgICBwdWJsaWMgc2VmX3JhbmdlID0gJyc7XG4gICAgcHVibGljIG1hbnVmYWN0dXJlcnNfaWQgPSAwO1xuICAgIHB1YmxpYyB0aXRsZSA9ICcnO1xuICAgIHB1YmxpYyBhcnRpY2xlID0gJyc7XG4gICAgcHVibGljIGlzX2FjdGl2ZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBmZWF0dXJlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzb3J0X3ByaW9yaXR5ID0gMDtcbiAgICBwdWJsaWMgaW1hZ2VfbmFtZSA9ICcnO1xuICAgIHB1YmxpYyBzZW9fZGV0YWlsczogRXNvbHZlU2VvSW5mbztcblxuICAgIHB1YmxpYyBnZXQgaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlUmFuZ2VSZWNvcmQ+KSB7XG4gICAgICAgIGxldCBzZW9fdGl0bGUgPSAnJztcbiAgICAgICAgbGV0IHNlb19rZXl3b3JkcyA9ICcnO1xuICAgICAgICBsZXQgc2VvX2Rlc2NyaXB0aW9uID0gJyc7XG5cbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5pZCA9ICsocmVjb3JkLmlkID8/IDApO1xuICAgICAgICAgICAgdGhpcy5yYW5nZSA9IHJlY29yZC5yYW5nZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX3JhbmdlID0gcmVjb3JkLnNlZl9yYW5nZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMubWFudWZhY3R1cmVyc19pZCA9ICsocmVjb3JkLm1hbnVmYWN0dXJlcnNfaWQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gcmVjb3JkLnRpdGxlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hcnRpY2xlID0gcmVjb3JkLmFydGljbGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNvcnRfcHJpb3JpdHkgPSArKHJlY29yZC5zb3J0X3ByaW9yaXR5ID8/IDApO1xuICAgICAgICAgICAgdGhpcy5pbWFnZV9uYW1lID0gcmVjb3JkLmltYWdlX25hbWUgPz8gJyc7XG5cbiAgICAgICAgICAgIGlmIChyZWNvcmQuaXNfYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc19hY3RpdmUgPSAhIStyZWNvcmQuaXNfYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVjb3JkLmZlYXR1cmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlZCA9ICEhK3JlY29yZC5mZWF0dXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2VvX3RpdGxlID0gcmVjb3JkLnNlb19wYWdlX3RpdGxlID8/ICcnO1xuICAgICAgICAgICAgc2VvX2tleXdvcmRzID0gcmVjb3JkLnNlb19rZXl3b3JkcyA/PyAnJztcbiAgICAgICAgICAgIHNlb19kZXNjcmlwdGlvbiA9IHJlY29yZC5zZW9fZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aXRsZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5yYW5nZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9fdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgc2VvX3RpdGxlID0gdGhpcy50aXRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VvX2RldGFpbHMgPSBuZXcgRXNvbHZlU2VvSW5mbyhcbiAgICAgICAgICAgIHNlb190aXRsZSxcbiAgICAgICAgICAgIHNlb19kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHNlb19rZXl3b3JkcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW1hZ2VQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmltYWdlX25hbWUgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvcmFuZ2VzLyR7dGhpcy5pbWFnZV9uYW1lfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxufVxuIl19
|
|
@@ -48,7 +48,9 @@ export class EsolveRangesService {
|
|
|
48
48
|
}
|
|
49
49
|
getRangeRecords(params) {
|
|
50
50
|
return this.http
|
|
51
|
-
.get(`${this.config.api_url}/get-ranges.php`, {
|
|
51
|
+
.get(`${this.config.api_url}/get-ranges.php`, {
|
|
52
|
+
params,
|
|
53
|
+
})
|
|
52
54
|
.pipe(map((response) => {
|
|
53
55
|
if (response.records === undefined ||
|
|
54
56
|
response.records.length <= 0) {
|
|
@@ -60,13 +62,13 @@ export class EsolveRangesService {
|
|
|
60
62
|
processRange(record) {
|
|
61
63
|
return new EsolveRange(record);
|
|
62
64
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
64
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveRangesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveRangesService, providedIn: 'root' }); }
|
|
65
67
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveRangesService, decorators: [{
|
|
67
69
|
type: Injectable,
|
|
68
70
|
args: [{
|
|
69
71
|
providedIn: 'root',
|
|
70
72
|
}]
|
|
71
73
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJhbmdlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Jhbmdlcy9lc29sdmUtcmFuZ2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTXhDLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FrRjlDO0lBaEZVLFFBQVEsQ0FBQyxFQUFVO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzFCLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUI7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDMUIsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFO1NBQzVCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUyxDQUFDLE9BQTRCO1FBQ3pDLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO1lBRWpDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWtCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1osTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLGVBQWUsQ0FDbkIsTUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FDQSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxpQkFBaUIsRUFDdkM7WUFDSSxNQUFNO1NBQ1QsQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUM5QixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQzlCLENBQUM7Z0JBQ0MsTUFBTSxRQUFRLENBQUM7WUFDbkIsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUF5QjtRQUMxQyxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBbkZRLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzJGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUdldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcblxuaW1wb3J0IHsgRXNvbHZlUmFuZ2UgfSBmcm9tICcuL2NsYXNzZXMnO1xuaW1wb3J0IHsgRXNvbHZlUmFuZ2VPcHRpb25zLCBFc29sdmVSYW5nZVJlY29yZCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZVJhbmdlc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIHB1YmxpYyBnZXRSYW5nZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFc29sdmVSYW5nZT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IHJhbmdlc19pZDogaWQgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2VTaW5nbGUocGFyYW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmFuZ2VGcm9tU0VGKHNlZl9yYW5nZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc29sdmVSYW5nZT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICAgICAgICBmcm9tT2JqZWN0OiB7IHNlZl9yYW5nZSB9LFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRSYW5nZVNpbmdsZShwYXJhbXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSYW5nZXMob3B0aW9ucz86IEVzb2x2ZVJhbmdlT3B0aW9ucyk6IE9ic2VydmFibGU8RXNvbHZlUmFuZ2VbXT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBpZiAob3B0aW9ucz8uZmVhdHVyZWRfb25seSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZmVhdHVyZWRfb25seScsIG9wdGlvbnMuZmVhdHVyZWRfb25seSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucz8ubWFudWZhY3R1cmVyc19pZCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWFudWZhY3R1cmVyc19pZCcsIG9wdGlvbnMubWFudWZhY3R1cmVyc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRSYW5nZVJlY29yZHMocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZWNvcmRzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2VzOiBFc29sdmVSYW5nZVtdID0gW107XG5cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhbmdlcy5wdXNoKHRoaXMucHJvY2Vzc1JhbmdlKHJlY29yZCkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiByYW5nZXM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZjxFc29sdmVSYW5nZVtdPihbXSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJhbmdlU2luZ2xlKHBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RXNvbHZlUmFuZ2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmFuZ2VSZWNvcmRzKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVjb3JkcykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHNbMF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzUmFuZ2UocmVjb3JkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmFuZ2VSZWNvcmRzKFxuICAgICAgICBwYXJhbXM/OiBIdHRwUGFyYW1zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUmFuZ2VSZWNvcmRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVJhbmdlUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtcmFuZ2VzLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3JkcztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUmFuZ2UocmVjb3JkOiBFc29sdmVSYW5nZVJlY29yZCk6IEVzb2x2ZVJhbmdlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSYW5nZShyZWNvcmQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -9,4 +9,4 @@ export class EsolveSeoInfo {
|
|
|
9
9
|
this.canonical_url = canonical_url;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlby1pbmZvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlby9jbGFzc2VzL2Vzb2x2ZS1zZW8taW5mby5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQ1csUUFBUSxFQUFFLEVBQ1YsY0FBYyxFQUFFLEVBQ2hCLFdBQVcsRUFBRSxFQUNiLGdCQUFnQixFQUFFO1FBSGxCLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDVixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQ2Isa0JBQWEsR0FBYixhQUFhLENBQUs7SUFDMUIsQ0FBQztDQUNQIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZWFyY2ggRW5naW5lIE9wdGltaXphdGlvbiBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlb0luZm8ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGl0bGUgPSAnJyxcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uID0gJycsXG4gICAgICAgIHB1YmxpYyBrZXl3b3JkcyA9ICcnLFxuICAgICAgICBwdWJsaWMgY2Fub25pY2FsX3VybCA9ICcnLFxuICAgICkge31cbn1cbiJdfQ==
|
|
@@ -110,13 +110,13 @@ export class EsolveSeoService {
|
|
|
110
110
|
}
|
|
111
111
|
return pageSeo;
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
114
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSeoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSeoService, providedIn: 'root' }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSeoService, decorators: [{
|
|
117
117
|
type: Injectable,
|
|
118
118
|
args: [{
|
|
119
119
|
providedIn: 'root',
|
|
120
120
|
}]
|
|
121
121
|
}], ctorParameters: () => [] });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlby9lc29sdmUtc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFlekI7UUFkaUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBRXRCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBR3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLE9BQXNCO1FBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENB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QVEsRUFBRTtvQkFDMUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDekIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDcEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO3dCQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTs0QkFDbkMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0o7aUJBQ0o7Z0JBRUQsUUFBUSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0o7UUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUN4QztRQUVELElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEMsT0FBTyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQzs4R0EzSVEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5cbmltcG9ydCB7IEVzb2x2ZVNlb0luZm8gfSBmcm9tICcuL2NsYXNzZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVTZW9TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlID0gaW5qZWN0KFRpdGxlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1ldGEgPSBpbmplY3QoTWV0YSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb20gPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgcHJpdmF0ZSB0aXRsZV9wcmVmaXggPSAnJztcbiAgICBwcml2YXRlIHRpdGxlX3N1ZmZpeCA9ICcnO1xuICAgIHByaXZhdGUgdGl0bGVfc2VwYXJhdG9yID0gJ3wnO1xuXG4gICAgcHJpdmF0ZSBkZWZhdWx0X3Nlb190aXRsZSA9ICcnO1xuICAgIHByaXZhdGUgZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gPSAnJztcbiAgICBwcml2YXRlIGRlZmF1bHRfc2VvX2tleXdvcmRzID0gJyc7XG4gICAgcHJpdmF0ZSBkZWZhdWx0X3Nlb191cmwgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIFNFTyB0YWdzIGZvciBwYWdlXG4gICAgICogQHBhcmFtIHNlb0luZm8gU0VPIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRUYWdzKHNlb0luZm86IEVzb2x2ZVNlb0luZm8pOiB2b2lkIHtcbiAgICAgICAgc2VvSW5mbyA9IHRoaXMudmFsaWRhdGVBbmRTYW5pdGl6ZVNlb0luZm8oc2VvSW5mbyk7XG5cbiAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGVUYWdzKHNlb0luZm8udGl0bGUpO1xuICAgICAgICB0aGlzLnNldFBhZ2VEZXNjcmlwdGlvblRhZ3Moc2VvSW5mby5kZXNjcmlwdGlvbik7XG4gICAgICAgIHRoaXMuc2V0UGFnZUtleXdvcmRzVGFncyhzZW9JbmZvLmtleXdvcmRzKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlQ2Fub25pY2FsVXJsKHNlb0luZm8uY2Fub25pY2FsX3VybCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRpdGxlX3ByZWZpeCA9IHRoaXMuY29uZmlnLnRpdGxlX3ByZWZpeDtcbiAgICAgICAgdGhpcy50aXRsZV9zdWZmaXggPSB0aGlzLmNvbmZpZy50aXRsZV9zdWZmaXg7XG4gICAgICAgIHRoaXMudGl0bGVfc2VwYXJhdG9yID0gdGhpcy5jb25maWcudGl0bGVfc2VwYXJhdG9yO1xuICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX3RpdGxlID0gdGhpcy5jb25maWcuZGVmYXVsdF9zZW9fdGl0bGU7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZy5kZWZhdWx0X3Nlb19kZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb19rZXl3b3JkcyA9IHRoaXMuY29uZmlnLmRlZmF1bHRfc2VvX2tleXdvcmRzO1xuICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX3VybCA9IHRoaXMuY29uZmlnLnNpdGVfdXJsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFnZVRpdGxlVGFncyh0aXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHRpdGxlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFnZURlc2NyaXB0aW9uVGFncyhkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50OiBkZXNjcmlwdGlvbiB9KTtcbiAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7XG4gICAgICAgICAgICBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGRlc2NyaXB0aW9uLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VLZXl3b3Jkc1RhZ3Moa2V5d29yZHM6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgbmFtZTogJ2tleXdvcmRzJywgY29udGVudDoga2V5d29yZHMgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlQ2Fub25pY2FsVXJsKGNhbm9uaWNhbF91cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZWFkID0gdGhpcy5kb20uaGVhZDtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLmRvbS5xdWVyeVNlbGVjdG9yPEhUTUxMaW5rRWxlbWVudD4oXG4gICAgICAgICAgICBgbGlua1tyZWw9J2Nhbm9uaWNhbCddYCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLmRvbS5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgY2Fub25pY2FsX3VybCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFuZFNhbml0aXplU2VvSW5mbyhzZW9faW5mbzogRXNvbHZlU2VvSW5mbyk6IEVzb2x2ZVNlb0luZm8ge1xuICAgICAgICBjb25zdCBwYWdlU2VvID0gbmV3IEVzb2x2ZVNlb0luZm8oXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX3RpdGxlLFxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb19kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fa2V5d29yZHMsXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX3VybCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoc2VvX2luZm8uZGVzY3JpcHRpb24udHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgcGFnZVNlby5kZXNjcmlwdGlvbiA9IHNlb19pbmZvLmRlc2NyaXB0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlb19pbmZvLnRpdGxlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIGNvbnN0IHRpdGxlUGFydHNBcnJheSA9IFtdO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aXRsZV9wcmVmaXggIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2godGhpcy50aXRsZV9wcmVmaXgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGl0bGVfc2VwYXJhdG9yICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaCh0aGlzLnRpdGxlX3NlcGFyYXRvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaChzZW9faW5mby50aXRsZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRpdGxlX3N1ZmZpeCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aXRsZV9zZXBhcmF0b3IgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlUGFydHNBcnJheS5wdXNoKHRoaXMudGl0bGVfc2VwYXJhdG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaCh0aGlzLnRpdGxlX3N1ZmZpeCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhZ2VTZW8udGl0bGUgPSB0aXRsZVBhcnRzQXJyYXkuam9pbignICcpO1xuXG4gICAgICAgICAgICBpZiAoc2VvX2luZm8ua2V5d29yZHMudHJpbSgpID09PSAnJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsZWFuX3RpdGxlID0gc2VvX2luZm8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1teYS16MC05LiBdKy9naSwgJycpXG4gICAgICAgICAgICAgICAgICAgIC50cmltKCk7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5d29yZHMgPSBjbGVhbl90aXRsZS5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsZWFuX2tleXdvcmRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQga2V5d29yZCBvZiBrZXl3b3Jkcykge1xuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkID0ga2V5d29yZC50cmltKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXl3b3JkLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmQgPSBrZXl3b3JkLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsZWFuX2tleXdvcmRzLmluY2x1ZGVzKGtleXdvcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYW5fa2V5d29yZHMucHVzaChrZXl3b3JkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNlb19pbmZvLmtleXdvcmRzID0gY2xlYW5fa2V5d29yZHMuam9pbignLCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNlb19pbmZvLmtleXdvcmRzLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhZ2VTZW8ua2V5d29yZHMgPSBzZW9faW5mby5rZXl3b3JkcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9faW5mby5jYW5vbmljYWxfdXJsLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhZ2VTZW8uY2Fub25pY2FsX3VybCA9IHNlb19pbmZvLmNhbm9uaWNhbF91cmw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFnZVNlbztcbiAgICB9XG59XG4iXX0=
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlby9lc29sdmUtc2VvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFlekI7UUFkaUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsR0FBRyxDQUFDO1FBRXRCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBR3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLE9BQXNCO1FBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENB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QUFDLENBQUM7Z0JBQ3hDLE1BQU0sY0FBYyxHQUFhLEVBQUUsQ0FBQztnQkFFcEMsS0FBSyxJQUFJLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDekIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7d0JBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7NEJBQ3BDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO2dCQUVELFFBQVEsQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNsQyxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxPQUFPLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDbkQsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OEdBM0lRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5pbXBvcnQgeyBFc29sdmVTZW9JbmZvIH0gZnJvbSAnLi9jbGFzc2VzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlU2VvU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZSA9IGluamVjdChUaXRsZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXRhID0gaW5qZWN0KE1ldGEpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByaXZhdGUgdGl0bGVfcHJlZml4ID0gJyc7XG4gICAgcHJpdmF0ZSB0aXRsZV9zdWZmaXggPSAnJztcbiAgICBwcml2YXRlIHRpdGxlX3NlcGFyYXRvciA9ICd8JztcblxuICAgIHByaXZhdGUgZGVmYXVsdF9zZW9fdGl0bGUgPSAnJztcbiAgICBwcml2YXRlIGRlZmF1bHRfc2VvX2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgcHJpdmF0ZSBkZWZhdWx0X3Nlb19rZXl3b3JkcyA9ICcnO1xuICAgIHByaXZhdGUgZGVmYXVsdF9zZW9fdXJsID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBTRU8gdGFncyBmb3IgcGFnZVxuICAgICAqIEBwYXJhbSBzZW9JbmZvIFNFTyBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0VGFncyhzZW9JbmZvOiBFc29sdmVTZW9JbmZvKTogdm9pZCB7XG4gICAgICAgIHNlb0luZm8gPSB0aGlzLnZhbGlkYXRlQW5kU2FuaXRpemVTZW9JbmZvKHNlb0luZm8pO1xuXG4gICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlVGFncyhzZW9JbmZvLnRpdGxlKTtcbiAgICAgICAgdGhpcy5zZXRQYWdlRGVzY3JpcHRpb25UYWdzKHNlb0luZm8uZGVzY3JpcHRpb24pO1xuICAgICAgICB0aGlzLnNldFBhZ2VLZXl3b3Jkc1RhZ3Moc2VvSW5mby5rZXl3b3Jkcyk7XG4gICAgICAgIHRoaXMuc2V0UGFnZUNhbm9uaWNhbFVybChzZW9JbmZvLmNhbm9uaWNhbF91cmwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aXRsZV9wcmVmaXggPSB0aGlzLmNvbmZpZy50aXRsZV9wcmVmaXg7XG4gICAgICAgIHRoaXMudGl0bGVfc3VmZml4ID0gdGhpcy5jb25maWcudGl0bGVfc3VmZml4O1xuICAgICAgICB0aGlzLnRpdGxlX3NlcGFyYXRvciA9IHRoaXMuY29uZmlnLnRpdGxlX3NlcGFyYXRvcjtcbiAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb190aXRsZSA9IHRoaXMuY29uZmlnLmRlZmF1bHRfc2VvX3RpdGxlO1xuICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX2Rlc2NyaXB0aW9uID0gdGhpcy5jb25maWcuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fa2V5d29yZHMgPSB0aGlzLmNvbmZpZy5kZWZhdWx0X3Nlb19rZXl3b3JkcztcbiAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb191cmwgPSB0aGlzLmNvbmZpZy5zaXRlX3VybDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VUaXRsZVRhZ3ModGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnRpdGxlLnNldFRpdGxlKHRpdGxlKTtcbiAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aXRsZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VEZXNjcmlwdGlvblRhZ3MoZGVzY3JpcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgbmFtZTogJ2Rlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcHRpb24gfSk7XG4gICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoe1xuICAgICAgICAgICAgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICBjb250ZW50OiBkZXNjcmlwdGlvbixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlS2V5d29yZHNUYWdzKGtleXdvcmRzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IG5hbWU6ICdrZXl3b3JkcycsIGNvbnRlbnQ6IGtleXdvcmRzIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFnZUNhbm9uaWNhbFVybChjYW5vbmljYWxfdXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGVhZCA9IHRoaXMuZG9tLmhlYWQ7XG4gICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5kb20ucXVlcnlTZWxlY3RvcjxIVE1MTGlua0VsZW1lbnQ+KFxuICAgICAgICAgICAgYGxpbmtbcmVsPSdjYW5vbmljYWwnXWAsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50ID0gdGhpcy5kb20uY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdjYW5vbmljYWwnKTtcbiAgICAgICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnaHJlZicsIGNhbm9uaWNhbF91cmwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbmRTYW5pdGl6ZVNlb0luZm8oc2VvX2luZm86IEVzb2x2ZVNlb0luZm8pOiBFc29sdmVTZW9JbmZvIHtcbiAgICAgICAgY29uc3QgcGFnZVNlbyA9IG5ldyBFc29sdmVTZW9JbmZvKFxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb190aXRsZSxcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdF9zZW9fZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VvX2tleXdvcmRzLFxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X3Nlb191cmwsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHNlb19pbmZvLmRlc2NyaXB0aW9uLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhZ2VTZW8uZGVzY3JpcHRpb24gPSBzZW9faW5mby5kZXNjcmlwdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9faW5mby50aXRsZS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZVBhcnRzQXJyYXkgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGl0bGVfcHJlZml4ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHRpdGxlUGFydHNBcnJheS5wdXNoKHRoaXMudGl0bGVfcHJlZml4KTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpdGxlX3NlcGFyYXRvciAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2godGhpcy50aXRsZV9zZXBhcmF0b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2goc2VvX2luZm8udGl0bGUpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50aXRsZV9zdWZmaXggIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGl0bGVfc2VwYXJhdG9yICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZVBhcnRzQXJyYXkucHVzaCh0aGlzLnRpdGxlX3NlcGFyYXRvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGl0bGVQYXJ0c0FycmF5LnB1c2godGhpcy50aXRsZV9zdWZmaXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWdlU2VvLnRpdGxlID0gdGl0bGVQYXJ0c0FycmF5LmpvaW4oJyAnKTtcblxuICAgICAgICAgICAgaWYgKHNlb19pbmZvLmtleXdvcmRzLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGVhbl90aXRsZSA9IHNlb19pbmZvLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOS4gXSsvZ2ksICcnKVxuICAgICAgICAgICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleXdvcmRzID0gY2xlYW5fdGl0bGUuc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGVhbl9rZXl3b3Jkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAobGV0IGtleXdvcmQgb2Yga2V5d29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAga2V5d29yZCA9IGtleXdvcmQudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5d29yZC5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkID0ga2V5d29yZC50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjbGVhbl9rZXl3b3Jkcy5pbmNsdWRlcyhrZXl3b3JkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuX2tleXdvcmRzLnB1c2goa2V5d29yZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZW9faW5mby5rZXl3b3JkcyA9IGNsZWFuX2tleXdvcmRzLmpvaW4oJywnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW9faW5mby5rZXl3b3Jkcy50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgICBwYWdlU2VvLmtleXdvcmRzID0gc2VvX2luZm8ua2V5d29yZHM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VvX2luZm8uY2Fub25pY2FsX3VybC50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgICBwYWdlU2VvLmNhbm9uaWNhbF91cmwgPSBzZW9faW5mby5jYW5vbmljYWxfdXJsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhZ2VTZW87XG4gICAgfVxufVxuIl19
|
|
@@ -59,13 +59,13 @@ export class EsolveSessionMetadataService {
|
|
|
59
59
|
return this.errorHandler.handleHttpDeleteError('delete-sessions-metadata', errorRes);
|
|
60
60
|
}));
|
|
61
61
|
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
63
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionMetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionMetadataService, providedIn: 'root' }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionMetadataService, decorators: [{
|
|
66
66
|
type: Injectable,
|
|
67
67
|
args: [{
|
|
68
68
|
providedIn: 'root',
|
|
69
69
|
}]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tbWV0YWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLW1ldGFkYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUlILDRCQUE0QixFQUM1QixvQkFBb0IsR0FFdkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLNUIsTUFBTSxPQUFPLDRCQUE0QjtJQUh6QztRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0EwRjNFO0lBeEZVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsUUFBYTtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUNELEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDRCQUE0QixFQUNsRCxRQUFRLEVBQ1I7WUFDSSxPQUFPLEVBQUU7Z0JBQ0wsY0FBYyxFQUNWLGtEQUFrRDthQUN6RDtZQUNELFlBQVksRUFBRSxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFO1NBQ25CLENBQ0o7YUFDQSxJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FDM0MsYUFBYSxFQUNiLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUNuRCxDQUNKLEVBQ0QsVUFBVSxDQUFDLENBQUMsUUFBaUMsRUFBRSxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FDeEMsdUJBQXVCLEVBQ3ZCLFFBQVEsQ0FDWCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFTSxHQUFHLENBQUksSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDRCQUE0QixFQUNsRDtZQUNJLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRTtTQUNuQixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFDSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVM7Z0JBQzlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO29CQUM1QixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDcEMsQ0FBQztnQkFDQyxNQUFNLFFBQVEsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxRQUFRLENBQUMsT0FBWSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLE1BQU0sQ0FDSCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTywrQkFBK0IsRUFDckQ7WUFDSSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDaEIsWUFBWSxFQUFFLE1BQU07WUFDcEIsT0FBTyxFQUFFLE1BQU07U0FDbEIsQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUNsQixJQUNJLGFBQWEsQ0FBQyxNQUFNLEtBQUssU0FBUztnQkFDbEMsYUFBYSxDQUFDLE1BQU0sS0FBSyxJQUFJO2dCQUM3QixhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQzNDLENBQUM7Z0JBQ0MsTUFBTSxhQUFhLENBQUM7WUFDeEIsQ0FBQztZQUVELE9BQU8sSUFBSSxZQUFZLENBQ25CLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUMzQixhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFDekIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQy9CLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxRQUFpQyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUMxQywwQkFBMEIsRUFDMUIsUUFBUSxDQUNYLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQzs4R0E3RlEsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FGekIsTUFBTTs7MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMnO1xuaW1wb3J0IHsgRXNvbHZlUmVzdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHtcbiAgICBFc29sdmVEZWxldGVSZXNwb25zZSxcbiAgICBFc29sdmVHZXRSZXNwb25zZSxcbiAgICBFc29sdmVQb3N0UmVzcG9uc2VJdGVtLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlUmVzcG9uc2VSZXN1bHQsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25NZXRhZGF0YVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlSGFuZGxlciA9IGluamVjdChFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBzZXQodHlwZTogc3RyaW5nLCBtZXRhZGF0YTogYW55KTogT2JzZXJ2YWJsZTxFc29sdmVSZXNwb25zZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVQb3N0UmVzcG9uc2VJdGVtPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXNlc3Npb25zLW1ldGFkYXRhLnBocGAsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHR5cGUgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVSZXNwb25zZVJlc3VsdChyZXNwb25zZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LXNlc3Npb25zLW1ldGFkYXRhJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0PFQ+KHR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPFQ+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtc2Vzc2lvbnMtbWV0YWRhdGEucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyB0eXBlIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAoQXJyYXkuaXNBcnJheShyZXNwb25zZS5yZWNvcmRzKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlY29yZHMgYXMgVDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZSh0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzb2x2ZVJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZGVsZXRlPEVzb2x2ZURlbGV0ZVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9kZWxldGUtc2Vzc2lvbnMtbWV0YWRhdGEucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyB0eXBlIH0sXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoaHR0cF9yZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQuc3RhdHVzICE9PSAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBodHRwX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVSZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLnJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cF9yZXNwb25zZS5yZXN1bHQubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBEZWxldGVFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUtc2Vzc2lvbnMtbWV0YWRhdGEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -214,13 +214,13 @@ export class EsolveSessionService {
|
|
|
214
214
|
}
|
|
215
215
|
localStorage.removeItem(this.storage_key);
|
|
216
216
|
}
|
|
217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
218
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
218
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionService, providedIn: 'root' }); }
|
|
219
219
|
}
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveSessionService, decorators: [{
|
|
221
221
|
type: Injectable,
|
|
222
222
|
args: [{
|
|
223
223
|
providedIn: 'root',
|
|
224
224
|
}]
|
|
225
225
|
}], ctorParameters: () => [] });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWNuRSxNQUFNLE9BQU8sb0JBQW9CO0lBdUI3QjtRQXRCaUIsZUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLGVBQWUs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SUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVksRUFBRSxlQUFzQjtRQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBRUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQyxPQUFPO1NBQ1Y7UUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQS9SUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBmaWx0ZXIsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZGVib3VuY2VUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZnJvbVVuaXhUaW1lIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZSc7XG5pbXBvcnQgeyBlc29sdmVIZXhIYXNoIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1oZXgtaGFzaC5mdW5jdGlvbic7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xuICAgIGxvY2F0aW9uX2lkPzogbnVtYmVyO1xuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZD86IG51bWJlcjtcbiAgICB0b2tlbj86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNfYnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29va2llU2VydmljZSA9IGluamVjdChFc29sdmVDb29raWVTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgdG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIHVzZXJfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgYWNjZXNzX2xldmVsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGxvY2F0aW9uX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGFkZHJlc3Nlc19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzaGlwcGluZ19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzdGF0ZV9oYXNoID0gJyc7XG5cbiAgICBwcml2YXRlIF9zZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xuXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICcnO1xuXG4gICAgLyogVGhlc2UgYXJlIFJ4SlMgc3ViamVjdHMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGV4cGlyYXRpb24gb2YgdGhlIHVzZXIgc2Vzc2lvbi4gKi9cbiAgICBwcml2YXRlIHRpbWVyX3N0YXJ0ID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgRGF0ZT4oKTtcbiAgICBwcml2YXRlIHRpbWVyX3N0b3AgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZXhwaXJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlc3Npb25fZW5kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHRoaXMuaW5pdFNlc3Npb24oKTtcblxuICAgICAgICB0aGlzLmdldFNlc3Npb24oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlc29sdmVIZXhIYXNoKHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChoYXNoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZV9oYXNoID0gaGFzaDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGltZXJfc3RhcnRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodGltZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIodGltZSkucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcl9zdG9wKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBTdG9yZWQgdGltZSBleHBpcmVkLiBDaGVjayBpZiBzZXNzaW9uIGlzIHZhbGlkXG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uX2VuZC5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBLaWxsIHNlc3Npb24gYW5kIHJlc2V0IHN0YXRlXG4gICAgICAgIHRoaXMub25FeHBpcmUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMub25Ub2tlblVwZGF0ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy5vblVzZXJJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiB0aGlzLm9uQWNjZXNzTGV2ZWxVcGRhdGUoKSxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiB0aGlzLm9uTG9jYXRpb25JZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiB0aGlzLm9uQWRkcmVzc2VzSWRVcGRhdGUoKSxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkOiB0aGlzLm9uU2hpcHBpbmdJZFVwZGF0ZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNlc3Npb24pLnBpcGUoXG4gICAgICAgICAgICAvLyBEZWxheXMgdGhlIGVtaXQgb25seSBzbGlnaHRseSBpbmNhc2UgbXVsdGlwbGUgdmFsdWVzIGFyZSBzZXRcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW4oKSAhPT0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlc3Npb24oKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXNzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXNzaW9uVmFsdWUoKTogRXNvbHZlU2Vzc2lvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFjY2Vzc19sZXZlbDogdGhpcy5hY2Nlc3NfbGV2ZWwkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogdGhpcy5sb2NhdGlvbl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogdGhpcy5zaGlwcGluZ19pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZXNzaW9uRW5kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uX2VuZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBpcmUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGlyZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwaXJlU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBpcmUubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2tlblVwZGF0ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9PSAnJyksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9rZW4kLm5leHQodG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWNjZXNzTGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzX2xldmVsJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblVzZXJJZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFjY2Vzc0xldmVsVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc19sZXZlbCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVXNlcklkKHVzZXJfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJfaWQkLm5leHQodXNlcl9pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjY2Vzc0xldmVsKGFjY2Vzc19sZXZlbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWNjZXNzX2xldmVsJC5uZXh0KGFjY2Vzc19sZXZlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvY2F0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9jYXRpb25JZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbl9pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25JZChsb2NhdGlvbl9pZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYXRpb25faWQkLm5leHQobG9jYXRpb25faWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXNJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWRkcmVzc2VzSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzc2VzX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBZGRyZXNzZXNJZChhZGRyZXNzZXNfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3Nlc19pZCQubmV4dChhZGRyZXNzZXNfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0lkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNoaXBwaW5nSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVNoaXBwaW5nSWQoc2hpcHBpbmdfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaXBwaW5nX2lkJC5uZXh0KHNoaXBwaW5nX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWNjZXNzTGV2ZWwoc2Vzc2lvbi5hY2Nlc3NfbGV2ZWwpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQoc2Vzc2lvbi5sb2NhdGlvbl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWRkcmVzc2VzSWQoc2Vzc2lvbi5hZGRyZXNzZXNfaWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNoaXBwaW5nSWQoc2Vzc2lvbi5zaGlwcGluZ19pZCk7XG4gICAgICAgIC8vIFVwZGF0ZSB0b2tlbiBsYXN0IHRvIG1ha2Ugc3VyZSBzZXNzaW9uIGlzIGNvcnJlY3RseSBjaGVja2VkXG4gICAgICAgIHRoaXMudXBkYXRlVG9rZW4oc2Vzc2lvbi50b2tlbik7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyeV9kYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgIHVzZXJfaWQsXG4gICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICBhZGRyZXNzZXNfaWQsXG4gICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICB0b2tlbixcbiAgICB9OiBTZXNzaW9uVXBkYXRlT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHVzZXJfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJJZCh1c2VyX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhZGRyZXNzZXNfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFkZHJlc3Nlc0lkKGFkZHJlc3Nlc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTaGlwcGluZ0lkKHNoaXBwaW5nX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdG9rZW4gIT09ICd1bmRlZmluZWQnICYmIHRva2VuLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhY2hlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcblxuICAgICAgICBpZiAoZGF0YSAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYWNoZShkYXRhOiBzdHJpbmcsIGV4cGlyYXRpb25fZGF0ZT86IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLnN0b3JhZ2Vfa2V5LCBkYXRhLCBleHBpcmF0aW9uX2RhdGUsICcvJyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlX2tleSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSh0aGlzLnN0b3JhZ2Vfa2V5LCAnLycpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyIHx8ICFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWNuRSxNQUFNLE9BQU8sb0JBQW9CO0lBdUI3QjtRQXRCaUIsZUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLGVBQWUs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VUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBmaWx0ZXIsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZGVib3VuY2VUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZnJvbVVuaXhUaW1lIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZSc7XG5pbXBvcnQgeyBlc29sdmVIZXhIYXNoIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1oZXgtaGFzaC5mdW5jdGlvbic7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xuICAgIGxvY2F0aW9uX2lkPzogbnVtYmVyO1xuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZD86IG51bWJlcjtcbiAgICB0b2tlbj86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNfYnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29va2llU2VydmljZSA9IGluamVjdChFc29sdmVDb29raWVTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgdG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIHVzZXJfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgYWNjZXNzX2xldmVsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGxvY2F0aW9uX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGFkZHJlc3Nlc19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzaGlwcGluZ19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzdGF0ZV9oYXNoID0gJyc7XG5cbiAgICBwcml2YXRlIF9zZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xuXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICcnO1xuXG4gICAgLyogVGhlc2UgYXJlIFJ4SlMgc3ViamVjdHMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGV4cGlyYXRpb24gb2YgdGhlIHVzZXIgc2Vzc2lvbi4gKi9cbiAgICBwcml2YXRlIHRpbWVyX3N0YXJ0ID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgRGF0ZT4oKTtcbiAgICBwcml2YXRlIHRpbWVyX3N0b3AgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZXhwaXJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlc3Npb25fZW5kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHRoaXMuaW5pdFNlc3Npb24oKTtcblxuICAgICAgICB0aGlzLmdldFNlc3Npb24oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlc29sdmVIZXhIYXNoKHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChoYXNoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZV9oYXNoID0gaGFzaDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGltZXJfc3RhcnRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodGltZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIodGltZSkucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcl9zdG9wKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBTdG9yZWQgdGltZSBleHBpcmVkLiBDaGVjayBpZiBzZXNzaW9uIGlzIHZhbGlkXG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uX2VuZC5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBLaWxsIHNlc3Npb24gYW5kIHJlc2V0IHN0YXRlXG4gICAgICAgIHRoaXMub25FeHBpcmUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMub25Ub2tlblVwZGF0ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy5vblVzZXJJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiB0aGlzLm9uQWNjZXNzTGV2ZWxVcGRhdGUoKSxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiB0aGlzLm9uTG9jYXRpb25JZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiB0aGlzLm9uQWRkcmVzc2VzSWRVcGRhdGUoKSxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkOiB0aGlzLm9uU2hpcHBpbmdJZFVwZGF0ZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNlc3Npb24pLnBpcGUoXG4gICAgICAgICAgICAvLyBEZWxheXMgdGhlIGVtaXQgb25seSBzbGlnaHRseSBpbmNhc2UgbXVsdGlwbGUgdmFsdWVzIGFyZSBzZXRcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW4oKSAhPT0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlc3Npb24oKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXNzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXNzaW9uVmFsdWUoKTogRXNvbHZlU2Vzc2lvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFjY2Vzc19sZXZlbDogdGhpcy5hY2Nlc3NfbGV2ZWwkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogdGhpcy5sb2NhdGlvbl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogdGhpcy5zaGlwcGluZ19pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZXNzaW9uRW5kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uX2VuZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBpcmUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGlyZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwaXJlU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBpcmUubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2tlblVwZGF0ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9PSAnJyksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9rZW4kLm5leHQodG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWNjZXNzTGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzX2xldmVsJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblVzZXJJZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFjY2Vzc0xldmVsVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc19sZXZlbCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVXNlcklkKHVzZXJfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJfaWQkLm5leHQodXNlcl9pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjY2Vzc0xldmVsKGFjY2Vzc19sZXZlbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWNjZXNzX2xldmVsJC5uZXh0KGFjY2Vzc19sZXZlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvY2F0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9jYXRpb25JZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbl9pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25JZChsb2NhdGlvbl9pZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYXRpb25faWQkLm5leHQobG9jYXRpb25faWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXNJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWRkcmVzc2VzSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzc2VzX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBZGRyZXNzZXNJZChhZGRyZXNzZXNfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3Nlc19pZCQubmV4dChhZGRyZXNzZXNfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0lkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNoaXBwaW5nSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVNoaXBwaW5nSWQoc2hpcHBpbmdfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaXBwaW5nX2lkJC5uZXh0KHNoaXBwaW5nX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWNjZXNzTGV2ZWwoc2Vzc2lvbi5hY2Nlc3NfbGV2ZWwpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQoc2Vzc2lvbi5sb2NhdGlvbl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWRkcmVzc2VzSWQoc2Vzc2lvbi5hZGRyZXNzZXNfaWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNoaXBwaW5nSWQoc2Vzc2lvbi5zaGlwcGluZ19pZCk7XG4gICAgICAgIC8vIFVwZGF0ZSB0b2tlbiBsYXN0IHRvIG1ha2Ugc3VyZSBzZXNzaW9uIGlzIGNvcnJlY3RseSBjaGVja2VkXG4gICAgICAgIHRoaXMudXBkYXRlVG9rZW4oc2Vzc2lvbi50b2tlbik7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyeV9kYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgIHVzZXJfaWQsXG4gICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICBhZGRyZXNzZXNfaWQsXG4gICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICB0b2tlbixcbiAgICB9OiBTZXNzaW9uVXBkYXRlT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHVzZXJfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJJZCh1c2VyX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhZGRyZXNzZXNfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFkZHJlc3Nlc0lkKGFkZHJlc3Nlc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTaGlwcGluZ0lkKHNoaXBwaW5nX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdG9rZW4gIT09ICd1bmRlZmluZWQnICYmIHRva2VuLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhY2hlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcblxuICAgICAgICBpZiAoZGF0YSAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYWNoZShkYXRhOiBzdHJpbmcsIGV4cGlyYXRpb25fZGF0ZT86IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLnN0b3JhZ2Vfa2V5LCBkYXRhLCBleHBpcmF0aW9uX2RhdGUsICcvJyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlX2tleSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSh0aGlzLnN0b3JhZ2Vfa2V5LCAnLycpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyIHx8ICFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -17,10 +17,10 @@ export class EsolveCookieService {
|
|
|
17
17
|
delete(name, path, domain, secure) {
|
|
18
18
|
this.cookieService.delete(name, path, domain, secure);
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveCookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveCookieService, providedIn: 'root' }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: EsolveCookieService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{
|
|
26
26
|
providedIn: 'root',
|