@xsolla/payment-client-core 0.2.58 → 0.2.60
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/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs +7 -12
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +52 -46
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.mjs +1 -1
- package/fesm2022/xsolla-payment-client-core.mjs +148 -146
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +1 -3
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +20 -6
- package/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.d.ts +1 -1
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.60.tgz +0 -0
- package/xsolla-payment-client-core-0.2.58.tgz +0 -0
package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
2
|
+
import { share, Subject } from 'rxjs';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
|
|
4
|
+
import * as i1 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
|
|
6
5
|
export class ApplePayCartService {
|
|
7
6
|
get cartSuccessfulRecalculated$() {
|
|
8
|
-
return this.cartSuccessfulRecalculated.asObservable();
|
|
7
|
+
return this.cartSuccessfulRecalculated.asObservable().pipe(share());
|
|
9
8
|
}
|
|
10
9
|
get cartErrorRecalculated$() {
|
|
11
10
|
return this.cartErrorRecalculated.asObservable();
|
|
@@ -13,8 +12,7 @@ export class ApplePayCartService {
|
|
|
13
12
|
get cartRecalculationRequest$() {
|
|
14
13
|
return this.cartRecalculationRequest.asObservable();
|
|
15
14
|
}
|
|
16
|
-
constructor(
|
|
17
|
-
this.externalWindowCommunicationService = externalWindowCommunicationService;
|
|
15
|
+
constructor(summaryFinanceDetailsAdapterService) {
|
|
18
16
|
this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
|
|
19
17
|
this.cartSuccessfulRecalculated = new Subject();
|
|
20
18
|
this.cartErrorRecalculated = new Subject();
|
|
@@ -49,9 +47,6 @@ export class ApplePayCartService {
|
|
|
49
47
|
subtotalPayment: financeDetails.cartSummary.subtotalPayment,
|
|
50
48
|
};
|
|
51
49
|
this.cartSuccessfulRecalculated.next(updatedPrice);
|
|
52
|
-
void this.externalWindowCommunicationService.sendMessageToAnotherWindow("apple-pay-update-price" /* CommandsForPages.APPLE_PAY_UPDATE_PRICE */, {
|
|
53
|
-
newCartPricing: updatedPrice,
|
|
54
|
-
});
|
|
55
50
|
}
|
|
56
51
|
sendErrorRecalculatedCart(error) {
|
|
57
52
|
this.cartErrorRecalculated.next(error);
|
|
@@ -88,7 +83,7 @@ export class ApplePayCartService {
|
|
|
88
83
|
getTotalAmount(finance) {
|
|
89
84
|
return finance?.grand_total?.amount ?? finance?.total?.amount;
|
|
90
85
|
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
87
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, providedIn: 'root' }); }
|
|
93
88
|
}
|
|
94
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayCartService, decorators: [{
|
|
@@ -96,5 +91,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
96
91
|
args: [{
|
|
97
92
|
providedIn: 'root',
|
|
98
93
|
}]
|
|
99
|
-
}], ctorParameters: () => [{ type: i1.
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2FwcGxlLXBheS1jYXJ0L2FwcGxlLXBheS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBcUIzQyxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQ21CLGtDQUE4RSxFQUM5RSxtQ0FBd0U7UUFEeEUsdUNBQWtDLEdBQWxDLGtDQUFrQyxDQUE0QztRQUM5RSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBbkIxRSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQWlCeEUsQ0FBQztJQUVHLG9CQUFvQixDQUFDLGVBQXdDO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFdBQVcs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UUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW1CO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDaEUsQ0FBQzs4R0FuSFUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwcGxlUGF5RXJyb3IsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0LFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSxcbn0gZnJvbSAnLi4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheUxpbmVJdGVtIH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBDYXJ0TGluZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgVXBkYXRlUHJpY2VNZXNzYWdlIH0gZnJvbSAnLi4vc29ja2V0LW1lc3NhZ2VzL3VwZGF0ZS1wcmljZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheUNhcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PFVwZGF0ZWRQcmljZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxBcHBsZVBheUVycm9yPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0ID0gbmV3IFN1YmplY3Q8U2hpcHBpbmdBZGRyZXNzPigpO1xuXG4gIHB1YmxpYyBnZXQgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8VXBkYXRlZFByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRFcnJvclJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QkKCk6IE9ic2VydmFibGU8U2hpcHBpbmdBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgcmVjYWxjdWxhdGVDYXJ0VGF4ZXMoc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCk6IHZvaWQge1xuICAgIGNvbnN0IHppcCA9IHNoaXBwaW5nQ29udGFjdC5wb3N0YWxDb2RlO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGU/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XG4gICAgY29uc3QgcGFyc2VkWmlwID0gemlwPy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QubmV4dCh7XG4gICAgICB6aXA6IHBhcnNlZFppcCxcbiAgICAgIGNvdW50cnksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRTaGlwcGluZ0NvbnRhY3RVcGRhdGUoXG4gICAgcGF5bWVudFBhcmFtczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2VcbiAgKTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXM6ICdTVEFUVVNfU1VDQ0VTUycsXG4gICAgICBuZXdUb3RhbDoge1xuICAgICAgICBsYWJlbDogcGF5bWVudFBhcmFtcy50b3RhbExhYmVsLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS50b3RhbC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIG5ld0xpbmVJdGVtczogdGhpcy5nZXRMaW5lSXRlbXModXBkYXRlZFByaWNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNlbmRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkQ2FydCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKFxuICAgICAgICB4cHNSZXNwb25zZS5zdW1tYXJ5XG4gICAgICApO1xuXG4gICAgY29uc3QgdXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UgPSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGZpbmFuY2UgZXhpc3RcbiAgICAgIHRvdGFsOiB0aGlzLmdldFRvdGFsQW1vdW50KHhwc1Jlc3BvbnNlLnN1bW1hcnkuZmluYW5jZSksXG4gICAgICBzdWJ0b3RhbERldGFpbHM6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnN1YnRvdGFsRGV0YWlscyxcbiAgICAgIHRvdGFsRGV0YWlsczogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkudG90YWxEZXRhaWxzLFxuICAgICAgc3VidG90YWxQYXltZW50OiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS5zdWJ0b3RhbFBheW1lbnQsXG4gICAgfTtcblxuICAgIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQubmV4dCh1cGRhdGVkUHJpY2UpO1xuXG4gICAgdm9pZCB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2Uuc2VuZE1lc3NhZ2VUb0Fub3RoZXJXaW5kb3c8XG4gICAgICBVcGRhdGVQcmljZU1lc3NhZ2VbJ2RhdGEnXVxuICAgID4oQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfVVBEQVRFX1BSSUNFLCB7XG4gICAgICBuZXdDYXJ0UHJpY2luZzogdXBkYXRlZFByaWNlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNlbmRFcnJvclJlY2FsY3VsYXRlZENhcnQoZXJyb3I6IEFwcGxlUGF5RXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmNhcnRFcnJvclJlY2FsY3VsYXRlZC5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1ppcENvdW50cnkoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFsnVVMnLCAnQ0EnXS5pbmNsdWRlcyhjb3VudHJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluZUl0ZW1zKHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlKTogQXBwbGVQYXlMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBuZXdMaW5lSXRlbXM6IEFwcGxlUGF5TGluZUl0ZW1bXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQ/Lm1vbmV5Py5hbW91bnQpIHtcbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQudGl0bGUgPz8gJ1N1YnRvdGFsJyxcbiAgICAgICAgYW1vdW50OiB1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50Lm1vbmV5Py5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGxldCBwYXltZW50c0RldGFpbHM6IENhcnRMaW5lW10gPSBbXTtcblxuICAgIGlmICh1cGRhdGVkUHJpY2Uuc3VidG90YWxEZXRhaWxzPy5sZW5ndGgpIHtcbiAgICAgIHBheW1lbnRzRGV0YWlscyA9IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gcGF5bWVudHNEZXRhaWxzLmNvbmNhdCh1cGRhdGVkUHJpY2UudG90YWxEZXRhaWxzKTtcbiAgICB9XG5cbiAgICBwYXltZW50c0RldGFpbHMuZm9yRWFjaCgoY2FydEl0ZW0pID0+IHtcbiAgICAgIGlmICghY2FydEl0ZW0udGl0bGUgfHwgIWNhcnRJdGVtLm1vbmV5Py5hbW91bnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXdMaW5lSXRlbXMucHVzaCh7XG4gICAgICAgIGxhYmVsOiBjYXJ0SXRlbS50aXRsZSxcbiAgICAgICAgYW1vdW50OiBjYXJ0SXRlbS5tb25leS5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ld0xpbmVJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxBbW91bnQoZmluYW5jZTogWHBzRmluYW5jZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGZpbmFuY2U/LmdyYW5kX3RvdGFsPy5hbW91bnQgPz8gZmluYW5jZT8udG90YWw/LmFtb3VudDtcbiAgfVxufVxuIl19
|
|
94
|
+
}], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2FwcGxlLXBheS1jYXJ0L2FwcGxlLXBheS1jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBa0JsRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTlCLElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQ21CLG1DQUF3RTtRQUF4RSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBbEIxRSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQWdCeEUsQ0FBQztJQUVHLG9CQUFvQixDQUFDLGVBQXdDO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxX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QUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFtQjtRQUN4QyxPQUFPLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2hFLENBQUM7OEdBNUdVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQXBwbGVQYXlFcnJvcixcbiAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3QsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLFxufSBmcm9tICcuLi9zZXNzaW9uLWhhbmRsZXJzL2FwcGxlLXBheS1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4uL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZWRQcmljZSB9IGZyb20gJy4uL3VwZGF0ZWQtcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNoaXBwaW5nQWRkcmVzcyB9IGZyb20gJy4uL3NoaXBwaW5nLWFkZHJlc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5TGluZUl0ZW0gfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0ZpbmFuY2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheUNhcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PFVwZGF0ZWRQcmljZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxBcHBsZVBheUVycm9yPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0ID0gbmV3IFN1YmplY3Q8U2hpcHBpbmdBZGRyZXNzPigpO1xuXG4gIHB1YmxpYyBnZXQgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8VXBkYXRlZFByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FydEVycm9yUmVjYWxjdWxhdGVkJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3I+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0RXJyb3JSZWNhbGN1bGF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdCQoKTogT2JzZXJ2YWJsZTxTaGlwcGluZ0FkZHJlc3M+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyByZWNhbGN1bGF0ZUNhcnRUYXhlcyhzaGlwcGluZ0NvbnRhY3Q6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0KTogdm9pZCB7XG4gICAgY29uc3QgemlwID0gc2hpcHBpbmdDb250YWN0LnBvc3RhbENvZGU7XG4gICAgY29uc3QgY291bnRyeSA9IHNoaXBwaW5nQ29udGFjdC5jb3VudHJ5Q29kZT8udG9VcHBlckNhc2UoKSA/PyAnJztcbiAgICBjb25zdCBwYXJzZWRaaXAgPSB6aXA/LnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICB0aGlzLmNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdC5uZXh0KHtcbiAgICAgIHppcDogcGFyc2VkWmlwLFxuICAgICAgY291bnRyeSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZFNoaXBwaW5nQ29udGFjdFVwZGF0ZShcbiAgICBwYXltZW50UGFyYW1zOiBBcHBsZVBheVBhcmFtcyxcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZVxuICApOiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1czogJ1NUQVRVU19TVUNDRVNTJyxcbiAgICAgIG5ld1RvdGFsOiB7XG4gICAgICAgIGxhYmVsOiBwYXltZW50UGFyYW1zLnRvdGFsTGFiZWwsXG4gICAgICAgIGFtb3VudDogdXBkYXRlZFByaWNlLnRvdGFsLnRvU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgbmV3TGluZUl0ZW1zOiB0aGlzLmdldExpbmVJdGVtcyh1cGRhdGVkUHJpY2UpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2VuZFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWRDYXJ0KHhwc1Jlc3BvbnNlOiBYcHNSZXNwb25zZSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoXG4gICAgICAgIHhwc1Jlc3BvbnNlLnN1bW1hcnlcbiAgICAgICk7XG5cbiAgICBjb25zdCB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSA9IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZmluYW5jZSBleGlzdFxuICAgICAgdG90YWw6IHRoaXMuZ2V0VG90YWxBbW91bnQoeHBzUmVzcG9uc2Uuc3VtbWFyeS5maW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxEZXRhaWxzLFxuICAgICAgdG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS50b3RhbERldGFpbHMsXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnN1YnRvdGFsUGF5bWVudCxcbiAgICB9O1xuXG4gICAgdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5uZXh0KHVwZGF0ZWRQcmljZSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEVycm9yUmVjYWxjdWxhdGVkQ2FydChlcnJvcjogQXBwbGVQYXlFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGlzWmlwQ291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydVUycsICdDQSddLmluY2x1ZGVzKGNvdW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5lSXRlbXModXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UpOiBBcHBsZVBheUxpbmVJdGVtW10ge1xuICAgIGNvbnN0IG5ld0xpbmVJdGVtczogQXBwbGVQYXlMaW5lSXRlbVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudD8ubW9uZXk/LmFtb3VudCkge1xuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC50aXRsZSA/PyAnU3VidG90YWwnLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQubW9uZXk/LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IHBheW1lbnRzRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gdXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscztcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSBwYXltZW50c0RldGFpbHMuY29uY2F0KHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHMpO1xuICAgIH1cblxuICAgIHBheW1lbnRzRGV0YWlscy5mb3JFYWNoKChjYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKCFjYXJ0SXRlbS50aXRsZSB8fCAhY2FydEl0ZW0ubW9uZXk/LmFtb3VudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGNhcnRJdGVtLnRpdGxlLFxuICAgICAgICBhbW91bnQ6IGNhcnRJdGVtLm1vbmV5LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3TGluZUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEFtb3VudChmaW5hbmNlOiBYcHNGaW5hbmNlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbD8uYW1vdW50O1xuICB9XG59XG4iXX0=
|
|
@@ -18,7 +18,7 @@ import * as i4 from "./params-builder/apple-pay-params-builder.service";
|
|
|
18
18
|
import * as i5 from "../../exceptions-handling/elk/elk-logger.service";
|
|
19
19
|
import * as i6 from "./apple-pay-sdk.service";
|
|
20
20
|
import * as i7 from "./external-window-communication/external-window-communication.service";
|
|
21
|
-
import * as i8 from "
|
|
21
|
+
import * as i8 from "../../settings/settings.service";
|
|
22
22
|
export class ApplePayService {
|
|
23
23
|
get paymentParameters() {
|
|
24
24
|
return this.applePayParams;
|
|
@@ -40,7 +40,27 @@ export class ApplePayService {
|
|
|
40
40
|
get integrationType$() {
|
|
41
41
|
return this.integrationType.asObservable();
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
get getCartRecalculationMessage$() {
|
|
44
|
+
return this.externalWindowCommunicationService
|
|
45
|
+
.getCartRecalculationMessage$()
|
|
46
|
+
.pipe(takeUntil(this.destroy$));
|
|
47
|
+
}
|
|
48
|
+
get getWindowSendTokenMessage$() {
|
|
49
|
+
return this.externalWindowCommunicationService
|
|
50
|
+
.getWindowSendTokenMessage$()
|
|
51
|
+
.pipe(takeUntil(this.destroy$));
|
|
52
|
+
}
|
|
53
|
+
get getWindowClose$() {
|
|
54
|
+
return this.externalWindowCommunicationService
|
|
55
|
+
.getWindowClose$()
|
|
56
|
+
.pipe(takeUntil(this.destroy$));
|
|
57
|
+
}
|
|
58
|
+
get getWindowReturnMessage$() {
|
|
59
|
+
return this.externalWindowCommunicationService
|
|
60
|
+
.getWindowReturnMessage$()
|
|
61
|
+
.pipe(takeUntil(this.destroy$));
|
|
62
|
+
}
|
|
63
|
+
constructor(window, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, elkLoggerService, applePaySdkService, externalWindowCommunicationService, settingsService) {
|
|
44
64
|
this.window = window;
|
|
45
65
|
this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
|
|
46
66
|
this.braintreeHandler = braintreeHandler;
|
|
@@ -49,7 +69,7 @@ export class ApplePayService {
|
|
|
49
69
|
this.elkLoggerService = elkLoggerService;
|
|
50
70
|
this.applePaySdkService = applePaySdkService;
|
|
51
71
|
this.externalWindowCommunicationService = externalWindowCommunicationService;
|
|
52
|
-
this.
|
|
72
|
+
this.settingsService = settingsService;
|
|
53
73
|
this.payment = new Subject();
|
|
54
74
|
this.error = new Subject();
|
|
55
75
|
this.integrationType = new Subject();
|
|
@@ -101,20 +121,25 @@ export class ApplePayService {
|
|
|
101
121
|
this.emitError(ApplePayErrors.deviceIsNotCapableError);
|
|
102
122
|
}
|
|
103
123
|
}
|
|
104
|
-
async initApplePay(tokenKey) {
|
|
124
|
+
async initApplePay(tokenKey, isApplePayInstantFlowEnabled) {
|
|
105
125
|
if (this.applePayParams?.acquirer === 'braintree') {
|
|
106
126
|
await this.initBraintreeLibrary(tokenKey);
|
|
107
127
|
}
|
|
108
|
-
this.emitIntegrationType();
|
|
128
|
+
this.emitIntegrationType(isApplePayInstantFlowEnabled);
|
|
129
|
+
}
|
|
130
|
+
async startWindowCommunication() {
|
|
131
|
+
await this.externalWindowCommunicationService.openWebSocketConnection(this.settingsService.token);
|
|
109
132
|
}
|
|
110
|
-
|
|
133
|
+
sendUpdatedPriceViaWindowCommunication(updatedPrice) {
|
|
134
|
+
void this.externalWindowCommunicationService.sendMessageToAnotherWindow("apple-pay-update-price" /* CommandsForPages.APPLE_PAY_UPDATE_PRICE */, {
|
|
135
|
+
newCartPricing: updatedPrice,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
redirectToPaymentPage(parameters, token, isSandbox) {
|
|
111
139
|
const route = pagesRoutes.get(applePayId);
|
|
112
140
|
if (!route) {
|
|
113
141
|
return;
|
|
114
142
|
}
|
|
115
|
-
console.log('🟡[LOG] token :>>', token);
|
|
116
|
-
await this.externalWindowCommunicationService.openWebSocketConnection(token);
|
|
117
|
-
this.listenWebsocketMessages();
|
|
118
143
|
const query = new URLSearchParams({
|
|
119
144
|
...parameters,
|
|
120
145
|
merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
|
|
@@ -177,7 +202,13 @@ export class ApplePayService {
|
|
|
177
202
|
return;
|
|
178
203
|
}
|
|
179
204
|
sessionHandler.startSession(parameters, additionalParams, () => this.applePaySdkService.emitWindowClosing());
|
|
180
|
-
this.emitApplePayOpened();
|
|
205
|
+
this.emitApplePayOpened(additionalParams.isApplePayInstantFlowEnabled ?? false);
|
|
206
|
+
}
|
|
207
|
+
mapShippingAddressToContact(shippingAddress) {
|
|
208
|
+
return mapShippingAddressToContact(shippingAddress);
|
|
209
|
+
}
|
|
210
|
+
setToken(token) {
|
|
211
|
+
this.payment.next(token);
|
|
181
212
|
}
|
|
182
213
|
getSessionHandler(acquirer) {
|
|
183
214
|
switch (acquirer) {
|
|
@@ -196,8 +227,8 @@ export class ApplePayService {
|
|
|
196
227
|
emitError(error) {
|
|
197
228
|
this.error.next(error);
|
|
198
229
|
}
|
|
199
|
-
emitIntegrationType() {
|
|
200
|
-
this.integrationType.next(this.getIntegrationType());
|
|
230
|
+
emitIntegrationType(isApplePayInstantFlowEnabled) {
|
|
231
|
+
this.integrationType.next(this.getIntegrationType(isApplePayInstantFlowEnabled));
|
|
201
232
|
}
|
|
202
233
|
subscribeToHandlers() {
|
|
203
234
|
const handlers = [this.braintreeHandler, this.checkoutHandler];
|
|
@@ -208,46 +239,21 @@ export class ApplePayService {
|
|
|
208
239
|
});
|
|
209
240
|
});
|
|
210
241
|
}
|
|
211
|
-
getIntegrationType() {
|
|
242
|
+
getIntegrationType(isApplePayInstantFlowEnabled) {
|
|
212
243
|
/* istanbul ignore next */
|
|
213
|
-
return this.isDeviceCapable
|
|
244
|
+
return this.isDeviceCapable && isApplePayInstantFlowEnabled
|
|
214
245
|
? ApplePayIntegrationType.native
|
|
215
246
|
: ApplePayIntegrationType.redirect;
|
|
216
247
|
}
|
|
217
|
-
emitApplePayOpened() {
|
|
218
|
-
|
|
248
|
+
emitApplePayOpened(isApplePayInstantFlowEnabled) {
|
|
249
|
+
/* istanbul ignore next */
|
|
250
|
+
if (this.getIntegrationType(isApplePayInstantFlowEnabled) ===
|
|
251
|
+
ApplePayIntegrationType.native &&
|
|
219
252
|
this.applePaySdkService.needToAddApplePayJs) {
|
|
220
253
|
this.applePayQrOpened.next();
|
|
221
254
|
}
|
|
222
255
|
}
|
|
223
|
-
|
|
224
|
-
// Cart recalculation
|
|
225
|
-
this.externalWindowCommunicationService
|
|
226
|
-
.getCartRecalculationMessage$()
|
|
227
|
-
.pipe(takeUntil(this.destroy$))
|
|
228
|
-
.subscribe((message) => {
|
|
229
|
-
const shippingContact = mapShippingAddressToContact(message.data.shippingAddress);
|
|
230
|
-
this.applePayCartService.recalculateCartTaxes(shippingContact);
|
|
231
|
-
});
|
|
232
|
-
// Send token
|
|
233
|
-
this.externalWindowCommunicationService
|
|
234
|
-
.getWindowSendTokenMessage$()
|
|
235
|
-
.pipe(takeUntil(this.destroy$))
|
|
236
|
-
.subscribe((message) => {
|
|
237
|
-
this.payment.next(message.data.applePayToken);
|
|
238
|
-
});
|
|
239
|
-
// Close window
|
|
240
|
-
this.externalWindowCommunicationService.getWindowClose$().subscribe(() => {
|
|
241
|
-
// TODO handle
|
|
242
|
-
});
|
|
243
|
-
// Close window with 'back' button
|
|
244
|
-
this.externalWindowCommunicationService
|
|
245
|
-
.getWindowReturnMessage$()
|
|
246
|
-
.subscribe(() => {
|
|
247
|
-
// TODO handle
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.ElkLoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.ApplePayCartService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
256
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.ElkLoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
251
257
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
|
|
252
258
|
}
|
|
253
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, decorators: [{
|
|
@@ -258,5 +264,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
258
264
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
259
265
|
type: Inject,
|
|
260
266
|
args: [windowToken]
|
|
261
|
-
}] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.ElkLoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFLbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7QUFLekYsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZ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cm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBwYXlTdGF0aW9uNFVybCxcbiAgc2FuZGJveFBheVN0YXRpb25VcmwsXG59IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wYXktc3RhdGlvbjQtdXJsLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGFyYW1zLWJ1aWxkZXIvYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxrTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBTdGFydFNlc3Npb25QYXJhbXMgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc3RhcnQtc2Vzc2lvbi1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2RrU2VydmljZSB9IGZyb20gJy4vYXBwbGUtcGF5LXNkay5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUNhcnRTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdCB9IGZyb20gJy4vbWFwLXNoaXBwaW5nLWFkZHJlc3MtdG8tY29udGFjdC5mdW5jdGlvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlRck9wZW5lZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IGFwcGxlUGF5UXJPcGVuZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnJhaW50cmVlSGFuZGxlcjogQnJhaW50cmVlSGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrb3V0SGFuZGxlcjogQ2hlY2tvdXRIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXJhbXNCdWlsZGVyOiBBcHBsZVBheVBhcmFtc0J1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxrTG9nZ2VyU2VydmljZTogRWxrTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGF5U2RrU2VydmljZTogQXBwbGVQYXlTZGtTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZTogQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlDYXJ0U2VydmljZTogQXBwbGVQYXlDYXJ0U2VydmljZVxuICApIHtcbiAgICB0aGlzLmFwaSA9IHRoaXMubG9hZEJyYWludHJlZSgpO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVUb0hhbmRsZXJzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgYWRkQXBwbGVQYXlTZGtKcygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5hZGRBcHBsZVBheVNka0pzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcHBsZVBheVBhcmFtcyhkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3QgcGF5bWVudEZvcm0gPSBkYXRhPy5wYXltZW50Rm9ybTtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gcGF5bWVudEZvcm0/LmZpZWxkcztcbiAgICBjb25zdCBzdW1tYXJ5ID0gcGF5bWVudEZvcm0/LnN1bW1hcnk7XG5cbiAgICBpZiAoIWZvcm1GaWVsZHMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIuYnVpbGRQYXJhbXMocGF5bWVudEZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRCcmFpbnRyZWVMaWJyYXJ5KHRva2VuS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBpID0gYXdhaXQgdGhpcy5hcGk7XG4gICAgICBjb25zdCBjbGllbnRJbnN0YW5jZSA9IGF3YWl0IGFwaS5jbGllbnQuY3JlYXRlKHtcbiAgICAgICAgYXV0aG9yaXphdGlvbjogdG9rZW5LZXksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wYXltZW50Q2xpZW50ID0gYXdhaXQgYXBpLmFwcGxlUGF5LmNyZWF0ZSh7XG4gICAgICAgIGNsaWVudDogY2xpZW50SW5zdGFuY2UsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYnJhaW50cmVlSGFuZGxlci5zZXRDbGllbnQodGhpcy5wYXltZW50Q2xpZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIGVycm9yKTtcbiAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBbXG4gICAgICAgIEVycm9yVGFncy5BUFBMRVBBWSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50IHx8ICF0aGlzLmlzRGV2aWNlQ2FwYWJsZSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QXBwbGVQYXkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5UGFyYW1zPy5hY3F1aXJlciA9PT0gJ2JyYWludHJlZScpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXkpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlZGlyZWN0VG9QYXltZW50UGFnZShcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIGlzU2FuZGJveD86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCByb3V0ZSA9IHBhZ2VzUm91dGVzLmdldChhcHBsZVBheUlkKTtcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCfwn5+hW0xPR10gdG9rZW4gOj4+JywgdG9rZW4pO1xuXG4gICAgYXdhaXQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLm9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKFxuICAgICAgdG9rZW5cbiAgICApO1xuICAgIHRoaXMubGlzdGVuV2Vic29ja2V0TWVzc2FnZXMoKTtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IGRhdGE/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICBpZiAoZmluYW5jZURldGFpbHM/LnB1cmNoYXNlICYmIGZpbmFuY2VEZXRhaWxzPy5maW5hbmNlKSB7XG4gICAgICBjb25zdCBjYXJ0SXRlbXMgPSBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gICAgICB0aGlzLm9yZGVyID0gY2FydEl0ZW1zPy5yZWR1Y2UoKGN1cnIsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGN1cnIpIHtcbiAgICAgICAgICByZXR1cm4gY3VyciArIGA7ICR7aXRlbS50aXRsZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnIgKyBpdGVtLnRpdGxlO1xuICAgICAgfSwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5uZWVkVG9BZGRBcHBsZVBheUpzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci51cGRhdGVQYXJhbXMoXG4gICAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLFxuICAgICAgc3VtbWFyeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtc1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBhZGRpdGlvbmFsUGFyYW1zLCAoKSA9PlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuZW1pdFdpbmRvd0Nsb3NpbmcoKVxuICAgICk7XG4gICAgdGhpcy5lbWl0QXBwbGVQYXlPcGVuZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkhhbmRsZXIoXG4gICAgYWNxdWlyZXI6IHN0cmluZ1xuICApOiBBcHBsZVBheVNlc3Npb25IYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICBzd2l0Y2ggKGFjcXVpcmVyKSB7XG4gICAgICBjYXNlICdicmFpbnRyZWUnOlxuICAgICAgICByZXR1cm4gdGhpcy5icmFpbnRyZWVIYW5kbGVyO1xuICAgICAgY2FzZSAnY2hlY2tvdXQnOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja291dEhhbmRsZXI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEJyYWludHJlZSgpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IGFwaSA9IGF3YWl0IGltcG9ydCgnYnJhaW50cmVlLXdlYicpO1xuICAgIHJldHVybiBhcGk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXBwbGVQYXlFcnJvcnMpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZWdyYXRpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQodGhpcy5nZXRJbnRlZ3JhdGlvblR5cGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbdGhpcy5icmFpbnRyZWVIYW5kbGVyLCB0aGlzLmNoZWNrb3V0SGFuZGxlcl07XG5cbiAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICBoYW5kbGVyLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLmVtaXRFcnJvcihlcnJvcikpO1xuICAgICAgaGFuZGxlci5wYXltZW50JC5zdWJzY3JpYmUoKHRva2VuKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRlZ3JhdGlvblR5cGUoKTogQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuaXNEZXZpY2VDYXBhYmxlXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKCkgPT09IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZSAmJlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKc1xuICAgICkge1xuICAgICAgdGhpcy5hcHBsZVBheVFyT3BlbmVkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbldlYnNvY2tldE1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIC8vIENhcnQgcmVjYWxjdWxhdGlvblxuICAgIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICBjb25zdCBzaGlwcGluZ0NvbnRhY3QgPSBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3QoXG4gICAgICAgICAgbWVzc2FnZS5kYXRhLnNoaXBwaW5nQWRkcmVzc1xuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYXBwbGVQYXlDYXJ0U2VydmljZS5yZWNhbGN1bGF0ZUNhcnRUYXhlcyhzaGlwcGluZ0NvbnRhY3QpO1xuICAgICAgfSk7XG5cbiAgICAvLyBTZW5kIHRva2VuXG4gICAgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnQubmV4dChtZXNzYWdlLmRhdGEuYXBwbGVQYXlUb2tlbik7XG4gICAgICB9KTtcblxuICAgIC8vIENsb3NlIHdpbmRvd1xuICAgIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5nZXRXaW5kb3dDbG9zZSQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gVE9ETyBoYW5kbGVcbiAgICB9KTtcblxuICAgIC8vIENsb3NlIHdpbmRvdyB3aXRoICdiYWNrJyBidXR0b25cbiAgICB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gVE9ETyBoYW5kbGVcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
267
|
+
}] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.ElkLoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.SettingsService }] });
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBRUwsdUJBQXVCLEdBQ3hCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU96RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFJbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7QUFlekYsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZ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LE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFxRUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcGxlUGF5LCBhcHBsZVBheSwgY2xpZW50IH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgcGF5U3RhdGlvbjRVcmwsXG4gIHNhbmRib3hQYXlTdGF0aW9uVXJsLFxufSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcGF5LXN0YXRpb240LXVybC5jb25zdCc7XG5pbXBvcnQgeyBhcHBsZVBheUlkIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1wYXltZW50LW1ldGhvZHMtaWQuY29uc3QnO1xuaW1wb3J0IHsgcGFnZXNSb3V0ZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXJvdXRlcy5jb25zdCc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHtcbiAgQXBwbGVQYXlJbnRlZ3JhdGlvbixcbiAgQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUsXG59IGZyb20gJy4vYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGFwcGxlUGF5VmVyc2lvbiB9IGZyb20gJy4vYXBwbGUtcGF5LmNvbnN0JztcbmltcG9ydCB7IEFwcGxlUGF5RXJyb3JzIH0gZnJvbSAnLi9hcHBsZS1wYXkuZXJyb3JzLmVudW0nO1xuaW1wb3J0IHsgQnJhaW50cmVlSGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9icmFpbnRyZWUuaGFuZGxlcic7XG5pbXBvcnQgeyBDaGVja291dEhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvY2hlY2tvdXQuaGFuZGxlcic7XG5pbXBvcnQgeyBBcHBsZVBheVNlc3Npb25IYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL3Nlc3Npb24taGFuZGxlci50eXBlJztcbmltcG9ydCB7IFBheW1lbnRGb3JtIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9wYXltZW50LWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3BhcmFtcy1idWlsZGVyL2FwcGxlLXBheS1wYXJhbXMtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVsa0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vsay9lbGstbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgU3RhcnRTZXNzaW9uUGFyYW1zIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL3N0YXJ0LXNlc3Npb24tcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNka1NlcnZpY2UgfSBmcm9tICcuL2FwcGxlLXBheS1zZGsuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0IH0gZnJvbSAnLi9tYXAtc2hpcHBpbmctYWRkcmVzcy10by1jb250YWN0LmZ1bmN0aW9uJztcbmltcG9ydCB7IFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3NlbmQtdG9rZW4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q2xvc2VNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvd2luZG93LWNsb3NlLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9yZXR1cm4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuL3NoaXBwaW5nLWFkZHJlc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0IH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2FwcGxlLXBheS1zZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuL3VwZGF0ZWQtcHJpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZVByaWNlTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3VwZGF0ZS1wcmljZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi9jb21tYW5kcy1mb3ItcGFnZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlRck9wZW5lZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IGFwcGxlUGF5UXJPcGVuZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93Q2xvc2UkKCk6IE9ic2VydmFibGU8V2luZG93Q2xvc2VNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd0Nsb3NlJCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBicmFpbnRyZWVIYW5kbGVyOiBCcmFpbnRyZWVIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRIYW5kbGVyOiBDaGVja291dEhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBsZVBhcmFtc0J1aWxkZXI6IEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGtMb2dnZXJTZXJ2aWNlOiBFbGtMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlTZGtTZXJ2aWNlOiBBcHBsZVBheVNka1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBleHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlOiBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICB0aGlzLmFwaSA9IHRoaXMubG9hZEJyYWludHJlZSgpO1xuXG4gICAgdGhpcy5zdWJzY3JpYmVUb0hhbmRsZXJzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgYWRkQXBwbGVQYXlTZGtKcygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5hZGRBcHBsZVBheVNka0pzKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcHBsZVBheVBhcmFtcyhkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3QgcGF5bWVudEZvcm0gPSBkYXRhPy5wYXltZW50Rm9ybTtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gcGF5bWVudEZvcm0/LmZpZWxkcztcbiAgICBjb25zdCBzdW1tYXJ5ID0gcGF5bWVudEZvcm0/LnN1bW1hcnk7XG5cbiAgICBpZiAoIWZvcm1GaWVsZHMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIuYnVpbGRQYXJhbXMocGF5bWVudEZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRCcmFpbnRyZWVMaWJyYXJ5KHRva2VuS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBpID0gYXdhaXQgdGhpcy5hcGk7XG4gICAgICBjb25zdCBjbGllbnRJbnN0YW5jZSA9IGF3YWl0IGFwaS5jbGllbnQuY3JlYXRlKHtcbiAgICAgICAgYXV0aG9yaXphdGlvbjogdG9rZW5LZXksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wYXltZW50Q2xpZW50ID0gYXdhaXQgYXBpLmFwcGxlUGF5LmNyZWF0ZSh7XG4gICAgICAgIGNsaWVudDogY2xpZW50SW5zdGFuY2UsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYnJhaW50cmVlSGFuZGxlci5zZXRDbGllbnQodGhpcy5wYXltZW50Q2xpZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIGVycm9yKTtcbiAgICAgIHRoaXMuZWxrTG9nZ2VyU2VydmljZS5sb2coQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBbXG4gICAgICAgIEVycm9yVGFncy5BUFBMRVBBWSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50IHx8ICF0aGlzLmlzRGV2aWNlQ2FwYWJsZSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QXBwbGVQYXkoXG4gICAgdG9rZW5LZXk6IHN0cmluZyxcbiAgICBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5UGFyYW1zPy5hY3F1aXJlciA9PT0gJ2JyYWludHJlZScpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXkpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydFdpbmRvd0NvbW11bmljYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLm9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKFxuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW5cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVcGRhdGVkUHJpY2VWaWFXaW5kb3dDb21tdW5pY2F0aW9uKFxuICAgIHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlXG4gICk6IHZvaWQge1xuICAgIHZvaWQgdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlLnNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93PFxuICAgICAgVXBkYXRlUHJpY2VNZXNzYWdlWydkYXRhJ11cbiAgICA+KENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1VQREFURV9QUklDRSwge1xuICAgICAgbmV3Q2FydFByaWNpbmc6IHVwZGF0ZWRQcmljZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWRpcmVjdFRvUGF5bWVudFBhZ2UoXG4gICAgcGFyYW1ldGVyczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBpc1NhbmRib3g/OiBib29sZWFuXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgcm91dGUgPSBwYWdlc1JvdXRlcy5nZXQoYXBwbGVQYXlJZCk7XG4gICAgaWYgKCFyb3V0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB7IHBheW1lbnRGb3JtOiBQYXltZW50Rm9ybSB9KTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IGRhdGE/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICBpZiAoZmluYW5jZURldGFpbHM/LnB1cmNoYXNlICYmIGZpbmFuY2VEZXRhaWxzPy5maW5hbmNlKSB7XG4gICAgICBjb25zdCBjYXJ0SXRlbXMgPSBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gICAgICB0aGlzLm9yZGVyID0gY2FydEl0ZW1zPy5yZWR1Y2UoKGN1cnIsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGN1cnIpIHtcbiAgICAgICAgICByZXR1cm4gY3VyciArIGA7ICR7aXRlbS50aXRsZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnIgKyBpdGVtLnRpdGxlO1xuICAgICAgfSwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5uZWVkVG9BZGRBcHBsZVBheUpzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci51cGRhdGVQYXJhbXMoXG4gICAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLFxuICAgICAgc3VtbWFyeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtc1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBhZGRpdGlvbmFsUGFyYW1zLCAoKSA9PlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuZW1pdFdpbmRvd0Nsb3NpbmcoKVxuICAgICk7XG4gICAgdGhpcy5lbWl0QXBwbGVQYXlPcGVuZWQoXG4gICAgICBhZGRpdGlvbmFsUGFyYW1zLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPz8gZmFsc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdChcbiAgICBzaGlwcGluZ0FkZHJlc3M6IFNoaXBwaW5nQWRkcmVzc1xuICApOiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCB7XG4gICAgcmV0dXJuIG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdChzaGlwcGluZ0FkZHJlc3MpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnQubmV4dCh0b2tlbik7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25IYW5kbGVyKFxuICAgIGFjcXVpcmVyOiBzdHJpbmdcbiAgKTogQXBwbGVQYXlTZXNzaW9uSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChhY3F1aXJlcikge1xuICAgICAgY2FzZSAnYnJhaW50cmVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJhaW50cmVlSGFuZGxlcjtcbiAgICAgIGNhc2UgJ2NoZWNrb3V0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tvdXRIYW5kbGVyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRCcmFpbnRyZWUoKTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBhcGkgPSBhd2FpdCBpbXBvcnQoJ2JyYWludHJlZS13ZWInKTtcbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUubmV4dChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9IYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IFt0aGlzLmJyYWludHJlZUhhbmRsZXIsIHRoaXMuY2hlY2tvdXRIYW5kbGVyXTtcblxuICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXIpID0+IHtcbiAgICAgIGhhbmRsZXIuZXJyb3IkLnN1YnNjcmliZSgoZXJyb3IpID0+IHRoaXMuZW1pdEVycm9yKGVycm9yKSk7XG4gICAgICBoYW5kbGVyLnBheW1lbnQkLnN1YnNjcmliZSgodG9rZW4pID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50Lm5leHQodG9rZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEludGVncmF0aW9uVHlwZShcbiAgICBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuXG4gICk6IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLmlzRGV2aWNlQ2FwYWJsZSAmJiBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpID09PVxuICAgICAgICBBcHBsZVBheUludGVncmF0aW9uVHlwZS5uYXRpdmUgJiZcbiAgICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLm5lZWRUb0FkZEFwcGxlUGF5SnNcbiAgICApIHtcbiAgICAgIHRoaXMuYXBwbGVQYXlRck9wZW5lZC5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
61
61
|
type: Inject,
|
|
62
62
|
args: [windowToken]
|
|
63
63
|
}] }, { type: i1.WebSocketFactory }, { type: i2.SocketBridgeService }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uL2V4dGVybmFsLXdpbmRvdy1jb21tdW5pY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBY3BELE1BQU0sT0FBTywwQ0FBMEM7SUFHckQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1CQUF3QztRQUZuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDeEQsQ0FBQztJQUVHLGVBQWU7UUFDcEIsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUFzQixFQUNTLEVBQUUsQ0FDakMsT0FBTyxDQUFDLE9BQU8sMkVBQTRDLENBQUM7UUFFOUQsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUM7UUFFaEUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixNQUFNLGVBQWUsR0FBRyxDQUN0QixPQUFzQixFQUNJLEVBQUUsQ0FDNUIsT0FBTyxDQUFDLE9BQU8sK0RBQXNDLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7UUFFekUsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUN0QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsZ0NBQWdDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsT0FBc0IsRUFDZSxFQUFFLENBQ3ZDLE9BQU8sQ0FBQyxPQUFPLHVFQUEwQyxDQUFDO1FBRTVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBMkIsa0JBQWtCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sNEJBQTRCO1FBQ2pDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsT0FBc0IsRUFDYSxFQUFFLENBQ3JDLE9BQU8sQ0FBQyxPQUFPLG1GQUFnRCxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FDeEIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQWE7UUFDaEQsTUFBTSxVQUFVLEdBQ2QsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM3QixVQUFVLENBQUMsWUFBWSxFQUN2QixVQUFVLENBQUMsV0FBVyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQywwQkFBMEIsQ0FDckMsT0FBeUIsRUFDekIsT0FBVztRQUVYLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsWUFBc0Q7UUFFdEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDOUMsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFtQixZQUFZLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7OEdBaEdVLDBDQUEwQyxrQkFJM0MsV0FBVztrSEFKViwwQ0FBMEMsY0FGekMsTUFBTTs7MkZBRVAsMENBQTBDO2tCQUh0RCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0RmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5mYWN0b3J5JztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNvY2tldEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3NvY2tldC1icmlkZ2Uvc29ja2V0LWJyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctY2xvc2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy1jb21tYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQnJpZGdlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvc29ja2V0LWJyaWRnZS9icmlkZ2UtY29tbWFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgd2Vic29ja2V0Q2xpZW50ITogV2ViU29ja2V0Q2xpZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ja2V0QnJpZGdlU2VydmljZTogU29ja2V0QnJpZGdlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGdldFdpbmRvd0Nsb3NlJCgpOiBPYnNlcnZhYmxlPFdpbmRvd0Nsb3NlTWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzV2luZG93Q2xvc2VNZXNzYWdlID0gKFxuICAgICAgbWVzc2FnZTogV2luZG93Q29tbWFuZFxuICAgICk6IG1lc3NhZ2UgaXMgV2luZG93Q2xvc2VNZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1dJTkRPV19DTE9TRTtcblxuICAgIGNvbnN0IGV2ZW50U291cmNlJCA9XG4gICAgICB0aGlzLmdldEV2ZW50U291cmNlPFdpbmRvd0Nsb3NlTWVzc2FnZT4oaXNXaW5kb3dDbG9zZU1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIGV2ZW50U291cmNlJC5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3cuZm9jdXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1JldHVybk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kXG4gICAgKTogbWVzc2FnZSBpcyBSZXR1cm5NZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1JFVFVSTjtcblxuICAgIGNvbnN0IGV2ZW50U291cmNlJCA9IHRoaXMuZ2V0RXZlbnRTb3VyY2U8UmV0dXJuTWVzc2FnZT4oaXNSZXR1cm5NZXNzYWdlKTtcblxuICAgIHJldHVybiBldmVudFNvdXJjZSQucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIC8vIFRPRE86IHNlbmQgY2xvc2UgZXZlbnQgdG8gc2RrXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1NlbmRUb2tlbk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kXG4gICAgKTogbWVzc2FnZSBpcyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfU0VORF9UT0tFTjtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4oaXNTZW5kVG9rZW5NZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmRcbiAgICApOiBtZXNzYWdlIGlzIFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfUkVDQUxDVUxBVEVfQ0FSVDtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPFJlY2FsY3VsYXRlQ2FydE1lc3NhZ2U+KFxuICAgICAgaXNSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuV2ViU29ja2V0Q29ubmVjdGlvbih0b2tlbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnJpZGdlSW5mbyA9XG4gICAgICBhd2FpdCB0aGlzLnNvY2tldEJyaWRnZVNlcnZpY2UuZ2V0QnJpZGdlQ29ubmVjdGlvbkNoYW5uZWwodG9rZW4pO1xuXG4gICAgaWYgKHRoaXMud2Vic29ja2V0Q2xpZW50KSB7XG4gICAgICB0aGlzLndlYnNvY2tldENsaWVudC5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMud2Vic29ja2V0Q2xpZW50ID0gdGhpcy53ZWJTb2NrZXRGYWN0b3J5LmNyZWF0ZVdlYlNvY2tldENsaWVudChcbiAgICAgIGJyaWRnZUluZm8uc3Vic2NyaWJlVXJsLFxuICAgICAgYnJpZGdlSW5mby5jbGllbnRUeXBlXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMud2Vic29ja2V0Q2xpZW50Lm9wZW4oXG4gICAgICBicmlkZ2VJbmZvLnN1YnNjcmliZVVybCxcbiAgICAgIGJyaWRnZUluZm8uY2hhbm5lbE5hbWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93PFAgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4oXG4gICAgY29tbWFuZDogQ29tbWFuZHNGb3JQYWdlcyxcbiAgICBwYXlsb2FkPzogUFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNvY2tldEJyaWRnZVNlcnZpY2UucHVibGlzaE1lc3NhZ2U8UD4oY29tbWFuZCwgcGF5bG9hZCk7XG4gIH1cblxuICBwcml2YXRlIGdldEV2ZW50U291cmNlPFQgZXh0ZW5kcyBXaW5kb3dDb21tYW5kPihcbiAgICBldmVudEhhbmRsZXI6IChtZXNzYWdlOiBXaW5kb3dDb21tYW5kKSA9PiBtZXNzYWdlIGlzIFRcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMud2Vic29ja2V0Q2xpZW50Lm1lc3NhZ2VzJC5waXBlKFxuICAgICAgbWFwPHN0cmluZywgQnJpZGdlQ29tbWFuZD4oKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCd3ZWJzb2NrZXQgbWVzc2FnZScsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShtZXNzYWdlKSBhcyBCcmlkZ2VDb21tYW5kO1xuICAgICAgfSksXG4gICAgICBmaWx0ZXI8QnJpZGdlQ29tbWFuZCwgVD4oZXZlbnRIYW5kbGVyKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|