@xsolla/payment-client-core 0.2.45 → 0.2.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/esm2022/lib/core/agreements-group.const.mjs +17 -0
  2. package/esm2022/lib/core/extended-window.interface.mjs +1 -1
  3. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +6 -2
  4. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-params-builder.service.mjs +90 -0
  5. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-session.interface.mjs +2 -0
  6. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.mjs +6 -3
  7. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +67 -87
  8. package/esm2022/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +1 -1
  9. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +83 -0
  10. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +68 -0
  11. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.mjs +31 -0
  12. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.type.mjs +2 -0
  13. package/esm2022/lib/core/settings/project.interface.mjs +1 -1
  14. package/esm2022/lib/core-library.module.mjs +7 -1
  15. package/esm2022/lib/core-library.service.mjs +4 -1
  16. package/fesm2022/xsolla-payment-client-core.mjs +326 -84
  17. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  18. package/lib/core/extended-window.interface.d.ts +1 -1
  19. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.d.ts +5 -1
  20. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-params-builder.service.d.ts +15 -0
  21. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-session.interface.d.ts +135 -0
  22. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.d.ts +5 -2
  23. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +24 -13
  24. package/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.d.ts +1 -0
  25. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +16 -0
  26. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +13 -0
  27. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts +13 -0
  28. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.type.d.ts +3 -0
  29. package/lib/core/settings/project.interface.d.ts +1 -0
  30. package/lib/core-library.service.d.ts +3 -0
  31. package/package.json +1 -1
  32. package/xsolla-payment-client-core-0.2.47.tgz +0 -0
  33. package/esm2022/lib/core/agreementsGroup.const.mjs +0 -17
  34. package/xsolla-payment-client-core-0.2.45.tgz +0 -0
  35. /package/lib/core/{agreementsGroup.const.d.ts → agreements-group.const.d.ts} +0 -0
@@ -0,0 +1,17 @@
1
+ import { FieldNames } from './payment/field-names.enum';
2
+ export const agreementsGroup = [
3
+ FieldNames.licenseDisclaimer,
4
+ FieldNames.termsAndConditions,
5
+ FieldNames.termsAndConditionsHtcEula,
6
+ FieldNames.termsAndConditionsAtariTc,
7
+ FieldNames.termsAndConditionsAtariPp,
8
+ FieldNames.termsAndConditionsRolandEula,
9
+ FieldNames.termsAndConditionsRobloxEula,
10
+ FieldNames.termsAndConditionsDeusLoVultEula,
11
+ FieldNames.termsAndConditionsOnzenga,
12
+ FieldNames.take2Taxes,
13
+ FieldNames.rockstarTaxes,
14
+ FieldNames.omnibusDirective,
15
+ FieldNames.koreaLimitsInstruction,
16
+ ];
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50cy1ncm91cC5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2FncmVlbWVudHMtZ3JvdXAuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixVQUFVLENBQUMsaUJBQWlCO0lBQzVCLFVBQVUsQ0FBQyxrQkFBa0I7SUFDN0IsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMseUJBQXlCO0lBQ3BDLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLDRCQUE0QjtJQUN2QyxVQUFVLENBQUMsNEJBQTRCO0lBQ3ZDLFVBQVUsQ0FBQyxnQ0FBZ0M7SUFDM0MsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMsVUFBVTtJQUNyQixVQUFVLENBQUMsYUFBYTtJQUN4QixVQUFVLENBQUMsZ0JBQWdCO0lBQzNCLFVBQVUsQ0FBQyxzQkFBc0I7Q0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5cbmV4cG9ydCBjb25zdCBhZ3JlZW1lbnRzR3JvdXAgPSBbXG4gIEZpZWxkTmFtZXMubGljZW5zZURpc2NsYWltZXIsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc0h0Y0V1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zQXRhcmlUYyxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVBwLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc1JvbGFuZEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zUm9ibG94RXVsYSxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNEZXVzTG9WdWx0RXVsYSxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNPbnplbmdhLFxuICBGaWVsZE5hbWVzLnRha2UyVGF4ZXMsXG4gIEZpZWxkTmFtZXMucm9ja3N0YXJUYXhlcyxcbiAgRmllbGROYW1lcy5vbW5pYnVzRGlyZWN0aXZlLFxuICBGaWVsZE5hbWVzLmtvcmVhTGltaXRzSW5zdHJ1Y3Rpb24sXG5dO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbiB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgR29vZ2xlUGF5TGlicmFyeSB9IGZyb20gJy4vc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L2dvb2dsZS1wYXktbGlicmFyeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkV2luZG93IGV4dGVuZHMgV2luZG93IHtcbiAgUGVyZm9ybWFuY2VPYnNlcnZlcj86IHR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyO1xuICBBcHBsZVBheVNlc3Npb246IHR5cGVvZiBBcHBsZVBheVNlc3Npb247XG4gIEJyYWludHJlZURhdGE/OiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIF9nZXREZXZpY2VEYXRhKCk6IHVua25vd247XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIF9zZXR1cENvbGxlY3RvcihlbnY6IHN0cmluZyk6IHZvaWQ7XG4gICAgZW52aXJvbm1lbnRzOiB7XG4gICAgICBwcm9kdWN0aW9uOiB7XG4gICAgICAgIHdpdGhJZChtZXJjaGFudDogc3RyaW5nKTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBnb29nbGU/OiBHb29nbGVQYXlMaWJyYXJ5O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbiB9IGZyb20gJy4vc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUxpYnJhcnkgfSBmcm9tICcuL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LWxpYnJhcnkuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFdpbmRvdyBleHRlbmRzIFdpbmRvdyB7XG4gIFBlcmZvcm1hbmNlT2JzZXJ2ZXI/OiB0eXBlb2YgUGVyZm9ybWFuY2VPYnNlcnZlcjtcbiAgQXBwbGVQYXlTZXNzaW9uOiB0eXBlb2YgQXBwbGVQYXlTZXNzaW9uO1xuICBCcmFpbnRyZWVEYXRhPzoge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBfZ2V0RGV2aWNlRGF0YSgpOiB1bmtub3duO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICBfc2V0dXBDb2xsZWN0b3IoZW52OiBzdHJpbmcpOiB2b2lkO1xuICAgIGVudmlyb25tZW50czoge1xuICAgICAgcHJvZHVjdGlvbjoge1xuICAgICAgICB3aXRoSWQobWVyY2hhbnQ6IHN0cmluZyk6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgZ29vZ2xlPzogR29vZ2xlUGF5TGlicmFyeTtcbn1cbiJdfQ==
@@ -1,2 +1,6 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXBwbGVQYXlJbnRlZ3JhdGlvbiA9ICdyZWRpcmVjdCcgfCAnbm9uZSc7XG4iXX0=
1
+ export var ApplePayIntegrationType;
2
+ (function (ApplePayIntegrationType) {
3
+ ApplePayIntegrationType["redirect"] = "redirect";
4
+ ApplePayIntegrationType["native"] = "native";
5
+ })(ApplePayIntegrationType || (ApplePayIntegrationType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx1QkFHWDtBQUhELFdBQVksdUJBQXVCO0lBQ2pDLGdEQUFxQixDQUFBO0lBQ3JCLDRDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR2xDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUge1xuICByZWRpcmVjdCA9ICdyZWRpcmVjdCcsXG4gIG5hdGl2ZSA9ICduYXRpdmUnLFxufVxuXG5leHBvcnQgdHlwZSBBcHBsZVBheUludGVncmF0aW9uID0gQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGU7XG4iXX0=
@@ -0,0 +1,90 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { agreementsGroup } from '../../agreements-group.const';
3
+ import { FieldNames } from '../../payment/field-names.enum';
4
+ import * as i0 from "@angular/core";
5
+ export class ApplePayParamsBuilderService {
6
+ constructor() {
7
+ this.agreementFieldsNames = agreementsGroup;
8
+ }
9
+ buildParams(paymentForm) {
10
+ const { fields, summary } = paymentForm;
11
+ if (!fields || !summary)
12
+ return null;
13
+ const formFields = fields.reduce((acc, field) => {
14
+ if (this.agreementFieldsNames.includes(field.name) &&
15
+ field.isVisible === "1" /* XpsBoolean.true */) {
16
+ acc[field.name] = field.title;
17
+ }
18
+ else {
19
+ acc[field.name] = field.value;
20
+ }
21
+ return acc;
22
+ }, {});
23
+ const agreements = this.agreementFieldsNames
24
+ .map((fieldName) => [fieldName, formFields[fieldName]])
25
+ .filter((fieldEntry) => {
26
+ const [, value] = fieldEntry;
27
+ return !!value;
28
+ });
29
+ return {
30
+ tokenKey: this.getAppleToken(fields),
31
+ totalLabel: formFields[FieldNames.labelApplePay] ?? '',
32
+ totalAmount: this.getTotalAmount(summary),
33
+ currencyCode: this.getTotalCurrency(summary),
34
+ countryCode: formFields[FieldNames.countryCode] ?? '',
35
+ merchantCapabilities: this.getJsonValueFromField(formFields, FieldNames.merchantCapabilities),
36
+ requiredBillingContactFields: this.getJsonValueFromField(formFields, FieldNames.requiredBillingContactFields),
37
+ requiredShippingContactFields: this.getJsonValueFromField(formFields, FieldNames.requiredShippingContactFields),
38
+ supportedNetworks: this.getJsonValueFromField(formFields, FieldNames.supportedNetworks),
39
+ agreements,
40
+ acquirer: formFields[FieldNames.acquirer] ?? '',
41
+ isSandbox: formFields[FieldNames.isSandbox] ?? '',
42
+ payInstanceAccountId: formFields[FieldNames.payInstanceAccountId] ?? '',
43
+ getApplePaySessionUrl: formFields[FieldNames.getApplePaySessionUrl] ?? '',
44
+ payViaCheckoutUrl: formFields[FieldNames.payViaCheckoutUrl] ?? '',
45
+ };
46
+ }
47
+ updateParams(params, summary) {
48
+ return {
49
+ ...params,
50
+ totalAmount: this.getTotalAmount(summary),
51
+ currencyCode: this.getTotalCurrency(summary),
52
+ };
53
+ }
54
+ getJsonValueFromField(fields, fieldName) {
55
+ const field = fields[fieldName];
56
+ try {
57
+ return field ? JSON.parse(field) : undefined;
58
+ }
59
+ catch (error) {
60
+ return undefined;
61
+ }
62
+ }
63
+ getAppleToken(fields) {
64
+ const appleTokenField = fields.find((field) => {
65
+ return field.name === 'token_key';
66
+ });
67
+ if (!appleTokenField) {
68
+ return '';
69
+ }
70
+ return appleTokenField.value;
71
+ }
72
+ getTotalAmount(summary) {
73
+ const finance = summary?.finance;
74
+ const total = finance?.grand_total?.amount ?? finance?.total.amount;
75
+ return total?.toString() ?? '';
76
+ }
77
+ getTotalCurrency(summary) {
78
+ const finance = summary?.finance;
79
+ return finance?.grand_total?.currency ?? finance?.total?.currency ?? '';
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayParamsBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayParamsBuilderService, providedIn: 'root' }); }
83
+ }
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayParamsBuilderService, decorators: [{
85
+ type: Injectable,
86
+ args: [{
87
+ providedIn: 'root',
88
+ }]
89
+ }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktcGFyYW1zLWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBVTVELE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJbUIseUJBQW9CLEdBQWEsZUFBZSxDQUFDO0tBOEduRTtJQTVHUSxXQUFXLENBQUMsV0FBd0I7UUFDekMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFeEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUM5QixDQUFDLEdBQThCLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsSUFDRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxTQUFTLDhCQUFvQixFQUNuQyxDQUFDO2dCQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxPQUFP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O1FBQ1osQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW1CO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFcEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFtQjtRQUMxQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ2pDLE9BQU8sT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO0lBQzFFLENBQUM7OEdBOUdVLDRCQUE0QjtrSEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07OzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZ3JlZW1lbnRzR3JvdXAgfSBmcm9tICcuLi8uLi9hZ3JlZW1lbnRzLWdyb3VwLmNvbnN0JztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Rm9ybSB9IGZyb20gJy4uLy4uL3BheW1lbnQvcGF5bWVudC1mb3JtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi4vLi4vcGF5bWVudC94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFncmVlbWVudEZpZWxkc05hbWVzOiBzdHJpbmdbXSA9IGFncmVlbWVudHNHcm91cDtcblxuICBwdWJsaWMgYnVpbGRQYXJhbXMocGF5bWVudEZvcm06IFBheW1lbnRGb3JtKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICBjb25zdCB7IGZpZWxkcywgc3VtbWFyeSB9ID0gcGF5bWVudEZvcm07XG5cbiAgICBpZiAoIWZpZWxkcyB8fCAhc3VtbWFyeSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBmb3JtRmllbGRzID0gZmllbGRzLnJlZHVjZShcbiAgICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpICYmXG4gICAgICAgICAgZmllbGQuaXNWaXNpYmxlID09PSBYcHNCb29sZWFuLnRydWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IGFncmVlbWVudHMgPSB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzXG4gICAgICAubWFwKChmaWVsZE5hbWUpID0+IFtmaWVsZE5hbWUsIGZvcm1GaWVsZHNbZmllbGROYW1lXV0pXG4gICAgICAuZmlsdGVyKChmaWVsZEVudHJ5KSA9PiB7XG4gICAgICAgIGNvbnN0IFssIHZhbHVlXSA9IGZpZWxkRW50cnk7XG4gICAgICAgIHJldHVybiAhIXZhbHVlO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW5LZXk6IHRoaXMuZ2V0QXBwbGVUb2tlbihmaWVsZHMpLFxuICAgICAgdG90YWxMYWJlbDogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLmxhYmVsQXBwbGVQYXldID8/ICcnLFxuICAgICAgdG90YWxBbW91bnQ6IHRoaXMuZ2V0VG90YWxBbW91bnQoc3VtbWFyeSksXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5KSxcbiAgICAgIGNvdW50cnlDb2RlOiBmb3JtRmllbGRzW0ZpZWxkTmFtZXMuY291bnRyeUNvZGVdID8/ICcnLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IHRoaXMuZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgICAgICBmb3JtRmllbGRzLFxuICAgICAgICBGaWVsZE5hbWVzLm1lcmNoYW50Q2FwYWJpbGl0aWVzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZvcm1GaWVsZHMsXG4gICAgICAgIEZpZWxkTmFtZXMucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkc1xuICAgICAgKSxcbiAgICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkc1xuICAgICAgKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5zdXBwb3J0ZWROZXR3b3Jrc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHMsXG4gICAgICBhY3F1aXJlcjogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLmFjcXVpcmVyXSA/PyAnJyxcbiAgICAgIGlzU2FuZGJveDogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLmlzU2FuZGJveF0gPz8gJycsXG4gICAgICBwYXlJbnN0YW5jZUFjY291bnRJZDogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLnBheUluc3RhbmNlQWNjb3VudElkXSA/PyAnJyxcbiAgICAgIGdldEFwcGxlUGF5U2Vzc2lvblVybDogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLmdldEFwcGxlUGF5U2Vzc2lvblVybF0gPz8gJycsXG4gICAgICBwYXlWaWFDaGVja291dFVybDogZm9ybUZpZWxkc1tGaWVsZE5hbWVzLnBheVZpYUNoZWNrb3V0VXJsXSA/PyAnJyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVBhcmFtcyhcbiAgICBwYXJhbXM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHN1bW1hcnk6IFhwc1N1bW1hcnlcbiAgKTogQXBwbGVQYXlQYXJhbXMge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0b3RhbEFtb3VudDogdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KSxcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICBmaWVsZHM6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogc3RyaW5nXG4gICk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZE5hbWVdO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmaWVsZCA/IChKU09OLnBhcnNlKGZpZWxkKSBhcyBzdHJpbmdbXSkgOiB1bmRlZmluZWQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBsZVRva2VuKGZpZWxkczogRmllbGRbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBwbGVUb2tlbkZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiB7XG4gICAgICByZXR1cm4gZmllbGQubmFtZSA9PT0gJ3Rva2VuX2tleSc7XG4gICAgfSk7XG5cbiAgICBpZiAoIWFwcGxlVG9rZW5GaWVsZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBhcHBsZVRva2VuRmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQW1vdW50KHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbmFuY2UgPSBzdW1tYXJ5Py5maW5hbmNlO1xuICAgIGNvbnN0IHRvdGFsID0gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbC5hbW91bnQ7XG5cbiAgICByZXR1cm4gdG90YWw/LnRvU3RyaW5nKCkgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQ3VycmVuY3koc3VtbWFyeTogWHBzU3VtbWFyeSk6IHN0cmluZyB7XG4gICAgY29uc3QgZmluYW5jZSA9IHN1bW1hcnk/LmZpbmFuY2U7XG4gICAgcmV0dXJuIGZpbmFuY2U/LmdyYW5kX3RvdGFsPy5jdXJyZW5jeSA/PyBmaW5hbmNlPy50b3RhbD8uY3VycmVuY3kgPz8gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEFwcGxlUGF5U2Vzc2lvbiB7XG4gIHB1YmxpYyBzdGF0aWMgU1RBVFVTX1NVQ0NFU1M6IG51bWJlcjtcbiAgcHVibGljIHN0YXRpYyBTVEFUVVNfRkFJTFVSRTogbnVtYmVyO1xuXG4gIHB1YmxpYyBvbnZhbGlkYXRlbWVyY2hhbnQ6IChcbiAgICB0aGlzOiBBcHBsZVBheVNlc3Npb24sXG4gICAgZXZlbnQ6IEFwcGxlUGF5VmFsaWRFdmVudFxuICApID0+IHZvaWQ7XG4gIHB1YmxpYyBvbnBheW1lbnRhdXRob3JpemVkOiAoXG4gICAgdGhpczogQXBwbGVQYXlTZXNzaW9uLFxuICAgIGV2ZW50OiBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnRcbiAgKSA9PiB2b2lkO1xuICBwdWJsaWMgb25zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZDogKFxuICAgIHRoaXM6IEFwcGxlUGF5U2Vzc2lvbixcbiAgICBldmVudDogQXBwbGVQYXlPblNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnRcbiAgKSA9PiB2b2lkO1xuICBwdWJsaWMgb25zaGlwcGluZ21ldGhvZHNlbGVjdGVkOiAoXG4gICAgdGhpczogQXBwbGVQYXlTZXNzaW9uLFxuICAgIGV2ZW50OiBBcHBsZVBheU9uU2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50XG4gICkgPT4gdm9pZDtcbiAgcHVibGljIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uOiAoXG4gICAgdGhpczogQXBwbGVQYXlTZXNzaW9uLFxuICAgIHNoaXBwaW5nQ29udGFjdFVwZGF0ZTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGVcbiAgKSA9PiB2b2lkO1xuICBwdWJsaWMgb25jYW5jZWw6IChcbiAgICB0aGlzOiBBcHBsZVBheVNlc3Npb24sXG4gICAgZXZlbnQ/OiBBcHBsZVBheU9uQ2FuY2VsRXZlbnRcbiAgKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2ZXJzaW9uOiBudW1iZXIsIHBheW1lbnRSZXF1ZXN0OiBBcHBsZVBheVBheW1lbnRSZXF1ZXN0KTtcblxuICBwdWJsaWMgc3RhdGljIHN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uOiBudW1iZXIpOiBib29sZWFuO1xuICBwdWJsaWMgc3RhdGljIGNhbk1ha2VQYXltZW50cygpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihcbiAgICBtZXJjaGFudFNlc3Npb246IEFwcGxlUGF5TWVyY2hhbnRTZXNzaW9uXG4gICk6IHZvaWQ7XG4gIHB1YmxpYyBjb21wbGV0ZVBheW1lbnQoc3RhdHVzOiBudW1iZXIpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYm9ydCgpOiB2b2lkO1xuICBwdWJsaWMgYmVnaW4oKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsZVBheVZhbGlkRXZlbnQge1xuICB2YWxpZGF0aW9uVVJMOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50IHtcbiAgcGF5bWVudDogQXBwbGVQYXlQYXltZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxlUGF5T25TaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50IHtcbiAgc2hpcHBpbmdDb250YWN0OiB7XG4gICAgbG9jYWxpdHk6IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgcG9zdGFsQ29kZTogc3RyaW5nO1xuICAgIGFkbWluaXN0cmF0aXZlQXJlYTogc3RyaW5nO1xuICAgIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlPblNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudCB7XG4gIHNoaXBwaW5nTWV0aG9kOiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBkZXRhaWw6IHN0cmluZztcbiAgICBhbW91bnQ6IHN0cmluZztcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gICAgZGF0ZUNvbXBvbmVudHNSYW5nZToge1xuICAgICAgc3RhcnREYXRlQ29tcG9uZW50czoge1xuICAgICAgICB5ZWFyczogbnVtYmVyO1xuICAgICAgICBtb250aHM6IG51bWJlcjtcbiAgICAgICAgZGF5czogbnVtYmVyO1xuICAgICAgICBob3VyczogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIGVuZERhdGVDb21wb25lbnRzOiB7XG4gICAgICAgIHllYXJzOiBudW1iZXI7XG4gICAgICAgIG1vbnRoczogbnVtYmVyO1xuICAgICAgICBkYXlzOiBudW1iZXI7XG4gICAgICAgIGhvdXJzOiBudW1iZXI7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUge1xuICBzdGF0dXM6ICdTVEFUVVNfU1VDQ0VTUycgfCAnU1RBVFVTX0ZBSUxVUkUnO1xuICBuZXdUb3RhbDogQXBwbGVQYXlMaW5lSXRlbTtcbiAgbmV3TGluZUl0ZW1zPzogQXBwbGVQYXlMaW5lSXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxlUGF5T25DYW5jZWxFdmVudCB7XG4gIHR5cGU6IHN0cmluZztcbiAgc2Vzc2lvbkVycm9yOiB7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGluZm8/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsZVBheVBheW1lbnQge1xuICB0b2tlbjogQXBwbGVQYXlQYXltZW50VG9rZW47XG4gIGJpbGxpbmdDb250YWN0PzogQXBwbGVQYXlQYXltZW50Q29udGFjdDtcbiAgc2hpcHBpbmdDb250YWN0PzogQXBwbGVQYXlQYXltZW50Q29udGFjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsZVBheVBheW1lbnRUb2tlbiB7XG4gIHBheW1lbnRNZXRob2Q6IHtcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIG5ldHdvcms6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gIH07XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxlUGF5UGF5bWVudFJlcXVlc3Qge1xuICBjb3VudHJ5Q29kZTogc3RyaW5nO1xuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBtZXJjaGFudENhcGFiaWxpdGllczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIHRvdGFsOiBBcHBsZVBheUxpbmVJdGVtO1xuICBsaW5lSXRlbXM/OiBBcHBsZVBheUxpbmVJdGVtW107XG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzPzogc3RyaW5nW107XG4gIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM/OiBzdHJpbmdbXTtcbiAgc2hpcHBpbmdNZXRob2RzPzogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFtdO1xuICBzaGlwcGluZ1R5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlMaW5lSXRlbSB7XG4gIGFtb3VudDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB0eXBlPzogJ2ZpbmFsJyB8ICdwZW5kaW5nJztcbiAgcGF5bWVudFRpbWluZz86ICdpbW1lZGlhdGUnIHwgJ3JlY3VycmluZycgfCAnZGVmZXJyZWQnIHwgJ2F1dG9tYXRpY1JlbG9hZCc7XG4gIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGU/OiBEYXRlO1xuICByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0PzogJ3llYXInIHwgJ21vbnRoJyB8ICdkYXknIHwgJ2hvdXInIHwgJ21pbnV0ZSc7XG4gIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50PzogbnVtYmVyO1xuICByZWN1cnJpbmdQYXltZW50RW5kRGF0ZT86IERhdGU7XG4gIGRlZmVycmVkUGF5bWVudERhdGU/OiBEYXRlO1xuICBhdXRvbWF0aWNSZWxvYWRQYXltZW50VGhyZXNob2xkQW1vdW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxlUGF5U2hpcHBpbmdNZXRob2Qge1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRldGFpbDogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsZVBheU1lcmNoYW50U2Vzc2lvbiB7XG4gIG1lcmNoYW50SWRlbnRpZmllcjogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgZXBvY2hUaW1lc3RhbXA6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNZXJjaGFudFNlc3Npb25SZXNwb25zZSB7XG4gIG1lcmNoYW50U2Vzc2lvbjogQXBwbGVQYXlNZXJjaGFudFNlc3Npb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlQYXltZW50Q29udGFjdCB7XG4gIGVtYWlsQWRkcmVzcz86IHN0cmluZztcbiAgcGhvbmVOdW1iZXI/OiBzdHJpbmc7XG4gIGdpdmVuTmFtZT86IHN0cmluZztcbiAgZmFtaWx5TmFtZT86IHN0cmluZztcbiAgYWRkcmVzc0xpbmVzPzogc3RyaW5nW107XG4gIGxvY2FsaXR5Pzogc3RyaW5nO1xuICBzdWJMb2NhbGl0eT86IHN0cmluZztcbiAgYWRtaW5pc3RyYXRpdmVBcmVhPzogc3RyaW5nO1xuICBzdWJBZG1pbmlzdHJhdGl2ZUFyZWE/OiBzdHJpbmc7XG4gIHBvc3RhbENvZGU/OiBzdHJpbmc7XG4gIGNvdW50cnk/OiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlPzogc3RyaW5nO1xufVxuIl19
@@ -1,6 +1,9 @@
1
1
  export var ApplePayErrors;
2
2
  (function (ApplePayErrors) {
3
- ApplePayErrors["paymentError"] = "paymentError";
4
- ApplePayErrors["deviceIsNotCapableError"] = "deviceIsNotCapableError";
3
+ ApplePayErrors["paymentError"] = "Apple Pay: payment error";
4
+ ApplePayErrors["deviceIsNotCapableError"] = "Apple Pay: device is not capable";
5
+ ApplePayErrors["cancelled"] = "Apple Pay: payment cancelled";
6
+ ApplePayErrors["merchantValidationError"] = "Apple Pay: merchant validation error";
7
+ ApplePayErrors["braintreeInitializeError"] = "Apple Pay: Braintree library is not initialized";
5
8
  })(ApplePayErrors || (ApplePayErrors = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmVycm9ycy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmVycm9ycy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsK0NBQTZCLENBQUE7SUFDN0IscUVBQW1ELENBQUE7QUFDckQsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwbGVQYXlFcnJvcnMge1xuICBwYXltZW50RXJyb3IgPSAncGF5bWVudEVycm9yJyxcbiAgZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IgPSAnZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3InLFxufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmVycm9ycy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmVycm9ycy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBTVg7QUFORCxXQUFZLGNBQWM7SUFDeEIsMkRBQXlDLENBQUE7SUFDekMsOEVBQTRELENBQUE7SUFDNUQsNERBQTBDLENBQUE7SUFDMUMsa0ZBQWdFLENBQUE7SUFDaEUsOEZBQTRFLENBQUE7QUFDOUUsQ0FBQyxFQU5XLGNBQWMsS0FBZCxjQUFjLFFBTXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwbGVQYXlFcnJvcnMge1xuICBwYXltZW50RXJyb3IgPSAnQXBwbGUgUGF5OiBwYXltZW50IGVycm9yJyxcbiAgZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IgPSAnQXBwbGUgUGF5OiBkZXZpY2UgaXMgbm90IGNhcGFibGUnLFxuICBjYW5jZWxsZWQgPSAnQXBwbGUgUGF5OiBwYXltZW50IGNhbmNlbGxlZCcsXG4gIG1lcmNoYW50VmFsaWRhdGlvbkVycm9yID0gJ0FwcGxlIFBheTogbWVyY2hhbnQgdmFsaWRhdGlvbiBlcnJvcicsXG4gIGJyYWludHJlZUluaXRpYWxpemVFcnJvciA9ICdBcHBsZSBQYXk6IEJyYWludHJlZSBsaWJyYXJ5IGlzIG5vdCBpbml0aWFsaXplZCcsXG59XG4iXX0=
@@ -1,16 +1,21 @@
1
- import { Subject } from 'rxjs';
2
1
  import { Inject, Injectable } from '@angular/core';
3
- import { applePayVersion } from './apple-pay.const';
4
- import { agreementsGroup } from '../../agreementsGroup.const';
5
- import { windowToken } from '../../window.token';
2
+ import { Subject } from 'rxjs';
3
+ import { payStation4Url, sandboxPayStationUrl, } from '../../payment/actions/redirect/pay-station4-url.const';
4
+ import { applePayId } from '../../payment/actions/redirect/ps4-pages/pages-payment-methods-id.const';
5
+ import { pagesRoutes } from '../../payment/actions/redirect/ps4-pages/pages-routes.const';
6
6
  import { FieldNames } from '../../payment/field-names.enum';
7
+ import { windowToken } from '../../window.token';
8
+ import { ApplePayIntegrationType, } from './apple-pay-integration.type';
9
+ import { applePayVersion } from './apple-pay.const';
7
10
  import { ApplePayErrors } from './apple-pay.errors.enum';
8
- import { pagesRoutes } from '../../payment/actions/redirect/ps4-pages/pages-routes.const';
9
- import { applePayId } from '../../payment/actions/redirect/ps4-pages/pages-payment-methods-id.const';
10
- import { payStation4Url, sandboxPayStationUrl, } from '../../payment/actions/redirect/pay-station4-url.const';
11
+ import { ErrorTags } from '../../exceptions-handling/errors/elk-error-types.enum';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "../../user-agent/user-agent.service";
13
14
  import * as i2 from "../../payment/finance-details/summary/summary-finance-details-adapter.service";
15
+ import * as i3 from "./session-handlers/braintree.handler";
16
+ import * as i4 from "./session-handlers/checkout.handler";
17
+ import * as i5 from "./apple-pay-params-builder.service";
18
+ import * as i6 from "../../exceptions-handling/elk/elk-logger.service";
14
19
  export class ApplePayService {
15
20
  get paymentParameters() {
16
21
  return this.applePayParams;
@@ -24,11 +29,14 @@ export class ApplePayService {
24
29
  get integrationType$() {
25
30
  return this.integrationType.asObservable();
26
31
  }
27
- constructor(window, userAgentService, summaryFinanceDetailsAdapterService) {
32
+ constructor(window, userAgentService, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, elkLoggerService) {
28
33
  this.window = window;
29
34
  this.userAgentService = userAgentService;
30
35
  this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
31
- this.agreementFieldsNames = agreementsGroup;
36
+ this.braintreeHandler = braintreeHandler;
37
+ this.checkoutHandler = checkoutHandler;
38
+ this.appleParamsBuilder = appleParamsBuilder;
39
+ this.elkLoggerService = elkLoggerService;
32
40
  this.payment = new Subject();
33
41
  this.error = new Subject();
34
42
  this.integrationType = new Subject();
@@ -36,48 +44,18 @@ export class ApplePayService {
36
44
  this.applePayParams = null;
37
45
  this.order = null;
38
46
  this.api = this.loadBraintree();
47
+ this.subscribeToHandlers();
39
48
  }
40
49
  setApplePayParams(data) {
41
- const formFields = data?.paymentForm?.fields;
42
- const summary = data?.paymentForm?.summary;
50
+ const paymentForm = data?.paymentForm;
51
+ const formFields = paymentForm?.fields;
52
+ const summary = paymentForm?.summary;
43
53
  if (!formFields || !summary) {
44
54
  return;
45
55
  }
46
- const fields = formFields.reduce((acc, field) => {
47
- if (this.agreementFieldsNames.includes(field.name) &&
48
- field.isVisible === '1') {
49
- acc[field.name] = field.title;
50
- }
51
- else {
52
- acc[field.name] = field.value;
53
- }
54
- return acc;
55
- }, {});
56
- const agreements = this.agreementFieldsNames
57
- .map((fieldName) => [fieldName, fields[fieldName]])
58
- .filter((fieldEntry) => {
59
- const [, value] = fieldEntry;
60
- return !!value;
61
- });
62
- this.applePayParams = {
63
- tokenKey: this.getAppleToken(formFields),
64
- totalLabel: fields[FieldNames.labelApplePay] ?? '',
65
- totalAmount: this.getTotalAmount(summary),
66
- currencyCode: this.getTotalCurrency(summary),
67
- countryCode: fields[FieldNames.countryCode] ?? '',
68
- merchantCapabilities: this.getJsonValueFromField(fields, FieldNames.merchantCapabilities),
69
- requiredBillingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredBillingContactFields),
70
- requiredShippingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredShippingContactFields),
71
- supportedNetworks: this.getJsonValueFromField(fields, FieldNames.supportedNetworks),
72
- agreements: agreements,
73
- acquirer: fields[FieldNames.acquirer] ?? '',
74
- isSandbox: fields[FieldNames.isSandbox] ?? '',
75
- payInstanceAccountId: fields[FieldNames.payInstanceAccountId] ?? '',
76
- getApplePaySessionUrl: fields[FieldNames.getApplePaySessionUrl] ?? '',
77
- payViaCheckoutUrl: fields[FieldNames.payViaCheckoutUrl] ?? '',
78
- };
79
- }
80
- async initLibrary(tokenKey) {
56
+ this.applePayParams = this.appleParamsBuilder.buildParams(paymentForm);
57
+ }
58
+ async initBraintreeLibrary(tokenKey) {
81
59
  try {
82
60
  const api = await this.api;
83
61
  const clientInstance = await api.client.create({
@@ -86,12 +64,16 @@ export class ApplePayService {
86
64
  this.paymentClient = await api.applePay.create({
87
65
  client: clientInstance,
88
66
  });
67
+ this.braintreeHandler.setClient(this.paymentClient);
89
68
  }
90
69
  catch (error) {
91
- console.error('apple pay: initialize failed', error);
70
+ console.error(ApplePayErrors.braintreeInitializeError, error);
71
+ this.elkLoggerService.log(ApplePayErrors.braintreeInitializeError, [
72
+ ErrorTags.APPLEPAY,
73
+ ]);
92
74
  }
93
75
  this.emitIntegrationType();
94
- if (!this.paymentClient || !this.isDeviceCapable()) {
76
+ if (!this.paymentClient || !this.isDeviceCapable) {
95
77
  this.emitError(ApplePayErrors.deviceIsNotCapableError);
96
78
  }
97
79
  }
@@ -131,7 +113,7 @@ export class ApplePayService {
131
113
  }, '');
132
114
  }
133
115
  }
134
- isDeviceCapable() {
116
+ get isDeviceCapable() {
135
117
  // Apple SDK is used on non-Safari devices.
136
118
  // Support of ApplePay payments will be defined on the external PS4 page
137
119
  if (!this.userAgentService.isSafari)
@@ -154,54 +136,52 @@ export class ApplePayService {
154
136
  if (!this.applePayParams || !summary) {
155
137
  return;
156
138
  }
157
- this.applePayParams.totalAmount = this.getTotalAmount(summary);
158
- this.applePayParams.currencyCode = this.getTotalCurrency(summary);
139
+ this.applePayParams = this.appleParamsBuilder.updateParams(this.applePayParams, summary);
159
140
  }
160
- async loadBraintree() {
161
- const api = await import('braintree-web');
162
- return api;
163
- }
164
- getAppleToken(formFields) {
165
- const appleTokenField = formFields.find((field) => {
166
- return field.name === 'token_key';
167
- });
168
- if (!appleTokenField) {
169
- return '';
141
+ proceedCheckout(parameters, iframeIntegrationEnabled = false) {
142
+ const sessionHandler = this.getSessionHandler(parameters.acquirer);
143
+ if (!sessionHandler) {
144
+ console.error('Apple Pay: Unsupported acquirer:', parameters.acquirer);
145
+ return;
170
146
  }
171
- return appleTokenField.value;
147
+ sessionHandler.startSession(parameters, iframeIntegrationEnabled);
172
148
  }
173
- getTotalAmount(summary) {
174
- const finance = summary?.finance;
175
- const total = finance?.grand_total?.amount ?? finance?.total.amount;
176
- return total?.toString() ?? '';
177
- }
178
- getTotalCurrency(summary) {
179
- const finance = summary?.finance;
180
- return finance?.grand_total?.currency ?? finance?.total?.currency ?? '';
181
- }
182
- getJsonValueFromField(fields, fieldName) {
183
- const field = fields[fieldName];
184
- try {
185
- return field ? JSON.parse(field) : undefined;
186
- }
187
- catch (error) {
188
- return undefined;
149
+ getSessionHandler(acquirer) {
150
+ switch (acquirer) {
151
+ case 'braintree':
152
+ return this.braintreeHandler;
153
+ case 'checkout':
154
+ return this.checkoutHandler;
155
+ default:
156
+ return undefined;
189
157
  }
190
158
  }
159
+ async loadBraintree() {
160
+ const api = await import('braintree-web');
161
+ return api;
162
+ }
191
163
  emitError(error) {
192
164
  this.error.next(error);
193
165
  }
194
166
  emitIntegrationType() {
195
- let integrationType;
196
- if (this.paymentClient && this.isDeviceCapable()) {
197
- integrationType = 'redirect';
167
+ if (this.userAgentService.isSafari && this.isDeviceCapable) {
168
+ this.integrationType.next(ApplePayIntegrationType.native);
198
169
  }
199
- else {
200
- integrationType = 'none';
170
+ else if (this.paymentClient && this.isDeviceCapable) {
171
+ this.integrationType.next(ApplePayIntegrationType.redirect);
201
172
  }
202
- this.integrationType.next(integrationType);
203
173
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.UserAgentService }, { token: i2.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
174
+ subscribeToHandlers() {
175
+ const handlers = [this.braintreeHandler, this.checkoutHandler];
176
+ handlers.forEach((handler) => {
177
+ handler.error$.subscribe((error) => this.emitError(error));
178
+ handler.payment$.subscribe((token) => {
179
+ console.log('🟡[LOG] payment token :>>', token);
180
+ this.payment.next(token);
181
+ });
182
+ });
183
+ }
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.UserAgentService }, { token: i2.SummaryFinanceDetailsAdapterService }, { token: i3.BraintreeHandler }, { token: i4.CheckoutHandler }, { token: i5.ApplePayParamsBuilderService }, { token: i6.ElkLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
205
185
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
206
186
  }
207
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, decorators: [{
@@ -212,5 +192,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
212
192
  }], ctorParameters: () => [{ type: undefined, decorators: [{
213
193
  type: Inject,
214
194
  args: [windowToken]
215
- }] }, { type: i1.UserAgentService }, { type: i2.SummaryFinanceDetailsAdapterService }] });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUdyRyxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDOzs7O0FBSy9ELE1BQU0sT0FBTyxlQUFlO0lBZ0IxQixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxnQkFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxlUGF5LCBhcHBsZVBheSwgY2xpZW50IH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFwcGxlUGF5VmVyc2lvbiB9IGZyb20gJy4vYXBwbGUtcGF5LmNvbnN0JztcbmltcG9ydCB7IGFncmVlbWVudHNHcm91cCB9IGZyb20gJy4uLy4uL2FncmVlbWVudHNHcm91cC5jb25zdCc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBBcHBsZVBheUVycm9ycyB9IGZyb20gJy4vYXBwbGUtcGF5LmVycm9ycy5lbnVtJztcbmltcG9ydCB7IFVzZXJBZ2VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L3VzZXItYWdlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUludGVncmF0aW9uIH0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIHBheVN0YXRpb240VXJsLFxuICBzYW5kYm94UGF5U3RhdGlvblVybCxcbn0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BheS1zdGF0aW9uNC11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhZ3JlZW1lbnRGaWVsZHNOYW1lczogc3RyaW5nW10gPSBhZ3JlZW1lbnRzR3JvdXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcjogU3ViamVjdDxBcHBsZVBheUVycm9ycz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVncmF0aW9uVHlwZTogU3ViamVjdDxBcHBsZVBheUludGVncmF0aW9uPiA9XG4gICAgbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIHBheW1lbnRDbGllbnQ6IEFwcGxlUGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PjtcbiAgcHJpdmF0ZSBhcHBsZVBheVBhcmFtczogQXBwbGVQYXlQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmRlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFBhcmFtZXRlcnMoKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9ycz4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnRlZ3JhdGlvblR5cGUkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlJbnRlZ3JhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmludGVncmF0aW9uVHlwZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnRTZXJ2aWNlOiBVc2VyQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpID0gdGhpcy5sb2FkQnJhaW50cmVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWVsZHMgPSBmb3JtRmllbGRzLnJlZHVjZShcbiAgICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpICYmXG4gICAgICAgICAgZmllbGQuaXNWaXNpYmxlID09PSAnMSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IGFncmVlbWVudHMgPSB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzXG4gICAgICAubWFwKChmaWVsZE5hbWUpID0+IFtmaWVsZE5hbWUsIGZpZWxkc1tmaWVsZE5hbWVdXSlcbiAgICAgIC5maWx0ZXIoKGZpZWxkRW50cnkpID0+IHtcbiAgICAgICAgY29uc3QgWywgdmFsdWVdID0gZmllbGRFbnRyeTtcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB7XG4gICAgICB0b2tlbktleTogdGhpcy5nZXRBcHBsZVRva2VuKGZvcm1GaWVsZHMpLFxuICAgICAgdG90YWxMYWJlbDogZmllbGRzW0ZpZWxkTmFtZXMubGFiZWxBcHBsZVBheV0gPz8gJycsXG4gICAgICB0b3RhbEFtb3VudDogdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KSxcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpLFxuICAgICAgY291bnRyeUNvZGU6IGZpZWxkc1tGaWVsZE5hbWVzLmNvdW50cnlDb2RlXSA/PyAnJyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBGaWVsZE5hbWVzLm1lcmNoYW50Q2FwYWJpbGl0aWVzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IHRoaXMuZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIEZpZWxkTmFtZXMucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICBzdXBwb3J0ZWROZXR3b3JrczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5zdXBwb3J0ZWROZXR3b3Jrc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IGFncmVlbWVudHMsXG4gICAgICBhY3F1aXJlcjogZmllbGRzW0ZpZWxkTmFtZXMuYWNxdWlyZXJdID8/ICcnLFxuICAgICAgaXNTYW5kYm94OiBmaWVsZHNbRmllbGROYW1lcy5pc1NhbmRib3hdID8/ICcnLFxuICAgICAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IGZpZWxkc1tGaWVsZE5hbWVzLnBheUluc3RhbmNlQWNjb3VudElkXSA/PyAnJyxcbiAgICAgIGdldEFwcGxlUGF5U2Vzc2lvblVybDogZmllbGRzW0ZpZWxkTmFtZXMuZ2V0QXBwbGVQYXlTZXNzaW9uVXJsXSA/PyAnJyxcbiAgICAgIHBheVZpYUNoZWNrb3V0VXJsOiBmaWVsZHNbRmllbGROYW1lcy5wYXlWaWFDaGVja291dFVybF0gPz8gJycsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0TGlicmFyeSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwaSA9IGF3YWl0IHRoaXMuYXBpO1xuICAgICAgY29uc3QgY2xpZW50SW5zdGFuY2UgPSBhd2FpdCBhcGkuY2xpZW50LmNyZWF0ZSh7XG4gICAgICAgIGF1dGhvcml6YXRpb246IHRva2VuS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudCA9IGF3YWl0IGFwaS5hcHBsZVBheS5jcmVhdGUoe1xuICAgICAgICBjbGllbnQ6IGNsaWVudEluc3RhbmNlLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcGxlIHBheTogaW5pdGlhbGl6ZSBmYWlsZWQnLCBlcnJvcik7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKCk7XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUoKSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWRpcmVjdFRvUGF5bWVudFBhZ2UoXG4gICAgcGFyYW1ldGVyczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBpc1NhbmRib3g/OiBib29sZWFuXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgcm91dGUgPSBwYWdlc1JvdXRlcy5nZXQoYXBwbGVQYXlJZCk7XG4gICAgaWYgKCFyb3V0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIC8vIEFwcGxlIFNESyBpcyB1c2VkIG9uIG5vbi1TYWZhcmkgZGV2aWNlcy5cbiAgICAvLyBTdXBwb3J0IG9mIEFwcGxlUGF5IHBheW1lbnRzIHdpbGwgYmUgZGVmaW5lZCBvbiB0aGUgZXh0ZXJuYWwgUFM0IHBhZ2VcbiAgICBpZiAoIXRoaXMudXNlckFnZW50U2VydmljZS5pc1NhZmFyaSkgcmV0dXJuIHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMudG90YWxBbW91bnQgPSB0aGlzLmdldFRvdGFsQW1vdW50KHN1bW1hcnkpO1xuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMuY3VycmVuY3lDb2RlID0gdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQnJhaW50cmVlKCk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PiB7XG4gICAgY29uc3QgYXBpID0gYXdhaXQgaW1wb3J0KCdicmFpbnRyZWUtd2ViJyk7XG5cbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBsZVRva2VuKGZvcm1GaWVsZHM6IEZpZWxkW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGFwcGxlVG9rZW5GaWVsZCA9IGZvcm1GaWVsZHMuZmluZCgoZmllbGQpID0+IHtcbiAgICAgIHJldHVybiBmaWVsZC5uYW1lID09PSAndG9rZW5fa2V5JztcbiAgICB9KTtcblxuICAgIGlmICghYXBwbGVUb2tlbkZpZWxkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFwcGxlVG9rZW5GaWVsZC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxBbW91bnQoc3VtbWFyeTogWHBzUmVzcG9uc2VbJ3N1bW1hcnknXSk6IHN0cmluZyB7XG4gICAgY29uc3QgZmluYW5jZSA9IHN1bW1hcnk/LmZpbmFuY2U7XG4gICAgY29uc3QgdG90YWwgPSBmaW5hbmNlPy5ncmFuZF90b3RhbD8uYW1vdW50ID8/IGZpbmFuY2U/LnRvdGFsLmFtb3VudDtcblxuICAgIHJldHVybiB0b3RhbD8udG9TdHJpbmcoKSA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5OiBYcHNSZXNwb25zZVsnc3VtbWFyeSddKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5hbmNlID0gc3VtbWFyeT8uZmluYW5jZTtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmN1cnJlbmN5ID8/IGZpbmFuY2U/LnRvdGFsPy5jdXJyZW5jeSA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgIGZpZWxkczoge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH0sXG4gICAgZmllbGROYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzW2ZpZWxkTmFtZV07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZpZWxkID8gKEpTT04ucGFyc2UoZmllbGQpIGFzIHN0cmluZ1tdKSA6IHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXBwbGVQYXlFcnJvcnMpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZWdyYXRpb25UeXBlKCk6IHZvaWQge1xuICAgIGxldCBpbnRlZ3JhdGlvblR5cGU6IEFwcGxlUGF5SW50ZWdyYXRpb247XG5cbiAgICBpZiAodGhpcy5wYXltZW50Q2xpZW50ICYmIHRoaXMuaXNEZXZpY2VDYXBhYmxlKCkpIHtcbiAgICAgIGludGVncmF0aW9uVHlwZSA9ICdyZWRpcmVjdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGludGVncmF0aW9uVHlwZSA9ICdub25lJztcbiAgICB9XG5cbiAgICB0aGlzLmludGVncmF0aW9uVHlwZS5uZXh0KGludGVncmF0aW9uVHlwZSk7XG4gIH1cbn1cbiJdfQ==
195
+ }] }, { type: i1.UserAgentService }, { type: i2.SummaryFinanceDetailsAdapterService }, { type: i3.BraintreeHandler }, { type: i4.CheckoutHandler }, { type: i5.ApplePayParamsBuilderService }, { type: i6.ElkLoggerService }] });
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzNDLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsb0JBQW9CLEdBQ3JCLE1BQU0sdURBQXVELENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7QUFLbEYsTUFBTSxPQUFPLGVBQWU7SUFlMUIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1DQUF3RSxFQUN4RSxnQkFBa0MsRUFDbEMsZUFBZ0MsRUFDaEMsa0JBQWdELEVBQ2hELGdCQUFrQztRQU5iLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzNDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQUN4RSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQThCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFyQ3BDLFlBQU8sR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6QyxVQUFLLEdBQTRCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDL0Msb0JBQWUsR0FDOUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVSLGtCQUFhLEdBQW9CLElBQUksQ0FBQztRQU10QyxtQkFBYyxHQUEwQixJQUFJLENBQUM7UUFDN0MsVUFBSyxHQUFtQixJQUFJLENBQUM7UUEyQm5DLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxJQUFrQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsV0FBVyxFQUFFLE9BQU8sQ0FBQztRQUVyQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNoRCxJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDM0IsTUFBTSxjQUFjLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDN0MsYUFBYSxFQUFFLFFBQVE7YUFDeEIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUM3QyxNQUFNLEVBQUUsY0FBYzthQUN2QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQUMsT0FBTyxLQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtnQkFDakUsU0FBUyxDQUFDLFFBQVE7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FDMUIsVUFBMEIsRUFDMUIsS0FBYSxFQUNiLFNBQW1CO1FBRW5CLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNoQyxHQUFHLFVBQVU7WUFDYixvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztZQUNyRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvRCw0QkFBNEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUMxQyxVQUFVLEVBQUUsNEJBQTRCLENBQ3pDO1lBQ0QsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDM0MsVUFBVSxFQUFFLDZCQUE2QixDQUMxQztZQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDakQsS0FBSztTQUNOLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDeEUsT0FBTyxHQUFHLGFBQWEsTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFrQztRQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsbUNBQW1DLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEUsSUFBSSxjQUFjLEVBQUUsUUFBUSxJQUFJLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN4RCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDVCxPQUFPLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsQ0FBQztnQkFFRCxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzNCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNULENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLDJDQUEyQztRQUMzQyx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFakQsSUFBSSxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLENBQ2pELENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRU0sc0JBQXNCLENBQUMsVUFBa0I7UUFJOUMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sb0JBQW9CLENBQUMsSUFBYTtRQUN2QyxNQUFNLE9BQU8sR0FBSSxJQUFvQixFQUFFLE9BQU8sQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUN4RCxJQUFJLENBQUMsY0FBYyxFQUNuQixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQ3BCLFVBQTBCLEVBQzFCLHdCQUF3QixHQUFHLEtBQUs7UUFFaEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTztRQUNULENBQUM7UUFFRCxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsUUFBZ0I7UUFFaEIsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDL0IsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUM5QjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhO1FBSXpCLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTFDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFxQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRS9ELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJPVSxlQUFlLGtCQWdDaEIsV0FBVztrSEFoQ1YsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpQ0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBsZVBheSwgYXBwbGVQYXksIGNsaWVudCB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIHBheVN0YXRpb240VXJsLFxuICBzYW5kYm94UGF5U3RhdGlvblVybCxcbn0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BheS1zdGF0aW9uNC11cmwuY29uc3QnO1xuaW1wb3J0IHsgYXBwbGVQYXlJZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcGF5bWVudC1tZXRob2RzLWlkLmNvbnN0JztcbmltcG9ydCB7IHBhZ2VzUm91dGVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1yb3V0ZXMuY29uc3QnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJBZ2VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L3VzZXItYWdlbnQuc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQge1xuICBBcHBsZVBheUludGVncmF0aW9uLFxuICBBcHBsZVBheUludGVncmF0aW9uVHlwZSxcbn0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbGVQYXlWZXJzaW9uIH0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgQXBwbGVQYXlFcnJvcnMgfSBmcm9tICcuL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBCcmFpbnRyZWVIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyJztcbmltcG9ydCB7IENoZWNrb3V0SGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9jaGVja291dC5oYW5kbGVyJztcbmltcG9ydCB7IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc2Vzc2lvbi1oYW5kbGVyLnR5cGUnO1xuaW1wb3J0IHsgUGF5bWVudEZvcm0gfSBmcm9tICcuLi8uLi9wYXltZW50L3BheW1lbnQtZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxrTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2Vsay1sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBwYXltZW50Q2xpZW50OiBBcHBsZVBheSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT47XG4gIHByaXZhdGUgYXBwbGVQYXlQYXJhbXM6IEFwcGxlUGF5UGFyYW1zIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb3JkZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHBheW1lbnRQYXJhbWV0ZXJzKCk6IEFwcGxlUGF5UGFyYW1zIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGVQYXlQYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnQkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlFcnJvcnM+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50U2VydmljZTogVXNlckFnZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlOiBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyYWludHJlZUhhbmRsZXI6IEJyYWludHJlZUhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja291dEhhbmRsZXI6IENoZWNrb3V0SGFuZGxlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxlUGFyYW1zQnVpbGRlcjogQXBwbGVQYXlQYXJhbXNCdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsa0xvZ2dlclNlcnZpY2U6IEVsa0xvZ2dlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9IYW5kbGVycygpO1xuICB9XG5cbiAgcHVibGljIHNldEFwcGxlUGF5UGFyYW1zKGRhdGE6IHsgcGF5bWVudEZvcm06IFBheW1lbnRGb3JtIH0pOiB2b2lkIHtcbiAgICBjb25zdCBwYXltZW50Rm9ybSA9IGRhdGE/LnBheW1lbnRGb3JtO1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSBwYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSBwYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB0aGlzLmFwcGxlUGFyYW1zQnVpbGRlci5idWlsZFBhcmFtcyhwYXltZW50Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEJyYWludHJlZUxpYnJhcnkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcGkgPSBhd2FpdCB0aGlzLmFwaTtcbiAgICAgIGNvbnN0IGNsaWVudEluc3RhbmNlID0gYXdhaXQgYXBpLmNsaWVudC5jcmVhdGUoe1xuICAgICAgICBhdXRob3JpemF0aW9uOiB0b2tlbktleSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBhd2FpdCBhcGkuYXBwbGVQYXkuY3JlYXRlKHtcbiAgICAgICAgY2xpZW50OiBjbGllbnRJbnN0YW5jZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5icmFpbnRyZWVIYW5kbGVyLnNldENsaWVudCh0aGlzLnBheW1lbnRDbGllbnQpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKEFwcGxlUGF5RXJyb3JzLmJyYWludHJlZUluaXRpYWxpemVFcnJvciwgZXJyb3IpO1xuICAgICAgdGhpcy5lbGtMb2dnZXJTZXJ2aWNlLmxvZyhBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIFtcbiAgICAgICAgRXJyb3JUYWdzLkFQUExFUEFZLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKCk7XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhblxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJvdXRlID0gcGFnZXNSb3V0ZXMuZ2V0KGFwcGxlUGF5SWQpO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLnN1cHBvcnRlZE5ldHdvcmtzKSxcbiAgICAgIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwYXJhbWV0ZXJzPy5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSBkYXRhPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGV2aWNlQ2FwYWJsZSgpOiBib29sZWFuIHtcbiAgICAvLyBBcHBsZSBTREsgaXMgdXNlZCBvbiBub24tU2FmYXJpIGRldmljZXMuXG4gICAgLy8gU3VwcG9ydCBvZiBBcHBsZVBheSBwYXltZW50cyB3aWxsIGJlIGRlZmluZWQgb24gdGhlIGV4dGVybmFsIFBTNCBwYWdlXG4gICAgaWYgKCF0aGlzLnVzZXJBZ2VudFNlcnZpY2UuaXNTYWZhcmkpIHJldHVybiB0cnVlO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbk5vbmNlRmllbGREYXRhKHRva2VuTm9uY2U6IHN0cmluZyk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgbmFtZSA9IEZpZWxkTmFtZXMudG9rZW5BcHBsZVBheTtcbiAgICBjb25zdCB2YWx1ZSA9IGJ0b2EodG9rZW5Ob25jZSk7XG4gICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIFhwc1Jlc3BvbnNlKT8uc3VtbWFyeTtcbiAgICBpZiAoIXRoaXMuYXBwbGVQYXlQYXJhbXMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zID0gdGhpcy5hcHBsZVBhcmFtc0J1aWxkZXIudXBkYXRlUGFyYW1zKFxuICAgICAgdGhpcy5hcHBsZVBheVBhcmFtcyxcbiAgICAgIHN1bW1hcnlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRDaGVja291dChcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICBpZnJhbWVJbnRlZ3JhdGlvbkVuYWJsZWQgPSBmYWxzZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBpZnJhbWVJbnRlZ3JhdGlvbkVuYWJsZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uSGFuZGxlcihcbiAgICBhY3F1aXJlcjogc3RyaW5nXG4gICk6IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAoYWNxdWlyZXIpIHtcbiAgICAgIGNhc2UgJ2JyYWludHJlZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmJyYWludHJlZUhhbmRsZXI7XG4gICAgICBjYXNlICdjaGVja291dCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0SGFuZGxlcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQnJhaW50cmVlKCk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PiB7XG4gICAgY29uc3QgYXBpID0gYXdhaXQgaW1wb3J0KCdicmFpbnRyZWUtd2ViJyk7XG5cbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51c2VyQWdlbnRTZXJ2aWNlLmlzU2FmYXJpICYmIHRoaXMuaXNEZXZpY2VDYXBhYmxlKSB7XG4gICAgICB0aGlzLmludGVncmF0aW9uVHlwZS5uZXh0KEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnBheW1lbnRDbGllbnQgJiYgdGhpcy5pc0RldmljZUNhcGFibGUpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQoQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUucmVkaXJlY3QpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9IYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IFt0aGlzLmJyYWludHJlZUhhbmRsZXIsIHRoaXMuY2hlY2tvdXRIYW5kbGVyXTtcblxuICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXIpID0+IHtcbiAgICAgIGhhbmRsZXIuZXJyb3IkLnN1YnNjcmliZSgoZXJyb3IpID0+IHRoaXMuZW1pdEVycm9yKGVycm9yKSk7XG4gICAgICBoYW5kbGVyLnBheW1lbnQkLnN1YnNjcmliZSgodG9rZW4pID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ/Cfn6FbTE9HXSBwYXltZW50IHRva2VuIDo+PicsIHRva2VuKTtcbiAgICAgICAgdGhpcy5wYXltZW50Lm5leHQodG9rZW4pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2NoZWNrb3V0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlDaGVja291dFBhcmFtcyB7XG4gIHRvdGFsTGFiZWw6IHN0cmluZztcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBhZ3JlZW1lbnRzOiBzdHJpbmdbXVtdO1xuICBhY3F1aXJlcjogc3RyaW5nO1xuICBpc1NhbmRib3g6IHN0cmluZztcbiAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IHN0cmluZztcbiAgZ2V0QXBwbGVQYXlTZXNzaW9uVXJsOiBzdHJpbmc7XG4gIHBheVZpYUNoZWNrb3V0VXJsOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2NoZWNrb3V0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlDaGVja291dFBhcmFtcyB7XG4gIHRvdGFsTGFiZWw6IHN0cmluZztcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBhZ3JlZW1lbnRzOiBzdHJpbmdbXVtdO1xuICBhY3F1aXJlcjogc3RyaW5nO1xuICBpc1NhbmRib3g6IHN0cmluZztcbiAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IHN0cmluZztcbiAgZ2V0QXBwbGVQYXlTZXNzaW9uVXJsOiBzdHJpbmc7XG4gIHBheVZpYUNoZWNrb3V0VXJsOiBzdHJpbmc7XG4gIHRvcExldmVsRG9tYWluPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,83 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ErrorTags } from '../../../exceptions-handling/errors/elk-error-types.enum';
3
+ import { windowToken } from '../../../window.token';
4
+ import { applePayVersion } from '../apple-pay.const';
5
+ import { ApplePayErrors } from '../apple-pay.errors.enum';
6
+ import { ApplePaySessionHandlerAbstract } from './session-handler.abstract';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../exceptions-handling/elk/elk-logger.service";
9
+ export class BraintreeHandler extends ApplePaySessionHandlerAbstract {
10
+ constructor(window, elkLoggerService) {
11
+ super();
12
+ this.window = window;
13
+ this.elkLoggerService = elkLoggerService;
14
+ this.paymentClient = null;
15
+ }
16
+ setClient(client) {
17
+ this.paymentClient = client;
18
+ }
19
+ startSession(params, iframeIntegrationEnabled) {
20
+ if (!this.paymentClient) {
21
+ console.error(ApplePayErrors.braintreeInitializeError);
22
+ this.elkLoggerService.log(ApplePayErrors.braintreeInitializeError, [
23
+ ErrorTags.APPLEPAY,
24
+ ]);
25
+ return;
26
+ }
27
+ const request = this.buildPaymentRequest(params);
28
+ const applePayRequest = this.paymentClient.createPaymentRequest(request);
29
+ const session = new this.window.ApplePaySession(applePayVersion, applePayRequest);
30
+ session.onvalidatemerchant = (event) => {
31
+ const validationParams = {
32
+ validationURL: event.validationURL,
33
+ displayName: params.totalLabel,
34
+ };
35
+ console.log('🟡[LOG] braintree onvalidatemerchant params.topLevelDomain :>>', params.topLevelDomain);
36
+ if (iframeIntegrationEnabled && params.topLevelDomain) {
37
+ // @ts-expect-error unknown property
38
+ validationParams.domainName = params.topLevelDomain;
39
+ }
40
+ this.paymentClient
41
+ ?.performValidation(validationParams)
42
+ .then((merchantSession) => {
43
+ session.completeMerchantValidation(merchantSession);
44
+ })
45
+ .catch((error) => {
46
+ console.error(ApplePayErrors.merchantValidationError, error);
47
+ session.abort();
48
+ });
49
+ };
50
+ session.onpaymentauthorized = (event) => {
51
+ this.paymentClient
52
+ ?.tokenize({ token: event.payment.token })
53
+ .then((response) => {
54
+ console.log('🟡[LOG] braintree response :>>', response);
55
+ this.payment.next(JSON.stringify({
56
+ token: response?.nonce ?? '',
57
+ email: event.payment.billingContact?.emailAddress ?? null,
58
+ postalCode: event.payment.billingContact?.postalCode ?? null,
59
+ }));
60
+ session.completePayment(this.window.ApplePaySession.STATUS_SUCCESS);
61
+ })
62
+ .catch((error) => {
63
+ console.log('🟡[LOG] braintree error :>>', error);
64
+ console.error('Apple Pay: Tokenization error', error);
65
+ session.completePayment(this.window.ApplePaySession.STATUS_FAILURE);
66
+ });
67
+ };
68
+ session.oncancel = (event) => {
69
+ console.error(ApplePayErrors.cancelled, event);
70
+ this.emitError(ApplePayErrors.cancelled);
71
+ };
72
+ session.begin();
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BraintreeHandler, deps: [{ token: windowToken }, { token: i1.ElkLoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
75
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BraintreeHandler }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BraintreeHandler, decorators: [{
78
+ type: Injectable
79
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
80
+ type: Inject,
81
+ args: [windowToken]
82
+ }] }, { type: i1.ElkLoggerService }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW50cmVlLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9zZXNzaW9uLWhhbmRsZXJzL2JyYWludHJlZS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUVyRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRzVFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSw4QkFBOEI7SUFHbEUsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBSDhCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQzNDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFKN0Msa0JBQWEsR0FBb0IsSUFBSSxDQUFDO0lBTzlDLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBZ0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FDakIsTUFBc0IsRUFDdEIsd0JBQWlDO1FBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZ0JB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S0FBSyxFQUFFLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQztRQUVGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDOzhHQXZGVSxnQkFBZ0Isa0JBSWpCLFdBQVc7a0hBSlYsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFLTixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxlUGF5IH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBFbGtMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lbGsvZWxrLWxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4uL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGFwcGxlUGF5VmVyc2lvbiB9IGZyb20gJy4uL2FwcGxlLXBheS5jb25zdCc7XG5pbXBvcnQgeyBBcHBsZVBheUVycm9ycyB9IGZyb20gJy4uL2FwcGxlLXBheS5lcnJvcnMuZW51bSc7XG5pbXBvcnQgeyBBcHBsZVBheVNlc3Npb25IYW5kbGVyQWJzdHJhY3QgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCcmFpbnRyZWVIYW5kbGVyIGV4dGVuZHMgQXBwbGVQYXlTZXNzaW9uSGFuZGxlckFic3RyYWN0IHtcbiAgcHJpdmF0ZSBwYXltZW50Q2xpZW50OiBBcHBsZVBheSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGtMb2dnZXJTZXJ2aWNlOiBFbGtMb2dnZXJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xpZW50KGNsaWVudDogQXBwbGVQYXkpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBjbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRTZXNzaW9uKFxuICAgIHBhcmFtczogQXBwbGVQYXlQYXJhbXMsXG4gICAgaWZyYW1lSW50ZWdyYXRpb25FbmFibGVkOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50KSB7XG4gICAgICBjb25zb2xlLmVycm9yKEFwcGxlUGF5RXJyb3JzLmJyYWludHJlZUluaXRpYWxpemVFcnJvcik7XG4gICAgICB0aGlzLmVsa0xvZ2dlclNlcnZpY2UubG9nKEFwcGxlUGF5RXJyb3JzLmJyYWludHJlZUluaXRpYWxpemVFcnJvciwgW1xuICAgICAgICBFcnJvclRhZ3MuQVBQTEVQQVksXG4gICAgICBdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5idWlsZFBheW1lbnRSZXF1ZXN0KHBhcmFtcyk7XG5cbiAgICBjb25zdCBhcHBsZVBheVJlcXVlc3QgPSB0aGlzLnBheW1lbnRDbGllbnQuY3JlYXRlUGF5bWVudFJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICBjb25zdCBzZXNzaW9uID0gbmV3IHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbihcbiAgICAgIGFwcGxlUGF5VmVyc2lvbixcbiAgICAgIGFwcGxlUGF5UmVxdWVzdFxuICAgICk7XG5cbiAgICBzZXNzaW9uLm9udmFsaWRhdGVtZXJjaGFudCA9IChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGlvblBhcmFtcyA9IHtcbiAgICAgICAgdmFsaWRhdGlvblVSTDogZXZlbnQudmFsaWRhdGlvblVSTCxcbiAgICAgICAgZGlzcGxheU5hbWU6IHBhcmFtcy50b3RhbExhYmVsLFxuICAgICAgfTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAn8J+foVtMT0ddIGJyYWludHJlZSBvbnZhbGlkYXRlbWVyY2hhbnQgcGFyYW1zLnRvcExldmVsRG9tYWluIDo+PicsXG4gICAgICAgIHBhcmFtcy50b3BMZXZlbERvbWFpblxuICAgICAgKTtcbiAgICAgIGlmIChpZnJhbWVJbnRlZ3JhdGlvbkVuYWJsZWQgJiYgcGFyYW1zLnRvcExldmVsRG9tYWluKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdW5rbm93biBwcm9wZXJ0eVxuICAgICAgICB2YWxpZGF0aW9uUGFyYW1zLmRvbWFpbk5hbWUgPSBwYXJhbXMudG9wTGV2ZWxEb21haW47XG4gICAgICB9XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudFxuICAgICAgICA/LnBlcmZvcm1WYWxpZGF0aW9uKHZhbGlkYXRpb25QYXJhbXMpXG4gICAgICAgIC50aGVuKChtZXJjaGFudFNlc3Npb24pID0+IHtcbiAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKG1lcmNoYW50U2Vzc2lvbik7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKEFwcGxlUGF5RXJyb3JzLm1lcmNoYW50VmFsaWRhdGlvbkVycm9yLCBlcnJvcik7XG4gICAgICAgICAgc2Vzc2lvbi5hYm9ydCgpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgc2Vzc2lvbi5vbnBheW1lbnRhdXRob3JpemVkID0gKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLnBheW1lbnRDbGllbnRcbiAgICAgICAgPy50b2tlbml6ZSh7IHRva2VuOiBldmVudC5wYXltZW50LnRva2VuIH0pXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCfwn5+hW0xPR10gYnJhaW50cmVlIHJlc3BvbnNlIDo+PicsIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLnBheW1lbnQubmV4dChcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgdG9rZW46IHJlc3BvbnNlPy5ub25jZSA/PyAnJyxcbiAgICAgICAgICAgICAgZW1haWw6IGV2ZW50LnBheW1lbnQuYmlsbGluZ0NvbnRhY3Q/LmVtYWlsQWRkcmVzcyA/PyBudWxsLFxuICAgICAgICAgICAgICBwb3N0YWxDb2RlOiBldmVudC5wYXltZW50LmJpbGxpbmdDb250YWN0Py5wb3N0YWxDb2RlID8/IG51bGwsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZVBheW1lbnQodGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uLlNUQVRVU19TVUNDRVNTKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCfwn5+hW0xPR10gYnJhaW50cmVlIGVycm9yIDo+PicsIGVycm9yKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFRva2VuaXphdGlvbiBlcnJvcicsIGVycm9yKTtcbiAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlUGF5bWVudCh0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24uU1RBVFVTX0ZBSUxVUkUpO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgc2Vzc2lvbi5vbmNhbmNlbCA9IChldmVudCkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihBcHBsZVBheUVycm9ycy5jYW5jZWxsZWQsIGV2ZW50KTtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmNhbmNlbGxlZCk7XG4gICAgfTtcblxuICAgIHNlc3Npb24uYmVnaW4oKTtcbiAgfVxufVxuIl19