@xsolla/payment-client-core 0.2.32 → 0.2.34

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.
@@ -1,14 +1,17 @@
1
1
  import { FieldNames } from './payment/field-names.enum';
2
2
  export const agreementsGroup = [
3
+ FieldNames.licenseDisclaimer,
3
4
  FieldNames.termsAndConditions,
4
5
  FieldNames.termsAndConditionsHtcEula,
5
6
  FieldNames.termsAndConditionsAtariTc,
6
7
  FieldNames.termsAndConditionsAtariPp,
7
8
  FieldNames.termsAndConditionsRolandEula,
8
9
  FieldNames.termsAndConditionsRobloxEula,
10
+ FieldNames.termsAndConditionsDeusLoVultEula,
9
11
  FieldNames.termsAndConditionsOnzenga,
10
12
  FieldNames.take2Taxes,
11
13
  FieldNames.rockstarTaxes,
12
14
  FieldNames.omnibusDirective,
15
+ FieldNames.koreaLimitsInstruction,
13
16
  ];
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50c0dyb3VwLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvYWdyZWVtZW50c0dyb3VwLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsVUFBVSxDQUFDLGtCQUFrQjtJQUM3QixVQUFVLENBQUMseUJBQXlCO0lBQ3BDLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMsNEJBQTRCO0lBQ3ZDLFVBQVUsQ0FBQyw0QkFBNEI7SUFDdkMsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMsVUFBVTtJQUNyQixVQUFVLENBQUMsYUFBYTtJQUN4QixVQUFVLENBQUMsZ0JBQWdCO0NBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5leHBvcnQgY29uc3QgYWdyZWVtZW50c0dyb3VwID0gW1xuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9ucyxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc0F0YXJpVGMsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc1JvYmxveEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zT256ZW5nYSxcbiAgRmllbGROYW1lcy50YWtlMlRheGVzLFxuICBGaWVsZE5hbWVzLnJvY2tzdGFyVGF4ZXMsXG4gIEZpZWxkTmFtZXMub21uaWJ1c0RpcmVjdGl2ZSxcbl07XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50c0dyb3VwLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvYWdyZWVtZW50c0dyb3VwLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsVUFBVSxDQUFDLGlCQUFpQjtJQUM1QixVQUFVLENBQUMsa0JBQWtCO0lBQzdCLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMseUJBQXlCO0lBQ3BDLFVBQVUsQ0FBQyw0QkFBNEI7SUFDdkMsVUFBVSxDQUFDLDRCQUE0QjtJQUN2QyxVQUFVLENBQUMsZ0NBQWdDO0lBQzNDLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLFVBQVU7SUFDckIsVUFBVSxDQUFDLGFBQWE7SUFDeEIsVUFBVSxDQUFDLGdCQUFnQjtJQUMzQixVQUFVLENBQUMsc0JBQXNCO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5leHBvcnQgY29uc3QgYWdyZWVtZW50c0dyb3VwID0gW1xuICBGaWVsZE5hbWVzLmxpY2Vuc2VEaXNjbGFpbWVyLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9ucyxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc0F0YXJpVGMsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc1JvYmxveEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zT256ZW5nYSxcbiAgRmllbGROYW1lcy50YWtlMlRheGVzLFxuICBGaWVsZE5hbWVzLnJvY2tzdGFyVGF4ZXMsXG4gIEZpZWxkTmFtZXMub21uaWJ1c0RpcmVjdGl2ZSxcbiAgRmllbGROYW1lcy5rb3JlYUxpbWl0c0luc3RydWN0aW9uLFxuXTtcbiJdfQ==
@@ -11,8 +11,7 @@ export class ShowCashPaymentInstructionActionCreator {
11
11
  };
12
12
  }
13
13
  isSuitable(response) {
14
- // TODO: remove 'email_info' after full deployment of PAYMENTS-19540
15
- return (response.fields || []).some((field) => field.name === 'payment_instruction' || field.name === 'email_info');
14
+ return (response.fields || []).some((field) => field.name === 'payment_instruction');
16
15
  }
17
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ShowCashPaymentInstructionActionCreator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
17
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ShowCashPaymentInstructionActionCreator }); }
@@ -20,4 +19,4 @@ export class ShowCashPaymentInstructionActionCreator {
20
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ShowCashPaymentInstructionActionCreator, decorators: [{
21
20
  type: Injectable
22
21
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1jYXNoLXBheW1lbnQtaW5zdHJ1Y3Rpb24uYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sdUNBQXVDO0lBRHBEO1FBRWtCLFNBQUksR0FDbEIsK0JBQStCLENBQUM7S0FnQm5DO0lBZFEsYUFBYTtRQUNsQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUF3QjtRQUN4QyxvRUFBb0U7UUFDcEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNqQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLElBQUksS0FBSyxxQkFBcUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FDdEUsQ0FBQztJQUNKLENBQUM7OEdBakJVLHVDQUF1QztrSEFBdkMsdUNBQXVDOzsyRkFBdkMsdUNBQXVDO2tCQURuRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNob3dDYXNoUGF5bWVudEluc3RydWN0aW9uQWN0aW9uLFxuICBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvblR5cGUsXG59IGZyb20gJy4vc2hvdy1jYXNoLXBheW1lbnQtaW5zdHJ1Y3Rpb24uYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb25DcmVhdG9yIGltcGxlbWVudHMgQWN0aW9uQ3JlYXRvciB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvblR5cGUgPVxuICAgICdzaG93X2Nhc2hfcGF5bWVudF9pbnN0cnVjdGlvbic7XG5cbiAgcHVibGljIGdldEFjdGlvbkRhdGEoKTogU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb24ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBkYXRhOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXNTdWl0YWJsZShyZXNwb25zZTogU3VibWl0UmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPOiByZW1vdmUgJ2VtYWlsX2luZm8nIGFmdGVyIGZ1bGwgZGVwbG95bWVudCBvZiBQQVlNRU5UUy0xOTU0MFxuICAgIHJldHVybiAocmVzcG9uc2UuZmllbGRzIHx8IFtdKS5zb21lKFxuICAgICAgKGZpZWxkKSA9PlxuICAgICAgICBmaWVsZC5uYW1lID09PSAncGF5bWVudF9pbnN0cnVjdGlvbicgfHwgZmllbGQubmFtZSA9PT0gJ2VtYWlsX2luZm8nXG4gICAgKTtcbiAgfVxufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1jYXNoLXBheW1lbnQtaW5zdHJ1Y3Rpb24uYWN0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uL3Nob3ctY2FzaC1wYXltZW50LWluc3RydWN0aW9uLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sdUNBQXVDO0lBRHBEO1FBRWtCLFNBQUksR0FDbEIsK0JBQStCLENBQUM7S0FjbkM7SUFaUSxhQUFhO1FBQ2xCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQXdCO1FBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQ2hELENBQUM7SUFDSixDQUFDOzhHQWZVLHVDQUF1QztrSEFBdkMsdUNBQXVDOzsyRkFBdkMsdUNBQXVDO2tCQURuRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNob3dDYXNoUGF5bWVudEluc3RydWN0aW9uQWN0aW9uLFxuICBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvblR5cGUsXG59IGZyb20gJy4vc2hvdy1jYXNoLXBheW1lbnQtaW5zdHJ1Y3Rpb24uYWN0aW9uLnR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb25DcmVhdG9yIGltcGxlbWVudHMgQWN0aW9uQ3JlYXRvciB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBTaG93Q2FzaFBheW1lbnRJbnN0cnVjdGlvbkFjdGlvblR5cGUgPVxuICAgICdzaG93X2Nhc2hfcGF5bWVudF9pbnN0cnVjdGlvbic7XG5cbiAgcHVibGljIGdldEFjdGlvbkRhdGEoKTogU2hvd0Nhc2hQYXltZW50SW5zdHJ1Y3Rpb25BY3Rpb24ge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICBkYXRhOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXNTdWl0YWJsZShyZXNwb25zZTogU3VibWl0UmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHJlc3BvbnNlLmZpZWxkcyB8fCBbXSkuc29tZShcbiAgICAgIChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ3BheW1lbnRfaW5zdHJ1Y3Rpb24nXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -49,6 +49,7 @@ export var FieldNames;
49
49
  FieldNames["termsAndConditionsRolandEula"] = "termsAndConditionsRolandEula";
50
50
  FieldNames["termsAndConditionsDeusLoVultEula"] = "termsAndConditionsDeusLoVultEula";
51
51
  FieldNames["termsAndConditionsOnzenga"] = "termsAndConditionsOnzenga";
52
+ FieldNames["licenseDisclaimer"] = "licenseDisclaimer";
52
53
  FieldNames["xsollaTipsAmount"] = "xsollaTipsAmount";
53
54
  FieldNames["zip"] = "zip";
54
55
  FieldNames["allowSave"] = "allowSave";
@@ -64,5 +65,16 @@ export var FieldNames;
64
65
  FieldNames["ppEmail"] = "pp_email";
65
66
  FieldNames["redeemPoints"] = "redeemPoints";
66
67
  FieldNames["omnibusDirective"] = "omnibus_directive";
68
+ FieldNames["labelApplePay"] = "label_applePay";
69
+ FieldNames["countryCode"] = "countryCode";
70
+ FieldNames["merchantCapabilities"] = "merchantCapabilities";
71
+ FieldNames["requiredBillingContactFields"] = "requiredBillingContactFields";
72
+ FieldNames["requiredShippingContactFields"] = "requiredShippingContactFields";
73
+ FieldNames["supportedNetworks"] = "supportedNetworks";
74
+ FieldNames["acquirer"] = "acquirer";
75
+ FieldNames["isSandbox"] = "isSandbox";
76
+ FieldNames["payInstanceAccountId"] = "payInstanceAccountId";
77
+ FieldNames["getApplePaySessionUrl"] = "getApplePaySessionUrl";
78
+ FieldNames["payViaCheckoutUrl"] = "payViaCheckoutUrl";
67
79
  })(FieldNames || (FieldNames = {}));
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQWlFWDtBQWpFRCxXQUFZLFVBQVU7SUFDcEIsbUNBQXFCLENBQUE7SUFDckIsbUNBQXFCLENBQUE7SUFDckIsaUNBQW1CLENBQUE7SUFDbkIsdUVBQXlELENBQUE7SUFDekQscURBQXVDLENBQUE7SUFDdkMseUJBQVcsQ0FBQTtJQUNYLHlEQUEyQyxDQUFBO0lBQzNDLDJCQUFhLENBQUE7SUFDYixzQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBd0IsQ0FBQTtJQUN4QixvQ0FBc0IsQ0FBQTtJQUN0Qix3Q0FBMEIsQ0FBQTtJQUMxQiwrQ0FBaUMsQ0FBQTtJQUNqQywyQkFBYSxDQUFBO0lBQ2IsdUNBQXlCLENBQUE7SUFDekIsa0NBQW9CLENBQUE7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIseUJBQVcsQ0FBQTtJQUNYLHlDQUEyQixDQUFBO0lBQzNCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBeUIsQ0FBQTtJQUN6QixrQ0FBb0IsQ0FBQTtJQUNwQixvQ0FBc0IsQ0FBQTtJQUN0QixtREFBcUMsQ0FBQTtJQUNyQywrQ0FBaUMsQ0FBQTtJQUNqQyw4QkFBZ0IsQ0FBQTtJQUNoQiwyQ0FBNkIsQ0FBQTtJQUM3Qiw4QkFBZ0IsQ0FBQTtJQUNoQixtREFBcUMsQ0FBQTtJQUNyQyxvQ0FBc0IsQ0FBQTtJQUN0Qix5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBMkIsQ0FBQTtJQUMzQiw2QkFBZSxDQUFBO0lBQ2YseURBQTJDLENBQUE7SUFDM0MsOENBQWdDLENBQUE7SUFDaEMsOENBQWdDLENBQUE7SUFDaEMsNkJBQWUsQ0FBQTtJQUNmLCtCQUFpQixDQUFBO0lBQ2pCLDRDQUE4QixDQUFBO0lBQzlCLHdDQUEwQixDQUFBO0lBQzFCLHVEQUF5QyxDQUFBO0lBQ3pDLHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELDJFQUE2RCxDQUFBO0lBQzdELDJFQUE2RCxDQUFBO0lBQzdELG1GQUFxRSxDQUFBO0lBQ3JFLHFFQUF1RCxDQUFBO0lBQ3ZELG1EQUFxQyxDQUFBO0lBQ3JDLHlCQUFXLENBQUE7SUFDWCxxQ0FBdUIsQ0FBQTtJQUN2QixpRUFBbUQsQ0FBQTtJQUNuRCw4Q0FBZ0MsQ0FBQTtJQUNoQyx3Q0FBMEIsQ0FBQTtJQUMxQixnQ0FBa0IsQ0FBQTtJQUNsQixxQ0FBdUIsQ0FBQTtJQUN2Qix1QkFBUyxDQUFBO0lBQ1QseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5REFBMkMsQ0FBQTtJQUMzQyxrQ0FBb0IsQ0FBQTtJQUNwQiwyQ0FBNkIsQ0FBQTtJQUM3QixvREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBakVXLFVBQVUsS0FBVixVQUFVLFFBaUVyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkTmFtZXMge1xuICBhZGRyZXNzMSA9ICdhZGRyZXNzMScsXG4gIGFkZHJlc3MyID0gJ2FkZHJlc3MyJyxcbiAgYWRkcmVzcyA9ICdhZGRyZXNzJyxcbiAgYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24gPSAnYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24nLFxuICBhbGxvd1N1YnNjcmlwdGlvbiA9ICdhbGxvd1N1YnNjcmlwdGlvbicsXG4gIGFwdCA9ICdhcHQnLFxuICBhdmFpbGFibGVDYXJkVHlwZXMgPSAnYXZhaWxhYmxlX2NhcmRfdHlwZXMnLFxuICBiYW5rID0gJ2JhbmsnLFxuICBiaXJ0aERhdGUgPSAnYmlydGhfZGF0ZScsXG4gIGNhcmRNb250aCA9ICdjYXJkX21vbnRoJyxcbiAgY2FyZFllYXIgPSAnY2FyZF95ZWFyJyxcbiAgY2FyZE51bWJlciA9ICdjYXJkX251bWJlcicsXG4gIGNhcmRob2xkZXJuYW1lID0gJ2NhcmRob2xkZXJuYW1lJyxcbiAgY2l0eSA9ICdjaXR5JyxcbiAgY291cG9uQ29kZSA9ICdjb3Vwb25Db2RlJyxcbiAgY3BmTmFtZSA9ICdjcGZfbmFtZScsXG4gIGNwZk51bWJlciA9ICdjcGZfbnVtYmVyJyxcbiAgY3Z2ID0gJ2N2dicsXG4gIGRlc2NyaXB0aW9uID0gJ2Rlc2NyaXB0aW9uJyxcbiAgZW1haWwgPSAnZW1haWwnLFxuICBwc0VtYWlsID0gJ3BzRW1haWwnLFxuICBiYXppdGVtYWlsID0gJ2Jheml0ZW1haWwnLFxuICBldUNoZWNrID0gJ2V1X2NoZWNrJyxcbiAgZXh0cmFDdnYgPSAnZXh0cmFfY3Z2JyxcbiAgZXh0cmFDYXJkTnVtYmVyID0gJ2V4dHJhX2NhcmRfbnVtYmVyJyxcbiAgZXh0cmFDYXJkVHlwZSA9ICdleHRyYV9jYXJkX3R5cGUnLFxuICBmTmFtZSA9ICdmX25hbWUnLFxuICBpbnN0YWxsbWVudHMgPSAnaW5zdGFsbG1lbnRzJyxcbiAgbE5hbWUgPSAnbF9uYW1lJyxcbiAgbmVlZEluc3RhbGxtZW50cyA9ICduZWVkSW5zdGFsbG1lbnRzJyxcbiAgcGVyc29uSWQgPSAncGVyc29uX2lkJyxcbiAgcGVyc29uSWRBciA9ICdwZXJzb25faWRfYXInLFxuICBwZXJzb25JZENvID0gJ3BlcnNvbl9pZF9jbycsXG4gIHBob25lID0gJ3Bob25lJyxcbiAgcHVyY2hhc2VEZXNjcmlwdGlvbiA9ICdwdXJjaGFzZURlc2NyaXB0aW9uJyxcbiAgcmVjdXJyZW50VHlwZSA9ICdyZWN1cnJlbnRfdHlwZScsXG4gIHJvY2tzdGFyVGF4ZXMgPSAncm9ja3N0YXJfdGF4ZXMnLFxuICBzdGF0ZSA9ICdzdGF0ZScsXG4gIHN0cmVldCA9ICdzdHJlZXQnLFxuICBzdHJlZXROdW1iZXIgPSAnc3RyZWV0X251bWJlcicsXG4gIHRha2UyVGF4ZXMgPSAndGFrZTJfdGF4ZXMnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnMgPSAndGVybXNBbmRDb25kaXRpb25zJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVBQJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlUYyA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVRDJyxcbiAgdGVybXNBbmRDb25kaXRpb25zSHRjRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9ibG94RXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2Jsb3hFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9sYW5kRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEgPSAndGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnNPbnplbmdhID0gJ3Rlcm1zQW5kQ29uZGl0aW9uc09uemVuZ2EnLFxuICB4c29sbGFUaXBzQW1vdW50ID0gJ3hzb2xsYVRpcHNBbW91bnQnLFxuICB6aXAgPSAnemlwJyxcbiAgYWxsb3dTYXZlID0gJ2FsbG93U2F2ZScsXG4gIGtvcmVhTGltaXRzSW5zdHJ1Y3Rpb24gPSAna29yZWFfbGltaXRzX2luc3RydWN0aW9uJyxcbiAgdG9rZW5BcHBsZVBheSA9ICd0b2tlbl9hcHBsZXBheScsXG4gIGZpeEludm9pY2UgPSAnZml4X2ludm9pY2UnLFxuICBmaXhQaWQgPSAnZml4X3BpZCcsXG4gIHNpZ25hdHVyZSA9ICdzaWduYXR1cmUnLFxuICBxciA9ICdxcicsXG4gIHN1bSA9ICdzdW0nLFxuICBvdXQgPSAnb3V0JyxcbiAgdGlua29mZkRpc2NsYWltZXIgPSAncHMudGlua29mZi5kaXNjbGFpbWVyJyxcbiAgcHBFbWFpbCA9ICdwcF9lbWFpbCcsXG4gIHJlZGVlbVBvaW50cyA9ICdyZWRlZW1Qb2ludHMnLFxuICBvbW5pYnVzRGlyZWN0aXZlID0gJ29tbmlidXNfZGlyZWN0aXZlJyxcbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQTZFWDtBQTdFRCxXQUFZLFVBQVU7SUFDcEIsbUNBQXFCLENBQUE7SUFDckIsbUNBQXFCLENBQUE7SUFDckIsaUNBQW1CLENBQUE7SUFDbkIsdUVBQXlELENBQUE7SUFDekQscURBQXVDLENBQUE7SUFDdkMseUJBQVcsQ0FBQTtJQUNYLHlEQUEyQyxDQUFBO0lBQzNDLDJCQUFhLENBQUE7SUFDYixzQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBd0IsQ0FBQTtJQUN4QixvQ0FBc0IsQ0FBQTtJQUN0Qix3Q0FBMEIsQ0FBQTtJQUMxQiwrQ0FBaUMsQ0FBQTtJQUNqQywyQkFBYSxDQUFBO0lBQ2IsdUNBQXlCLENBQUE7SUFDekIsa0NBQW9CLENBQUE7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIseUJBQVcsQ0FBQTtJQUNYLHlDQUEyQixDQUFBO0lBQzNCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBeUIsQ0FBQTtJQUN6QixrQ0FBb0IsQ0FBQTtJQUNwQixvQ0FBc0IsQ0FBQTtJQUN0QixtREFBcUMsQ0FBQTtJQUNyQywrQ0FBaUMsQ0FBQTtJQUNqQyw4QkFBZ0IsQ0FBQTtJQUNoQiwyQ0FBNkIsQ0FBQTtJQUM3Qiw4QkFBZ0IsQ0FBQTtJQUNoQixtREFBcUMsQ0FBQTtJQUNyQyxvQ0FBc0IsQ0FBQTtJQUN0Qix5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBMkIsQ0FBQTtJQUMzQiw2QkFBZSxDQUFBO0lBQ2YseURBQTJDLENBQUE7SUFDM0MsOENBQWdDLENBQUE7SUFDaEMsOENBQWdDLENBQUE7SUFDaEMsNkJBQWUsQ0FBQTtJQUNmLCtCQUFpQixDQUFBO0lBQ2pCLDRDQUE4QixDQUFBO0lBQzlCLHdDQUEwQixDQUFBO0lBQzFCLHVEQUF5QyxDQUFBO0lBQ3pDLHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELDJFQUE2RCxDQUFBO0lBQzdELDJFQUE2RCxDQUFBO0lBQzdELG1GQUFxRSxDQUFBO0lBQ3JFLHFFQUF1RCxDQUFBO0lBQ3ZELHFEQUF1QyxDQUFBO0lBQ3ZDLG1EQUFxQyxDQUFBO0lBQ3JDLHlCQUFXLENBQUE7SUFDWCxxQ0FBdUIsQ0FBQTtJQUN2QixpRUFBbUQsQ0FBQTtJQUNuRCw4Q0FBZ0MsQ0FBQTtJQUNoQyx3Q0FBMEIsQ0FBQTtJQUMxQixnQ0FBa0IsQ0FBQTtJQUNsQixxQ0FBdUIsQ0FBQTtJQUN2Qix1QkFBUyxDQUFBO0lBQ1QseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5REFBMkMsQ0FBQTtJQUMzQyxrQ0FBb0IsQ0FBQTtJQUNwQiwyQ0FBNkIsQ0FBQTtJQUM3QixvREFBc0MsQ0FBQTtJQUN0Qyw4Q0FBZ0MsQ0FBQTtJQUNoQyx5Q0FBMkIsQ0FBQTtJQUMzQiwyREFBNkMsQ0FBQTtJQUM3QywyRUFBNkQsQ0FBQTtJQUM3RCw2RUFBK0QsQ0FBQTtJQUMvRCxxREFBdUMsQ0FBQTtJQUN2QyxtQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBdUIsQ0FBQTtJQUN2QiwyREFBNkMsQ0FBQTtJQUM3Qyw2REFBK0MsQ0FBQTtJQUMvQyxxREFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBN0VXLFVBQVUsS0FBVixVQUFVLFFBNkVyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkTmFtZXMge1xuICBhZGRyZXNzMSA9ICdhZGRyZXNzMScsXG4gIGFkZHJlc3MyID0gJ2FkZHJlc3MyJyxcbiAgYWRkcmVzcyA9ICdhZGRyZXNzJyxcbiAgYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24gPSAnYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24nLFxuICBhbGxvd1N1YnNjcmlwdGlvbiA9ICdhbGxvd1N1YnNjcmlwdGlvbicsXG4gIGFwdCA9ICdhcHQnLFxuICBhdmFpbGFibGVDYXJkVHlwZXMgPSAnYXZhaWxhYmxlX2NhcmRfdHlwZXMnLFxuICBiYW5rID0gJ2JhbmsnLFxuICBiaXJ0aERhdGUgPSAnYmlydGhfZGF0ZScsXG4gIGNhcmRNb250aCA9ICdjYXJkX21vbnRoJyxcbiAgY2FyZFllYXIgPSAnY2FyZF95ZWFyJyxcbiAgY2FyZE51bWJlciA9ICdjYXJkX251bWJlcicsXG4gIGNhcmRob2xkZXJuYW1lID0gJ2NhcmRob2xkZXJuYW1lJyxcbiAgY2l0eSA9ICdjaXR5JyxcbiAgY291cG9uQ29kZSA9ICdjb3Vwb25Db2RlJyxcbiAgY3BmTmFtZSA9ICdjcGZfbmFtZScsXG4gIGNwZk51bWJlciA9ICdjcGZfbnVtYmVyJyxcbiAgY3Z2ID0gJ2N2dicsXG4gIGRlc2NyaXB0aW9uID0gJ2Rlc2NyaXB0aW9uJyxcbiAgZW1haWwgPSAnZW1haWwnLFxuICBwc0VtYWlsID0gJ3BzRW1haWwnLFxuICBiYXppdGVtYWlsID0gJ2Jheml0ZW1haWwnLFxuICBldUNoZWNrID0gJ2V1X2NoZWNrJyxcbiAgZXh0cmFDdnYgPSAnZXh0cmFfY3Z2JyxcbiAgZXh0cmFDYXJkTnVtYmVyID0gJ2V4dHJhX2NhcmRfbnVtYmVyJyxcbiAgZXh0cmFDYXJkVHlwZSA9ICdleHRyYV9jYXJkX3R5cGUnLFxuICBmTmFtZSA9ICdmX25hbWUnLFxuICBpbnN0YWxsbWVudHMgPSAnaW5zdGFsbG1lbnRzJyxcbiAgbE5hbWUgPSAnbF9uYW1lJyxcbiAgbmVlZEluc3RhbGxtZW50cyA9ICduZWVkSW5zdGFsbG1lbnRzJyxcbiAgcGVyc29uSWQgPSAncGVyc29uX2lkJyxcbiAgcGVyc29uSWRBciA9ICdwZXJzb25faWRfYXInLFxuICBwZXJzb25JZENvID0gJ3BlcnNvbl9pZF9jbycsXG4gIHBob25lID0gJ3Bob25lJyxcbiAgcHVyY2hhc2VEZXNjcmlwdGlvbiA9ICdwdXJjaGFzZURlc2NyaXB0aW9uJyxcbiAgcmVjdXJyZW50VHlwZSA9ICdyZWN1cnJlbnRfdHlwZScsXG4gIHJvY2tzdGFyVGF4ZXMgPSAncm9ja3N0YXJfdGF4ZXMnLFxuICBzdGF0ZSA9ICdzdGF0ZScsXG4gIHN0cmVldCA9ICdzdHJlZXQnLFxuICBzdHJlZXROdW1iZXIgPSAnc3RyZWV0X251bWJlcicsXG4gIHRha2UyVGF4ZXMgPSAndGFrZTJfdGF4ZXMnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnMgPSAndGVybXNBbmRDb25kaXRpb25zJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVBQJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlUYyA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVRDJyxcbiAgdGVybXNBbmRDb25kaXRpb25zSHRjRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9ibG94RXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2Jsb3hFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9sYW5kRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEgPSAndGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnNPbnplbmdhID0gJ3Rlcm1zQW5kQ29uZGl0aW9uc09uemVuZ2EnLFxuICBsaWNlbnNlRGlzY2xhaW1lciA9ICdsaWNlbnNlRGlzY2xhaW1lcicsXG4gIHhzb2xsYVRpcHNBbW91bnQgPSAneHNvbGxhVGlwc0Ftb3VudCcsXG4gIHppcCA9ICd6aXAnLFxuICBhbGxvd1NhdmUgPSAnYWxsb3dTYXZlJyxcbiAga29yZWFMaW1pdHNJbnN0cnVjdGlvbiA9ICdrb3JlYV9saW1pdHNfaW5zdHJ1Y3Rpb24nLFxuICB0b2tlbkFwcGxlUGF5ID0gJ3Rva2VuX2FwcGxlcGF5JyxcbiAgZml4SW52b2ljZSA9ICdmaXhfaW52b2ljZScsXG4gIGZpeFBpZCA9ICdmaXhfcGlkJyxcbiAgc2lnbmF0dXJlID0gJ3NpZ25hdHVyZScsXG4gIHFyID0gJ3FyJyxcbiAgc3VtID0gJ3N1bScsXG4gIG91dCA9ICdvdXQnLFxuICB0aW5rb2ZmRGlzY2xhaW1lciA9ICdwcy50aW5rb2ZmLmRpc2NsYWltZXInLFxuICBwcEVtYWlsID0gJ3BwX2VtYWlsJyxcbiAgcmVkZWVtUG9pbnRzID0gJ3JlZGVlbVBvaW50cycsXG4gIG9tbmlidXNEaXJlY3RpdmUgPSAnb21uaWJ1c19kaXJlY3RpdmUnLFxuICBsYWJlbEFwcGxlUGF5ID0gJ2xhYmVsX2FwcGxlUGF5JyxcbiAgY291bnRyeUNvZGUgPSAnY291bnRyeUNvZGUnLFxuICBtZXJjaGFudENhcGFiaWxpdGllcyA9ICdtZXJjaGFudENhcGFiaWxpdGllcycsXG4gIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSAncmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcycsXG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJ3JlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzJyxcbiAgc3VwcG9ydGVkTmV0d29ya3MgPSAnc3VwcG9ydGVkTmV0d29ya3MnLFxuICBhY3F1aXJlciA9ICdhY3F1aXJlcicsXG4gIGlzU2FuZGJveCA9ICdpc1NhbmRib3gnLFxuICBwYXlJbnN0YW5jZUFjY291bnRJZCA9ICdwYXlJbnN0YW5jZUFjY291bnRJZCcsXG4gIGdldEFwcGxlUGF5U2Vzc2lvblVybCA9ICdnZXRBcHBsZVBheVNlc3Npb25VcmwnLFxuICBwYXlWaWFDaGVja291dFVybCA9ICdwYXlWaWFDaGVja291dFVybCcsXG59XG4iXX0=
@@ -158,8 +158,7 @@ export class PaymentService {
158
158
  if (!isSubmitResponse(this.data)) {
159
159
  throw new Error('Should submit form first');
160
160
  }
161
- // TODO: remove 'email_info' after full deployment of PAYMENTS-19540
162
- const cashInstructionField = this.data.fields.find((field) => field.name === 'payment_instruction' || field.name === 'email_info');
161
+ const cashInstructionField = this.data.fields.find((field) => field.name === 'payment_instruction');
163
162
  const params = {
164
163
  isCashPaymentMethod: !!cashInstructionField,
165
164
  xsollaNumber: this.data.xsollaNumber.accountXsolla,
@@ -412,4 +411,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
412
411
  providedIn: 'root',
413
412
  }]
414
413
  }], ctorParameters: () => [{ type: i1.InitializeService }, { type: i2.SubmitService }, { type: i3.SyncService }, { type: i4.FormService }, { type: i5.StatusService }, { type: i6.FinanceDetailsService }, { type: i7.CreditCardStateService }, { type: i8.NextActionService }, { type: i9.ControlConfigService }, { type: i10.ThreeDsService }, { type: i11.FormMessagesService }, { type: i12.SettingsService }, { type: i13.CountryService }, { type: i14.CheckStatusActionCreator }, { type: i15.PrintInstructionService }] });
415
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBRU4sT0FBTyxFQUNQLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWFoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2hGLE1BQU0sT0FBTyxjQUFjO0lBR3pCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxD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LENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxXQUFXLENBQUM7WUFDbEMsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ3pCLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQzs4R0F6ZlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGZpbHRlcixcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sU3RhdHVzLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0vZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEluaXRpYWxpemVSZXNwb25zZSB9IGZyb20gJy4vaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEluaXRpYWxpemVTZXJ2aWNlIH0gZnJvbSAnLi9pbml0aWFsaXplL2luaXRpYWxpemUuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1pdFNlcnZpY2UgfSBmcm9tICcuL3N1Ym1pdC9zdWJtaXQuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZyB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZyc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9wYXltZW50LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL2lzLXN1Ym1pdC1yZXNwb25zZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5pbXBvcnQgeyBTdGF0dXNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi9mb3JtL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbi1lcnJvcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgRm9ybUZpZWxkc1N0YXR1cyB9IGZyb20gJy4vZm9ybS9mb3JtLWZpZWxkcy1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRocmVlRHNTZXJ2aWNlIH0gZnJvbSAnLi90aHJlZS1kcy90aHJlZS1kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuL3hwcy1jb21hbmQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkTmFtZXMgfSBmcm9tICcuL2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc01lc3NhZ2UgfSBmcm9tICcuL3hwcy1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrUGF5bWVudFN5c3RlbXNJbml0aWFsRGF0YSB9IGZyb20gJy4uL3Nkay1wYXltZW50LXN5c3RlbXMvc2RrLXBheW1lbnQtc3lzdGVtcy1pbml0aWFsLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1SZXNwb25zZSB9IGZyb20gJy4vZm9ybS1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENvbnRyb2xTdGF0dXMgfSBmcm9tICcuL2Zvcm0vY29udHJvbC1zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEluaXRpYWxpemVkRm9ybSB9IGZyb20gJy4vaW5pdGlhbGl6ZWQtZm9ybS5pbnRlZmFjZSc7XG5pbXBvcnQgeyBDYXNoUGF5bWVudERhdGEgfSBmcm9tICcuL2Nhc2gtcGF5bWVudC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcmludEluc3RydWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3hzb2xsYS1udW1iZXIvYXBpL3ByaW50LWluc3RydWN0aW9uL3ByaW50LWluc3RydWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ29vZ2xlUGF5UGlkIH0gZnJvbSAnLi4vc2RrLXBheW1lbnQtc3lzdGVtcy9zZGstcGF5bWVudC1tZXRob2RzLmNvbnN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRTZXJ2aWNlIHtcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGZvcm1GaWVsZHNTdGF0dXMkKCk6IE9ic2VydmFibGU8Rm9ybUZpZWxkc1N0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKEJvb2xlYW4pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudEZvcm0kKCk6IE9ic2VydmFibGU8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BheW1lbnRGb3JtJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlJCgpOiBPYnNlcnZhYmxlPEZvcm1SZXNwb25zZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybVJlc3BvbnNlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlVmFsdWUoKTogRm9ybVJlc3BvbnNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1SZXNwb25zZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZGF0YTogSW5pdGlhbGl6ZVJlc3BvbnNlIHwgU3VibWl0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaW5hbmNlRGV0YWlsczogRmluYW5jZURldGFpbHMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmb2N1c0ZpZWxkTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgY29uZmlnITogUGF5bWVudENvbmZpZztcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBmb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXltZW50Rm9ybSQgPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmllbGRzU3RhdHVzU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRmllbGRzU3RhdHVzIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1SZXNwb25zZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1SZXNwb25zZSB8IG51bGw+KFxuICAgIG51bGxcbiAgKTtcblxuICBwcml2YXRlIGlzU2F2aW5nTWV0aG9kTW9kZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxpemVTZXJ2aWNlOiBJbml0aWFsaXplU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1Ym1pdFNlcnZpY2U6IFN1Ym1pdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeW5jU2VydmljZTogU3luY1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbENvbmZpZ1NlcnZpY2U6IENvbnRyb2xDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhyZWVEc1NlcnZpY2U6IFRocmVlRHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1lc3NhZ2VzU2VydmljZTogRm9ybU1lc3NhZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yOiBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludEluc3RydWN0aW9uU2VydmljZTogUHJpbnRJbnN0cnVjdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFByb21pc2U8SW5pdGlhbGl6ZWRGb3JtPiB7XG4gICAgdGhpcy5kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy5mb3JtRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy5saXN0ZW5GaW5hbmNlRGV0YWlscygpO1xuXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5kYXRhID0gYXdhaXQgdGhpcy5pbml0aWFsaXplU2VydmljZS5yZXF1ZXN0KGNvbmZpZyk7XG4gICAgdGhpcy5lbWl0Rm9ybVJlc3BvbnNlKHRoaXMuZGF0YSk7XG5cbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZ2V0RmllbGRzKCk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2VydmljZS5jcmVhdGVGb3JtKHRoaXMuZmllbGRzKTtcblxuICAgIHRoaXMudXBkYXRlUGlkQ29uZmlnKCk7XG4gICAgdGhpcy5zZXR1cFN5bmNTZXJ2aWNlKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuICAgIHRoaXMubGlzdGVuRm9ybVN0YXR1c0NoYW5nZXModGhpcy5mb3JtKTtcblxuICAgIGNvbnN0IGlzTmVlZEF1dG9TdWJtaXQgPSB0aGlzLmNhbkF1dG9TdWJtaXQoKTtcblxuICAgIGlmIChpc05lZWRBdXRvU3VibWl0KSB7XG4gICAgICBjb25zdCBuZXh0QWN0aW9uID0gYXdhaXQgdGhpcy5zdWJtaXQoKTtcblxuICAgICAgaWYgKG5leHRBY3Rpb24pIHtcbiAgICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMobmV4dEFjdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHModGhpcy5kYXRhLnBheW1lbnRGb3JtPy5zdW1tYXJ5KTtcbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG5cbiAgICB0aGlzLmVtaXRGb3JtTWVzc2FnZXModGhpcy5nZXRJbml0aWFsaXplTWVzc2FnZXMoKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcy5maWx0ZXIoXG4gICAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkPy5pc1Zpc2libGUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgKSxcbiAgICAgIGlzRm9ybUF1dG9TdWJtaXR0ZWQ6IGlzTmVlZEF1dG9TdWJtaXQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoKTogUHJvbWlzZTxOZXh0QWN0aW9uIHwgbnVsbCB8IHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmb3JtIGlzIGVtcHR5IScpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNTYXZpbmdNZXRob2RNb2RlID0gdGhpcy5maWVsZHMuc29tZShcbiAgICAgICh7IG5hbWUsIHZhbHVlIH0pID0+XG4gICAgICAgIG5hbWUgPT09ICdzYXZlUHNBY2NvdW50T25seScgJiYgdmFsdWUgPT09IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICk7XG4gICAgY29uc3Qgc3VibWl0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLnN1Ym1pdFNlcnZpY2UucmVxdWVzdChcbiAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgdGhpcy5mb3JtXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YSA9IHN1Ym1pdFJlc3BvbnNlO1xuICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZSh0aGlzLmRhdGEpO1xuXG4gICAgaWYgKCF0aGlzLmlzU2F2aW5nTWV0aG9kTW9kZSkge1xuICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMoc3VibWl0UmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgfVxuICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyhzdWJtaXRSZXNwb25zZS5tZXNzYWdlcyk7XG5cbiAgICAvLyBIYW5kbGUgM2RzIGZsb3dcbiAgICBpZiAoXG4gICAgICBzdWJtaXRSZXNwb25zZS5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5jcmVhdGUgJiZcbiAgICAgIHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMudGhyZWVEU0Zvcm1cbiAgICApIHtcbiAgICAgIHRoaXMucnVuVGhyZWVEcygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgdGhpcy5zeW5jU2VydmljZS5zZXR1cCh0aGlzLmZvcm0sIHRoaXMuZmllbGRzKTtcblxuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmdldE5leHRBY3Rpb24oc3VibWl0UmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkcygpOiBGaWVsZFtdIHtcbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgU3VibWl0UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmllbGRzID8/IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGE/LnBheW1lbnRGb3JtPy5maWVsZHMgPz8gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29udHJvbFN0YXR1cyhuYW1lOiBGaWVsZE5hbWVzKTogQ29udHJvbFN0YXR1cyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChuYW1lKTtcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgZXJyb3JzOiBjb250cm9sLmVycm9ycyxcbiAgICAgIHN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbml0aWFsRGF0YUZvclNka1BheW1lbnRTeXN0ZW1zKCk6IFNka1BheW1lbnRTeXN0ZW1zSW5pdGlhbERhdGEge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB0aGlzLmRhdGEucGFyYW1ldGVycy5jaGVja291dC5kYXRhLmRhdGEsXG4gICAgICBzYW5kYm94OiB0aGlzLnNldHRpbmdzU2VydmljZS5pc1NhbmRib3hNb2RlKClcbiAgICAgICAgPyBYcHNCb29sZWFuLnRydWVcbiAgICAgICAgOiBYcHNCb29sZWFuLmZhbHNlLFxuICAgICAgY291bnRyeTogdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGUoKTogc3RyaW5nIHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kYXRhLnBhcmFtZXRlcnMuZm9ybS5xci50aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNoUGF5bWVudERhdGEoKTogQ2FzaFBheW1lbnREYXRhIHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiByZW1vdmUgJ2VtYWlsX2luZm8nIGFmdGVyIGZ1bGwgZGVwbG95bWVudCBvZiBQQVlNRU5UUy0xOTU0MFxuICAgIGNvbnN0IGNhc2hJbnN0cnVjdGlvbkZpZWxkID0gdGhpcy5kYXRhLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkKSA9PlxuICAgICAgICBmaWVsZC5uYW1lID09PSAncGF5bWVudF9pbnN0cnVjdGlvbicgfHwgZmllbGQubmFtZSA9PT0gJ2VtYWlsX2luZm8nXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGlzQ2FzaFBheW1lbnRNZXRob2Q6ICEhY2FzaEluc3RydWN0aW9uRmllbGQsXG4gICAgICB4c29sbGFOdW1iZXI6IHRoaXMuZGF0YS54c29sbGFOdW1iZXIuYWNjb3VudFhzb2xsYSxcbiAgICAgIHBpZDogdGhpcy5kYXRhLnBhcmFtZXRlcnMucGlkLFxuICAgICAgcHVibGljSWQ6IHRoaXMuZGF0YS5wYXJhbWV0ZXJzLnB1YmxpY19pZCxcbiAgICAgIHRpdGxlOiB0aGlzLmRhdGEucGFyYW1ldGVycy50aXRsZSxcbiAgICAgIHByb2plY3ROYW1lOiB0aGlzLnNldHRpbmdzU2VydmljZS5wcm9qZWN0Lm5hbWUsXG4gICAgICBpbnN0cnVjdGlvbjogY2FzaEluc3RydWN0aW9uRmllbGQ/LnRpdGxlLFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByaW50VXJsOiB0aGlzLnByaW50SW5zdHJ1Y3Rpb25TZXJ2aWNlLmdldFByaW50SW5zdHJ1Y3Rpb25VcmwocGFyYW1zKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFBpZCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgU3VibWl0UmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIE51bWJlcihcbiAgICAgICAgICB0aGlzLmRhdGEuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAnZml4X3BpZCcpPy52YWx1ZVxuICAgICAgICApIHx8IG51bGxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgTnVtYmVyKFxuICAgICAgICAgIHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uZmllbGRzLmZpbmQoXG4gICAgICAgICAgICAoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdmaXhfcGlkJ1xuICAgICAgICAgICk/LnZhbHVlXG4gICAgICAgICkgfHwgbnVsbFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdWJtaXRCdXR0b25UZXh0KCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5wYXJhbWV0ZXJzLmJ1eURhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5wYXltZW50Rm9ybT8uYnV5RGF0YS52YWx1ZSA/PyBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHZhbGlkYXRlKGZpZWxkOiBGaWVsZCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCBzeW5jRXJyb3JzID0gdGhpcy5zeW5jU2VydmljZS5nZXRTeW5jVmFsaWRhdGlvbkVycm9ycyhmaWVsZCk7XG5cbiAgICBpZiAoc3luY0Vycm9ycykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzeW5jRXJyb3JzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zeW5jU2VydmljZS52YWxpZGF0ZShmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgcnVuVGhyZWVEcygpOiB2b2lkIHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRocmVlRHNTZXJ2aWNlLmNoZWNrVGhyZWVEcyh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldEZpbmFuY2VEZXRhaWxzKCk6IEZpbmFuY2VEZXRhaWxzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHM7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtU2VydmljZS51cGRhdGVGaWVsZEZvcm1TdGF0ZShcbiAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgZmllbGROYW1lLFxuICAgICAgICBmb3JtU3RhdGVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZTogRmllbGROYW1lcyk6IEZvcm1TdGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1TZXJ2aWNlLmdldEZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKCk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgcGlkOiB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQsXG4gICAgICBpbnZvaWNlOiBwYXJzZUludCh0aGlzLmRhdGEuZml4SW52b2ljZSA/PyAnJyksXG4gICAgICBzaWduYXR1cmU6IHRoaXMuZGF0YS5zaWduYXR1cmUgPz8gJycsXG4gICAgICBsb2NhbGU6XG4gICAgICAgIHRoaXMuZGF0YS5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdsb2NhbGUnKT8udmFsdWUgPz9cbiAgICAgICAgJ2VuJyxcbiAgICAgIGlzU2F2ZVBheW1lbnRBY2NvdW50OiB0aGlzLmlzU2F2aW5nTWV0aG9kTW9kZVxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1cyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RlbkZpbmFsU3RhdHVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgaW52b2ljZSB9ID0gYXdhaXQgdGhpcy5nZXRTdGF0dXMoKTtcblxuICAgIHRoaXMuc3RhdHVzU2VydmljZVxuICAgICAgLmxpc3RlbkZpbmFsU3RhdHVzKGludm9pY2UgYXMgdW5rbm93biBhcyBudW1iZXIpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIHRoaXMuY2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yLmdldEFjdGlvbkRhdGEoKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRDb25maWcoZmllbGQ6IEZpZWxkKTogQ29udHJvbENvbmZpZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDb25maWdTZXJ2aWNlLmdldENvbmZpZyhmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRWYWx1ZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGZvcm1Db250cm9sPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlRmllbGRTdGF0ZShuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIXRoaXMuZm9ybSB8fCAhZm9ybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmJsdXI6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIElucHV0RXZlbnROYW1lLmZvY3VzOiB7XG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmZvY3VzRmllbGROYW1lID0gbmFtZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyh0aGlzLmZvcm0pO1xuICB9XG5cbiAgcHVibGljIGFkZEV4dHJhRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXNIYXZlRmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLm5hbWUgPT09IG5hbWU7XG4gICAgfSk7XG5cbiAgICBpZiAoaXNIYXZlRmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZCA9IHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICB0aXRsZTogJycsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICBleGFtcGxlOiAnJyxcbiAgICAgIGlzTWFuZGF0b3J5OiBYcHNCb29sZWFuLnRydWUsXG4gICAgICBpc1Zpc2libGU6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfSBhcyBGaWVsZDtcblxuICAgIHRoaXMuZmllbGRzLnB1c2goZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gbnVsbDtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzID0gbnVsbDtcbiAgICB0aGlzLmZvcm0gPSBudWxsO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5mb3JtRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuXG4gICAgdGhpcy50aHJlZURzU2VydmljZS5zdG9wQ2hlY2tpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZpbmFuY2VEZXRhaWxzKHN1bW1hcnk/OiBYcHNTdW1tYXJ5KTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZW1pdFdpdGhTdW1tYXJ5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q3JlZGl0Q2FyZFN0YXRlKGlkQ2FyZFR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5lbWl0KHsgaWRDYXJkVHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHNTdGF0dXM6IEZvcm1GaWVsZHNTdGF0dXMgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmNvbnRyb2xzW25hbWVdO1xuICAgICAgZm9ybUZpZWxkc1N0YXR1c1tuYW1lXSA9IHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmFsaWRhdGlvblN0YXR1czogY29udHJvbC5zdGF0dXMsXG4gICAgICAgIGVycm9yczogY29udHJvbC5lcnJvcnMsXG4gICAgICAgIGlzRm9jdXNlZDogdGhpcy5mb2N1c0ZpZWxkTmFtZSA9PT0gbmFtZSxcbiAgICAgICAgaXNUb3VjaGVkOiBjb250cm9sLnRvdWNoZWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtRmllbGRzU3RhdHVzU3ViamVjdC5uZXh0KGZvcm1GaWVsZHNTdGF0dXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybU1lc3NhZ2VzKG1lc3NhZ2VzPzogWHBzTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtTWVzc2FnZXNTZXJ2aWNlLmVtaXRPblJlc3BvbnNlKG1lc3NhZ2VzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBTeW5jU2VydmljZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBmaWVsZHM6IEZpZWxkW10pOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKGZvcm0sIGZpZWxkcyk7XG4gICAgdGhpcy5zeW5jU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0RmluYW5jZURldGFpbHMocmVzcG9uc2Uuc3VtbWFyeSk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyhyZXNwb25zZS5tZXNzYWdlcyk7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3luY1NlcnZpY2UuZmllbGRBc3luY1ZhbGlkYXRpb24kXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaWVsZEFzeW5jVmFsaWRhdGlvbikgPT4ge1xuICAgICAgICBzd2l0Y2ggKGZpZWxkQXN5bmNWYWxpZGF0aW9uLmZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBjYXNlIEZpZWxkTmFtZXMuY2FyZE51bWJlcjpcbiAgICAgICAgICAgIHRoaXMuZW1pdENyZWRpdENhcmRTdGF0ZShcbiAgICAgICAgICAgICAgZmllbGRBc3luY1ZhbGlkYXRpb24ucmVzcG9uc2UucGFyYW1ldGVycy5pZENhcmRUeXBlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRmluYW5jZURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpbmFuY2VEZXRhaWxzKSA9PiAodGhpcy5maW5hbmNlRGV0YWlscyA9IGZpbmFuY2VEZXRhaWxzKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvcm1TdGF0dXNDaGFuZ2VzKGZvcm06IFVudHlwZWRGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmZvcm1EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IEZvcm1Db250cm9sU3RhdHVzKSA9PiB7XG4gICAgICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXMoZm9ybSk7XG4gICAgICAgIHRoaXMuX3BheW1lbnRGb3JtJC5uZXh0KHN0YXR1cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIGluIGNhc2UgdGhlIGZvcm0gcGlkIGNoYW5nZXMgZGVzcGl0ZSB0aGUgb25lIHBhc3NlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb25cbiAgICogICovXG4gIHByaXZhdGUgdXBkYXRlUGlkQ29uZmlnKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQaWQgPSB0aGlzLmdldFBpZCgpO1xuICAgIGlmIChjdXJyZW50UGlkKSB7XG4gICAgICB0aGlzLmNvbmZpZy5wYXltZW50TWV0aG9kSWQgPSBjdXJyZW50UGlkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1SZXNwb25zZShkYXRhOiBGb3JtUmVzcG9uc2VbJ2RhdGEnXSk6IHZvaWQge1xuICAgIGxldCB0eXBlOiBGb3JtUmVzcG9uc2VbJ3R5cGUnXTtcbiAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEluaXRpYWxpemVSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdpbml0aWFsaXplJztcbiAgICB9IGVsc2UgaWYgKGRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgdHlwZSA9ICdzdWJtaXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlID0gJ3N5bmMnO1xuICAgIH1cbiAgICB0aGlzLl9mb3JtUmVzcG9uc2UkLm5leHQoe1xuICAgICAgdHlwZSxcbiAgICAgIGRhdGEsXG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBpc1NhbmRib3g6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzU2FuZGJveE1vZGUoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5pdGlhbGl6ZU1lc3NhZ2VzKCk6IFhwc01lc3NhZ2VbXSB7XG4gICAgY29uc3QgbWVzc2FnZXMgPSAodGhpcy5kYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSkucGF5bWVudEZvcm0/Lm1lc3NhZ2VzO1xuICAgIGNvbnN0IGtvcmVhTm90aWZpY2F0aW9uID0gKHRoaXMuZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpLnBheW1lbnRGb3JtXG4gICAgICA/LmtvcmVhTm90aWZpY2F0aW9uO1xuICAgIGlmIChrb3JlYU5vdGlmaWNhdGlvbikge1xuICAgICAgbWVzc2FnZXM/LnB1c2goeyBjb2RlOiAnMCcsIG1lc3NhZ2U6IGtvcmVhTm90aWZpY2F0aW9uPy50aXRsZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzID8/IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5BdXRvU3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5kYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZTtcbiAgICBpZiAoIXJlc3BvbnNlLnBheW1lbnRGb3JtKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgaXNSZWRpcmVjdE1ldGhvZCA9IHJlc3BvbnNlLnBheW1lbnRGb3JtLmlzQ2hlY2tvdXQ7XG4gICAgY29uc3QgY2FuU2tpcEZvcm0gPSByZXNwb25zZS5wYXltZW50Rm9ybS5za2lwRm9ybTtcbiAgICBjb25zdCB2aXNpYmxlRmllbGRzID0gcmVzcG9uc2UucGF5bWVudEZvcm0uZmllbGRzLmZpbHRlcihcbiAgICAgIChmaWVsZCkgPT4gZmllbGQuaXNWaXNpYmxlID09PSBYcHNCb29sZWFuLnRydWUgJiYgZmllbGQuaXNNYW5kYXRvcnlcbiAgICApO1xuICAgIGNvbnN0IHN1aXRhYmxlUGlkcyA9IFtnb29nbGVQYXlQaWRdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICghaXNSZWRpcmVjdE1ldGhvZCAmJiBjYW5Ta2lwRm9ybSkgfHxcbiAgICAgICh2aXNpYmxlRmllbGRzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBzdWl0YWJsZVBpZHMuaW5jbHVkZXMocmVzcG9uc2UucGF5bWVudEZvcm0ucGlkKSlcbiAgICApO1xuICB9XG59XG4iXX0=
414
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBRU4sT0FBTyxFQUNQLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQWVyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUlqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWFoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS2hGLE1BQU0sT0FBTyxjQUFjO0lBR3pCLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxD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LGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDekIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ25ELENBQUM7SUFDSixDQUFDOzhHQXZmVSxjQUFjO2tIQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgZmlsdGVyLFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vc3VibWl0L3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS9mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVJlc3BvbnNlIH0gZnJvbSAnLi9pbml0aWFsaXplL3Jlc3BvbnNlL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZVNlcnZpY2UgfSBmcm9tICcuL2luaXRpYWxpemUvaW5pdGlhbGl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VibWl0U2VydmljZSB9IGZyb20gJy4vc3VibWl0L3N1Ym1pdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi9zeW5jL3N5bmMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sQ29uZmlnIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnJztcbmltcG9ydCB7IENvbnRyb2xDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWcgfSBmcm9tICcuL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBpc1N1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi94cHMtYm9vbGVhbi5lbnVtJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuL2Zvcm0vdmFsaWRhdG9ycy92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBGb3JtRmllbGRzU3RhdHVzIH0gZnJvbSAnLi9mb3JtL2Zvcm0tZmllbGRzLXN0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGhyZWVEc1NlcnZpY2UgfSBmcm9tICcuL3RocmVlLWRzL3RocmVlLWRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4veHBzLWNvbWFuZC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4vZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2Zvcm0vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vZm9ybS1tZXNzYWdlcy9mb3JtLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzTWVzc2FnZSB9IGZyb20gJy4veHBzLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyeVNlcnZpY2UgfSBmcm9tICcuLi9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtc0luaXRpYWxEYXRhIH0gZnJvbSAnLi4vc2RrLXBheW1lbnQtc3lzdGVtcy9zZGstcGF5bWVudC1zeXN0ZW1zLWluaXRpYWwtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi9mb3JtLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuL2FjdGlvbnMvY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuaW1wb3J0IHsgQ29udHJvbFN0YXR1cyB9IGZyb20gJy4vZm9ybS9jb250cm9sLXN0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5pdGlhbGl6ZWRGb3JtIH0gZnJvbSAnLi9pbml0aWFsaXplZC1mb3JtLmludGVmYWNlJztcbmltcG9ydCB7IENhc2hQYXltZW50RGF0YSB9IGZyb20gJy4vY2FzaC1wYXltZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IFByaW50SW5zdHJ1Y3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4veHNvbGxhLW51bWJlci9hcGkvcHJpbnQtaW5zdHJ1Y3Rpb24vcHJpbnQtaW5zdHJ1Y3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBnb29nbGVQYXlQaWQgfSBmcm9tICcuLi9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LW1ldGhvZHMuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZm9ybUZpZWxkc1N0YXR1cyQoKTogT2JzZXJ2YWJsZTxGb3JtRmllbGRzU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkc1N0YXR1c1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoQm9vbGVhbikpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50Rm9ybSQoKTogT2JzZXJ2YWJsZTxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5fcGF5bWVudEZvcm0kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtUmVzcG9uc2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybVJlc3BvbnNlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhOiBJbml0aWFsaXplUmVzcG9uc2UgfCBTdWJtaXRSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZpbmFuY2VEZXRhaWxzOiBGaW5hbmNlRGV0YWlscyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZvY3VzRmllbGROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBmaWVsZHM6IEZpZWxkW10gPSBbXTtcbiAgcHJpdmF0ZSBjb25maWchOiBQYXltZW50Q29uZmlnO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BheW1lbnRGb3JtJCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtQ29udHJvbFN0YXR1cyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZHNTdGF0dXMgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybVJlc3BvbnNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Rm9ybVJlc3BvbnNlIHwgbnVsbD4oXG4gICAgbnVsbFxuICApO1xuXG4gIHByaXZhdGUgaXNTYXZpbmdNZXRob2RNb2RlID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbGl6ZVNlcnZpY2U6IEluaXRpYWxpemVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibWl0U2VydmljZTogU3VibWl0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWRpdENhcmRTdGF0ZVNlcnZpY2U6IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29uZmlnU2VydmljZTogQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aHJlZURzU2VydmljZTogVGhyZWVEc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWVzc2FnZXNTZXJ2aWNlOiBGb3JtTWVzc2FnZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I6IENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50SW5zdHJ1Y3Rpb25TZXJ2aWNlOiBQcmludEluc3RydWN0aW9uU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoY29uZmlnOiBQYXltZW50Q29uZmlnKTogUHJvbWlzZTxJbml0aWFsaXplZEZvcm0+IHtcbiAgICB0aGlzLmRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB0aGlzLmxpc3RlbkZpbmFuY2VEZXRhaWxzKCk7XG5cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmRhdGEgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTZXJ2aWNlLnJlcXVlc3QoY29uZmlnKTtcbiAgICB0aGlzLmVtaXRGb3JtUmVzcG9uc2UodGhpcy5kYXRhKTtcblxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5nZXRGaWVsZHMoKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmNyZWF0ZUZvcm0odGhpcy5maWVsZHMpO1xuXG4gICAgdGhpcy51cGRhdGVQaWRDb25maWcoKTtcbiAgICB0aGlzLnNldHVwU3luY1NlcnZpY2UodGhpcy5mb3JtLCB0aGlzLmZpZWxkcyk7XG4gICAgdGhpcy5saXN0ZW5Gb3JtU3RhdHVzQ2hhbmdlcyh0aGlzLmZvcm0pO1xuXG4gICAgY29uc3QgaXNOZWVkQXV0b1N1Ym1pdCA9IHRoaXMuY2FuQXV0b1N1Ym1pdCgpO1xuXG4gICAgaWYgKGlzTmVlZEF1dG9TdWJtaXQpIHtcbiAgICAgIGNvbnN0IG5leHRBY3Rpb24gPSBhd2FpdCB0aGlzLnN1Ym1pdCgpO1xuXG4gICAgICBpZiAobmV4dEFjdGlvbikge1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhuZXh0QWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyh0aGlzLmRhdGEucGF5bWVudEZvcm0/LnN1bW1hcnkpO1xuICAgIHRoaXMuZW1pdEZvcm1GaWVsZHNTdGF0dXModGhpcy5mb3JtKTtcblxuICAgIHRoaXMuZW1pdEZvcm1NZXNzYWdlcyh0aGlzLmdldEluaXRpYWxpemVNZXNzYWdlcygpKTtcblxuICAgIHJldHVybiB7XG4gICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLmZpbHRlcihcbiAgICAgICAgKGZpZWxkOiBGaWVsZCkgPT4gZmllbGQ/LmlzVmlzaWJsZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgICApLFxuICAgICAgaXNGb3JtQXV0b1N1Ym1pdHRlZDogaXNOZWVkQXV0b1N1Ym1pdCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdCgpOiBQcm9taXNlPE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZD4ge1xuICAgIGlmICghdGhpcy5mb3JtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Zvcm0gaXMgZW1wdHkhJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1NhdmluZ01ldGhvZE1vZGUgPSB0aGlzLmZpZWxkcy5zb21lKFxuICAgICAgKHsgbmFtZSwgdmFsdWUgfSkgPT5cbiAgICAgICAgbmFtZSA9PT0gJ3NhdmVQc0FjY291bnRPbmx5JyAmJiB2YWx1ZSA9PT0gWHBzQm9vbGVhbi50cnVlXG4gICAgKTtcbiAgICBjb25zdCBzdWJtaXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuc3VibWl0U2VydmljZS5yZXF1ZXN0KFxuICAgICAgdGhpcy5maWVsZHMsXG4gICAgICB0aGlzLmZvcm1cbiAgICApO1xuXG4gICAgdGhpcy5kYXRhID0gc3VibWl0UmVzcG9uc2U7XG4gICAgdGhpcy5lbWl0Rm9ybVJlc3BvbnNlKHRoaXMuZGF0YSk7XG5cbiAgICBpZiAoIXRoaXMuaXNTYXZpbmdNZXRob2RNb2RlKSB7XG4gICAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhzdWJtaXRSZXNwb25zZS5zdW1tYXJ5KTtcbiAgICB9XG4gICAgdGhpcy5lbWl0Rm9ybU1lc3NhZ2VzKHN1Ym1pdFJlc3BvbnNlLm1lc3NhZ2VzKTtcblxuICAgIC8vIEhhbmRsZSAzZHMgZmxvd1xuICAgIGlmIChcbiAgICAgIHN1Ym1pdFJlc3BvbnNlLmN1cnJlbnRDb21tYW5kID09PSBYcHNDb21tYW5kLmNyZWF0ZSAmJlxuICAgICAgc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy50aHJlZURTRm9ybVxuICAgICkge1xuICAgICAgdGhpcy5ydW5UaHJlZURzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmdldEZpZWxkcygpO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybVNlcnZpY2UuY3JlYXRlRm9ybSh0aGlzLmZpZWxkcyk7XG5cbiAgICB0aGlzLnN5bmNTZXJ2aWNlLnNldHVwKHRoaXMuZm9ybSwgdGhpcy5maWVsZHMpO1xuXG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZ2V0TmV4dEFjdGlvbihzdWJtaXRSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRzKCk6IEZpZWxkW10ge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5maWVsZHMgPz8gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ucGF5bWVudEZvcm0/LmZpZWxkcyA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb250cm9sU3RhdHVzKG5hbWU6IEZpZWxkTmFtZXMpOiBDb250cm9sU3RhdHVzIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybT8uZ2V0KG5hbWUpO1xuICAgIGlmICghY29udHJvbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBlcnJvcnM6IGNvbnRyb2wuZXJyb3JzLFxuICAgICAgc3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxEYXRhRm9yU2RrUGF5bWVudFN5c3RlbXMoKTogU2RrUGF5bWVudFN5c3RlbXNJbml0aWFsRGF0YSB7XG4gICAgaWYgKCFpc1N1Ym1pdFJlc3BvbnNlKHRoaXMuZGF0YSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2hvdWxkIHN1Ym1pdCBmb3JtIGZpcnN0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHRoaXMuZGF0YS5wYXJhbWV0ZXJzLmNoZWNrb3V0LmRhdGEuZGF0YSxcbiAgICAgIHNhbmRib3g6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzU2FuZGJveE1vZGUoKVxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgICBjb3VudHJ5OiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFFyQ29kZSgpOiBzdHJpbmcge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGEucGFyYW1ldGVycy5mb3JtLnFyLnRpdGxlO1xuICB9XG5cbiAgcHVibGljIGdldENhc2hQYXltZW50RGF0YSgpOiBDYXNoUGF5bWVudERhdGEge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2hJbnN0cnVjdGlvbkZpZWxkID0gdGhpcy5kYXRhLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSAncGF5bWVudF9pbnN0cnVjdGlvbidcbiAgICApO1xuXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgaXNDYXNoUGF5bWVudE1ldGhvZDogISFjYXNoSW5zdHJ1Y3Rpb25GaWVsZCxcbiAgICAgIHhzb2xsYU51bWJlcjogdGhpcy5kYXRhLnhzb2xsYU51bWJlci5hY2NvdW50WHNvbGxhLFxuICAgICAgcGlkOiB0aGlzLmRhdGEucGFyYW1ldGVycy5waWQsXG4gICAgICBwdWJsaWNJZDogdGhpcy5kYXRhLnBhcmFtZXRlcnMucHVibGljX2lkLFxuICAgICAgdGl0bGU6IHRoaXMuZGF0YS5wYXJhbWV0ZXJzLnRpdGxlLFxuICAgICAgcHJvamVjdE5hbWU6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnByb2plY3QubmFtZSxcbiAgICAgIGluc3RydWN0aW9uOiBjYXNoSW5zdHJ1Y3Rpb25GaWVsZD8udGl0bGUsXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcHJpbnRVcmw6IHRoaXMucHJpbnRJbnN0cnVjdGlvblNlcnZpY2UuZ2V0UHJpbnRJbnN0cnVjdGlvblVybChwYXJhbXMpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0UGlkKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGEgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgTnVtYmVyKFxuICAgICAgICAgIHRoaXMuZGF0YS5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdmaXhfcGlkJyk/LnZhbHVlXG4gICAgICAgICkgfHwgbnVsbFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgSW5pdGlhbGl6ZVJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBOdW1iZXIoXG4gICAgICAgICAgdGhpcy5kYXRhLnBheW1lbnRGb3JtPy5maWVsZHMuZmluZChcbiAgICAgICAgICAgIChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ2ZpeF9waWQnXG4gICAgICAgICAgKT8udmFsdWVcbiAgICAgICAgKSB8fCBudWxsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldFN1Ym1pdEJ1dHRvblRleHQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLnBhcmFtZXRlcnMuYnV5RGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgSW5pdGlhbGl6ZVJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLnBheW1lbnRGb3JtPy5idXlEYXRhLnZhbHVlID8/IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGNvbnN0IHN5bmNFcnJvcnMgPSB0aGlzLnN5bmNTZXJ2aWNlLmdldFN5bmNWYWxpZGF0aW9uRXJyb3JzKGZpZWxkKTtcblxuICAgIGlmIChzeW5jRXJyb3JzKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN5bmNFcnJvcnMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN5bmNTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBydW5UaHJlZURzKCk6IHZvaWQge1xuICAgIGlmICghaXNTdWJtaXRSZXNwb25zZSh0aGlzLmRhdGEpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Nob3VsZCBzdWJtaXQgZm9ybSBmaXJzdCcpO1xuICAgIH1cblxuICAgIHRoaXMudGhyZWVEc1NlcnZpY2UuY2hlY2tUaHJlZURzKHRoaXMuZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoKTogRmluYW5jZURldGFpbHMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWU6IHN0cmluZywgZm9ybVN0YXRlOiBGb3JtU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm1TZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKFxuICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgIHRoaXMuZmllbGRzLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIGZvcm1TdGF0ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRGb3JtU3RhdGUoZmllbGROYW1lOiBGaWVsZE5hbWVzKTogRm9ybVN0YXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVNlcnZpY2UuZ2V0RmllbGRGb3JtU3RhdGUoZmllbGROYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMoKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBpZiAoIWlzU3VibWl0UmVzcG9uc2UodGhpcy5kYXRhKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaG91bGQgc3VibWl0IGZvcm0gZmlyc3QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBwaWQ6IHRoaXMuY29uZmlnLnBheW1lbnRNZXRob2RJZCxcbiAgICAgIGludm9pY2U6IHBhcnNlSW50KHRoaXMuZGF0YS5maXhJbnZvaWNlID8/ICcnKSxcbiAgICAgIHNpZ25hdHVyZTogdGhpcy5kYXRhLnNpZ25hdHVyZSA/PyAnJyxcbiAgICAgIGxvY2FsZTpcbiAgICAgICAgdGhpcy5kYXRhLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gJ2xvY2FsZScpPy52YWx1ZSA/P1xuICAgICAgICAnZW4nLFxuICAgICAgaXNTYXZlUGF5bWVudEFjY291bnQ6IHRoaXMuaXNTYXZpbmdNZXRob2RNb2RlXG4gICAgICAgID8gWHBzQm9vbGVhbi50cnVlXG4gICAgICAgIDogWHBzQm9vbGVhbi5mYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbGlzdGVuRmluYWxTdGF0dXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBpbnZvaWNlIH0gPSBhd2FpdCB0aGlzLmdldFN0YXR1cygpO1xuXG4gICAgdGhpcy5zdGF0dXNTZXJ2aWNlXG4gICAgICAubGlzdGVuRmluYWxTdGF0dXMoaW52b2ljZSBhcyB1bmtub3duIGFzIG51bWJlcilcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgICAgdGhpcy5jaGVja1N0YXR1c0FjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YSgpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaWVsZENvbmZpZyhmaWVsZDogRmllbGQpOiBDb250cm9sQ29uZmlnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtPy5nZXQobmFtZSk7XG4gICAgZm9ybUNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VGaWVsZFN0YXRlKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0/LmdldChuYW1lKTtcblxuICAgIGlmICghdGhpcy5mb3JtIHx8ICFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuYmx1cjoge1xuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSW5wdXRFdmVudE5hbWUuZm9jdXM6IHtcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9jdXNGaWVsZE5hbWUgPSBuYW1lO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGb3JtRmllbGRzU3RhdHVzKHRoaXMuZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgYWRkRXh0cmFGaWVsZChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBpc0hhdmVGaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkKSA9PiB7XG4gICAgICByZXR1cm4gZmllbGQubmFtZSA9PT0gbmFtZTtcbiAgICB9KTtcblxuICAgIGlmIChpc0hhdmVGaWVsZCkge1xuICAgICAgdGhpcy5maWVsZHMgPSB0aGlzLmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkID0ge1xuICAgICAgbmFtZTogbmFtZSxcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGV4YW1wbGU6ICcnLFxuICAgICAgaXNNYW5kYXRvcnk6IFhwc0Jvb2xlYW4udHJ1ZSxcbiAgICAgIGlzVmlzaWJsZTogWHBzQm9vbGVhbi5mYWxzZSxcbiAgICB9IGFzIEZpZWxkO1xuXG4gICAgdGhpcy5maWVsZHMucHVzaChmaWVsZCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIHRoaXMuZmluYW5jZURldGFpbHMgPSBudWxsO1xuICAgIHRoaXMuZm9ybSA9IG51bGw7XG4gICAgdGhpcy5maWVsZHMgPSBbXTtcbiAgICB0aGlzLmZvcm1EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG5cbiAgICB0aGlzLnRocmVlRHNTZXJ2aWNlLnN0b3BDaGVja2luZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmluYW5jZURldGFpbHMoc3VtbWFyeT86IFhwc1N1bW1hcnkpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN1bW1hcnkoc3VtbWFyeSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDcmVkaXRDYXJkU3RhdGUoaWRDYXJkVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmVtaXQoeyBpZENhcmRUeXBlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybUZpZWxkc1N0YXR1cyhmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkc1N0YXR1czogRm9ybUZpZWxkc1N0YXR1cyA9IHt9O1xuXG4gICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm0uY29udHJvbHNbbmFtZV07XG4gICAgICBmb3JtRmllbGRzU3RhdHVzW25hbWVdID0ge1xuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICB2YWxpZGF0aW9uU3RhdHVzOiBjb250cm9sLnN0YXR1cyxcbiAgICAgICAgZXJyb3JzOiBjb250cm9sLmVycm9ycyxcbiAgICAgICAgaXNGb2N1c2VkOiB0aGlzLmZvY3VzRmllbGROYW1lID09PSBuYW1lLFxuICAgICAgICBpc1RvdWNoZWQ6IGNvbnRyb2wudG91Y2hlZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1GaWVsZHNTdGF0dXNTdWJqZWN0Lm5leHQoZm9ybUZpZWxkc1N0YXR1cyk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRGb3JtTWVzc2FnZXMobWVzc2FnZXM/OiBYcHNNZXNzYWdlW10pOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZW1pdE9uUmVzcG9uc2UobWVzc2FnZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFN5bmNTZXJ2aWNlKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIGZpZWxkczogRmllbGRbXSk6IHZvaWQge1xuICAgIHRoaXMuc3luY1NlcnZpY2Uuc2V0dXAoZm9ybSwgZmllbGRzKTtcbiAgICB0aGlzLnN5bmNTZXJ2aWNlLmRhdGEkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLmVtaXRGaW5hbmNlRGV0YWlscyhyZXNwb25zZS5zdW1tYXJ5KTtcbiAgICAgICAgdGhpcy5lbWl0Rm9ybU1lc3NhZ2VzKHJlc3BvbnNlLm1lc3NhZ2VzKTtcbiAgICAgICAgdGhpcy5lbWl0Rm9ybVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zeW5jU2VydmljZS5maWVsZEFzeW5jVmFsaWRhdGlvbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpZWxkQXN5bmNWYWxpZGF0aW9uKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoZmllbGRBc3luY1ZhbGlkYXRpb24uZmllbGQubmFtZSkge1xuICAgICAgICAgIGNhc2UgRmllbGROYW1lcy5jYXJkTnVtYmVyOlxuICAgICAgICAgICAgdGhpcy5lbWl0Q3JlZGl0Q2FyZFN0YXRlKFxuICAgICAgICAgICAgICBmaWVsZEFzeW5jVmFsaWRhdGlvbi5yZXNwb25zZS5wYXJhbWV0ZXJzLmlkQ2FyZFR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5GaW5hbmNlRGV0YWlscygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZmluYW5jZURldGFpbHMpID0+ICh0aGlzLmZpbmFuY2VEZXRhaWxzID0gZmluYW5jZURldGFpbHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9ybVN0YXR1c0NoYW5nZXMoZm9ybTogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZm9ybURlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogRm9ybUNvbnRyb2xTdGF0dXMpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0Rm9ybUZpZWxkc1N0YXR1cyhmb3JtKTtcbiAgICAgICAgdGhpcy5fcGF5bWVudEZvcm0kLm5leHQoc3RhdHVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLypcbiAgICogaW4gY2FzZSB0aGUgZm9ybSBwaWQgY2hhbmdlcyBkZXNwaXRlIHRoZSBvbmUgcGFzc2VkIGR1cmluZyBpbml0aWFsaXphdGlvblxuICAgKiAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVQaWRDb25maWcoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFBpZCA9IHRoaXMuZ2V0UGlkKCk7XG4gICAgaWYgKGN1cnJlbnRQaWQpIHtcbiAgICAgIHRoaXMuY29uZmlnLnBheW1lbnRNZXRob2RJZCA9IGN1cnJlbnRQaWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybVJlc3BvbnNlKGRhdGE6IEZvcm1SZXNwb25zZVsnZGF0YSddKTogdm9pZCB7XG4gICAgbGV0IHR5cGU6IEZvcm1SZXNwb25zZVsndHlwZSddO1xuICAgIGlmIChkYXRhIGluc3RhbmNlb2YgSW5pdGlhbGl6ZVJlc3BvbnNlKSB7XG4gICAgICB0eXBlID0gJ2luaXRpYWxpemUnO1xuICAgIH0gZWxzZSBpZiAoZGF0YSBpbnN0YW5jZW9mIFN1Ym1pdFJlc3BvbnNlKSB7XG4gICAgICB0eXBlID0gJ3N1Ym1pdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGUgPSAnc3luYyc7XG4gICAgfVxuICAgIHRoaXMuX2Zvcm1SZXNwb25zZSQubmV4dCh7XG4gICAgICB0eXBlLFxuICAgICAgZGF0YSxcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGlzU2FuZGJveDogdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNTYW5kYm94TW9kZSgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbml0aWFsaXplTWVzc2FnZXMoKTogWHBzTWVzc2FnZVtdIHtcbiAgICBjb25zdCBtZXNzYWdlcyA9ICh0aGlzLmRhdGEgYXMgSW5pdGlhbGl6ZVJlc3BvbnNlKS5wYXltZW50Rm9ybT8ubWVzc2FnZXM7XG4gICAgY29uc3Qga29yZWFOb3RpZmljYXRpb24gPSAodGhpcy5kYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSkucGF5bWVudEZvcm1cbiAgICAgID8ua29yZWFOb3RpZmljYXRpb247XG4gICAgaWYgKGtvcmVhTm90aWZpY2F0aW9uKSB7XG4gICAgICBtZXNzYWdlcz8ucHVzaCh7IGNvZGU6ICcwJywgbWVzc2FnZToga29yZWFOb3RpZmljYXRpb24/LnRpdGxlIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMgPz8gW107XG4gIH1cblxuICBwcml2YXRlIGNhbkF1dG9TdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLmRhdGEgYXMgSW5pdGlhbGl6ZVJlc3BvbnNlO1xuICAgIGlmICghcmVzcG9uc2UucGF5bWVudEZvcm0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBpc1JlZGlyZWN0TWV0aG9kID0gcmVzcG9uc2UucGF5bWVudEZvcm0uaXNDaGVja291dDtcbiAgICBjb25zdCBjYW5Ta2lwRm9ybSA9IHJlc3BvbnNlLnBheW1lbnRGb3JtLnNraXBGb3JtO1xuICAgIGNvbnN0IHZpc2libGVGaWVsZHMgPSByZXNwb25zZS5wYXltZW50Rm9ybS5maWVsZHMuZmlsdGVyKFxuICAgICAgKGZpZWxkKSA9PiBmaWVsZC5pc1Zpc2libGUgPT09IFhwc0Jvb2xlYW4udHJ1ZSAmJiBmaWVsZC5pc01hbmRhdG9yeVxuICAgICk7XG4gICAgY29uc3Qgc3VpdGFibGVQaWRzID0gW2dvb2dsZVBheVBpZF07XG5cbiAgICByZXR1cm4gKFxuICAgICAgKCFpc1JlZGlyZWN0TWV0aG9kICYmIGNhblNraXBGb3JtKSB8fFxuICAgICAgKHZpc2libGVGaWVsZHMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIHN1aXRhYmxlUGlkcy5pbmNsdWRlcyhyZXNwb25zZS5wYXltZW50Rm9ybS5waWQpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXBwbGVQYXlJbnRlZ3JhdGlvbiA9ICdzZGsnIHwgJ3JlZGlyZWN0JyB8ICdub25lJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXBwbGVQYXlJbnRlZ3JhdGlvbiA9ICdyZWRpcmVjdCcgfCAnbm9uZSc7XG4iXX0=
@@ -1,3 +1,2 @@
1
1
  export const applePayVersion = 3;
2
- export const safariVersionForIframeIntegration = 17;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFwcGxlUGF5VmVyc2lvbiA9IDM7XG5leHBvcnQgY29uc3Qgc2FmYXJpVmVyc2lvbkZvcklmcmFtZUludGVncmF0aW9uID0gMTc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXBwbGVQYXlWZXJzaW9uID0gMztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { Inject, Injectable } from '@angular/core';
3
- import { applePayVersion, safariVersionForIframeIntegration, } from './apple-pay.const';
3
+ import { applePayVersion } from './apple-pay.const';
4
4
  import { agreementsGroup } from '../../agreementsGroup.const';
5
5
  import { windowToken } from '../../window.token';
6
6
  import { FieldNames } from '../../payment/field-names.enum';
@@ -54,22 +54,27 @@ export class ApplePayService {
54
54
  return acc;
55
55
  }, {});
56
56
  const agreements = this.agreementFieldsNames
57
- .map((fieldName) => fields[fieldName])
58
- .filter(Boolean);
57
+ .map((fieldName) => [fieldName, fields[fieldName]])
58
+ .filter((fieldEntry) => {
59
+ const [, value] = fieldEntry;
60
+ return !!value;
61
+ });
59
62
  this.applePayParams = {
60
63
  tokenKey: this.getAppleToken(formFields),
61
- totalLabel: fields['label_applePay'] ?? '',
64
+ totalLabel: fields[FieldNames.labelApplePay] ?? '',
62
65
  totalAmount: this.getTotalAmount(summary),
63
66
  currencyCode: this.getTotalCurrency(summary),
64
- countryCode: fields['countryCode'] ?? '',
65
- merchantCapabilities: this.getJsonValueFromField(fields, 'merchantCapabilities'),
66
- supportedNetworks: this.getJsonValueFromField(fields, 'supportedNetworks'),
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),
67
72
  agreements: agreements,
68
- acquirer: fields['acquirer'] ?? '',
69
- isSandbox: fields['isSandbox'] ?? '',
70
- payInstanceAccountId: fields['payInstanceAccountId'] ?? '',
71
- getApplePaySessionUrl: fields['getApplePaySessionUrl'] ?? '',
72
- payViaCheckoutUrl: fields['payViaCheckoutUrl'] ?? '',
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] ?? '',
73
78
  };
74
79
  }
75
80
  async initLibrary(tokenKey) {
@@ -99,8 +104,10 @@ export class ApplePayService {
99
104
  ...parameters,
100
105
  merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
101
106
  supportedNetworks: JSON.stringify(parameters.supportedNetworks),
102
- token,
107
+ requiredBillingContactFields: JSON.stringify(parameters?.requiredBillingContactFields),
108
+ requiredShippingContactFields: JSON.stringify(parameters?.requiredShippingContactFields),
103
109
  agreements: JSON.stringify(parameters.agreements),
110
+ token,
104
111
  });
105
112
  if (this.order) {
106
113
  query.append('order', this.order);
@@ -124,71 +131,11 @@ export class ApplePayService {
124
131
  }, '');
125
132
  }
126
133
  }
127
- proceedCheckout(parameters) {
128
- if (!parameters) {
129
- return;
130
- }
131
- if (!this.paymentClient || !this.isDeviceCapable()) {
132
- console.warn('apple pay: device is not capable', this.paymentClient);
133
- this.emitError(ApplePayErrors.deviceIsNotCapableError);
134
- return;
135
- }
136
- try {
137
- const paymentRequest = this.paymentClient.createPaymentRequest({
138
- total: {
139
- label: parameters.totalLabel,
140
- amount: parameters.totalAmount,
141
- },
142
- currencyCode: parameters.currencyCode,
143
- countryCode: parameters.countryCode,
144
- merchantCapabilities: parameters.merchantCapabilities,
145
- supportedNetworks: parameters.supportedNetworks,
146
- });
147
- const session = new this.window.ApplePaySession(applePayVersion, paymentRequest);
148
- session.onvalidatemerchant = (event) => {
149
- console.info('apple pay: merchant validation', event);
150
- this.paymentClient
151
- ?.performValidation({
152
- validationURL: event.validationURL,
153
- displayName: parameters?.totalLabel,
154
- })
155
- .then((merchantSession) => {
156
- session.completeMerchantValidation(merchantSession);
157
- })
158
- .catch((error) => {
159
- console.error('apple pay: merchant validation error', error);
160
- this.emitError(ApplePayErrors.paymentError);
161
- session.abort();
162
- });
163
- };
164
- session.onpaymentauthorized = (event) => {
165
- console.info('apple pay: payment authorization', event);
166
- this.paymentClient
167
- ?.tokenize({
168
- token: event.payment.token,
169
- })
170
- .then((authorizationResponse) => {
171
- this.payment.next(authorizationResponse?.nonce ?? '');
172
- session.completePayment(this.window.ApplePaySession.STATUS_SUCCESS);
173
- })
174
- .catch((error) => {
175
- console.error('apple pay: payment authorization error', error);
176
- this.emitError(ApplePayErrors.paymentError);
177
- session.completePayment(this.window.ApplePaySession.STATUS_FAILURE);
178
- });
179
- };
180
- session.oncancel = (event) => {
181
- this.emitError(ApplePayErrors.paymentError);
182
- console.error('apple pay: user cancel payment', event);
183
- };
184
- session.begin();
185
- }
186
- catch (error) {
187
- console.error('apple pay: checkout error', error);
188
- this.emitError(ApplePayErrors.paymentError);
189
- }
190
- }
191
134
  isDeviceCapable() {
135
+ // Apple SDK is used on non-Safari devices.
136
+ // Support of ApplePay payments will be defined on the external PS4 page
137
+ if (!this.userAgentService.isSafari)
138
+ return true;
192
139
  try {
193
140
  return Boolean(this.window.ApplePaySession?.supportsVersion(applePayVersion) &&
194
141
  this.window.ApplePaySession?.canMakePayments());
@@ -254,10 +201,6 @@ export class ApplePayService {
254
201
  }
255
202
  this.integrationType.next(integrationType);
256
203
  }
257
- canUseSdk() {
258
- return !!(this.userAgentService.safariVersion &&
259
- this.userAgentService.safariVersion >= safariVersionForIframeIntegration);
260
- }
261
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 }); }
262
205
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
263
206
  }
@@ -270,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
270
213
  type: Inject,
271
214
  args: [windowToken]
272
215
  }] }, { type: i1.UserAgentService }, { type: i2.SummaryFinanceDetailsAdapterService }] });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsaUNBQWlDLEdBQ2xDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFHckcsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx1REFBdUQsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJ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cnQgeyBBcHBsZVBheSwgYXBwbGVQYXksIGNsaWVudCB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBhcHBsZVBheVZlcnNpb24sXG4gIHNhZmFyaVZlcnNpb25Gb3JJZnJhbWVJbnRlZ3JhdGlvbixcbn0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgYWdyZWVtZW50c0dyb3VwIH0gZnJvbSAnLi4vLi4vYWdyZWVtZW50c0dyb3VwLmNvbnN0JztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zIH0gZnJvbSAnLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IEFwcGxlUGF5RXJyb3JzIH0gZnJvbSAnLi9hcHBsZS1wYXkuZXJyb3JzLmVudW0nO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5SW50ZWdyYXRpb24gfSBmcm9tICcuL2FwcGxlLXBheS1pbnRlZ3JhdGlvbi50eXBlJztcbmltcG9ydCB7IHBhZ2VzUm91dGVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1yb3V0ZXMuY29uc3QnO1xuaW1wb3J0IHsgYXBwbGVQYXlJZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcGF5bWVudC1tZXRob2RzLWlkLmNvbnN0JztcbmltcG9ydCB7IEluaXRpYWxpemVSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgcGF5U3RhdGlvbjRVcmwsXG4gIHNhbmRib3hQYXlTdGF0aW9uVXJsLFxufSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcGF5LXN0YXRpb240LXVybC5jb25zdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFncmVlbWVudEZpZWxkc05hbWVzOiBzdHJpbmdbXSA9IGFncmVlbWVudHNHcm91cDtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yOiBTdWJqZWN0PEFwcGxlUGF5RXJyb3JzPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25UeXBlOiBTdWJqZWN0PEFwcGxlUGF5SW50ZWdyYXRpb24+ID1cbiAgICBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVncmF0aW9uVHlwZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUludGVncmF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZWdyYXRpb25UeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudFNlcnZpY2U6IFVzZXJBZ2VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5maWVsZHM7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuXG4gICAgaWYgKCFmb3JtRmllbGRzIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpZWxkcyA9IGZvcm1GaWVsZHMucmVkdWNlKFxuICAgICAgKGFjYzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgZmllbGQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYWdyZWVtZW50RmllbGRzTmFtZXMuaW5jbHVkZXMoZmllbGQubmFtZSkgJiZcbiAgICAgICAgICBmaWVsZC5pc1Zpc2libGUgPT09ICcxJ1xuICAgICAgICApIHtcbiAgICAgICAgICBhY2NbZmllbGQubmFtZV0gPSBmaWVsZC50aXRsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2NbZmllbGQubmFtZV0gPSBmaWVsZC52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3QgYWdyZWVtZW50cyA9IHRoaXMuYWdyZWVtZW50RmllbGRzTmFtZXNcbiAgICAgIC5tYXAoKGZpZWxkTmFtZSkgPT4gZmllbGRzW2ZpZWxkTmFtZSBhcyBrZXlvZiB0eXBlb2YgZmllbGRzXSBhcyBzdHJpbmcpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHtcbiAgICAgIHRva2VuS2V5OiB0aGlzLmdldEFwcGxlVG9rZW4oZm9ybUZpZWxkcyksXG4gICAgICB0b3RhbExhYmVsOiBmaWVsZHNbJ2xhYmVsX2FwcGxlUGF5J10gPz8gJycsXG4gICAgICB0b3RhbEFtb3VudDogdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KSxcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpLFxuICAgICAgY291bnRyeUNvZGU6IGZpZWxkc1snY291bnRyeUNvZGUnXSA/PyAnJyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZmllbGRzLFxuICAgICAgICAnbWVyY2hhbnRDYXBhYmlsaXRpZXMnXG4gICAgICApLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IHRoaXMuZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgICdzdXBwb3J0ZWROZXR3b3JrcydcbiAgICAgICksXG4gICAgICBhZ3JlZW1lbnRzOiBhZ3JlZW1lbnRzLFxuICAgICAgYWNxdWlyZXI6IGZpZWxkc1snYWNxdWlyZXInXSA/PyAnJyxcbiAgICAgIGlzU2FuZGJveDogZmllbGRzWydpc1NhbmRib3gnXSA/PyAnJyxcbiAgICAgIHBheUluc3RhbmNlQWNjb3VudElkOiBmaWVsZHNbJ3BheUluc3RhbmNlQWNjb3VudElkJ10gPz8gJycsXG4gICAgICBnZXRBcHBsZVBheVNlc3Npb25Vcmw6IGZpZWxkc1snZ2V0QXBwbGVQYXlTZXNzaW9uVXJsJ10gPz8gJycsXG4gICAgICBwYXlWaWFDaGVja291dFVybDogZmllbGRzWydwYXlWaWFDaGVja291dFVybCddID8/ICcnLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdExpYnJhcnkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcGkgPSBhd2FpdCB0aGlzLmFwaTtcbiAgICAgIGNvbnN0IGNsaWVudEluc3RhbmNlID0gYXdhaXQgYXBpLmNsaWVudC5jcmVhdGUoe1xuICAgICAgICBhdXRob3JpemF0aW9uOiB0b2tlbktleSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBhd2FpdCBhcGkuYXBwbGVQYXkuY3JlYXRlKHtcbiAgICAgICAgY2xpZW50OiBjbGllbnRJbnN0YW5jZSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IGluaXRpYWxpemUgZmFpbGVkJywgZXJyb3IpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZSgpO1xuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRDbGllbnQgfHwgIXRoaXMuaXNEZXZpY2VDYXBhYmxlKCkpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhblxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJvdXRlID0gcGFnZXNSb3V0ZXMuZ2V0KGFwcGxlUGF5SWQpO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLnN1cHBvcnRlZE5ldHdvcmtzKSxcbiAgICAgIHRva2VuLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZS5nZXRGaW5hbmNlRGV0YWlscyhzdW1tYXJ5KTtcblxuICAgIGlmIChmaW5hbmNlRGV0YWlscz8ucHVyY2hhc2UgJiYgZmluYW5jZURldGFpbHM/LmZpbmFuY2UpIHtcbiAgICAgIGNvbnN0IGNhcnRJdGVtcyA9IGZpbmFuY2VEZXRhaWxzLmNhcnRJdGVtcztcbiAgICAgIHRoaXMub3JkZXIgPSBjYXJ0SXRlbXM/LnJlZHVjZSgoY3VyciwgaXRlbSkgPT4ge1xuICAgICAgICBpZiAoY3Vycikge1xuICAgICAgICAgIHJldHVybiBjdXJyICsgYDsgJHtpdGVtLnRpdGxlfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VyciArIGl0ZW0udGl0bGU7XG4gICAgICB9LCAnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByb2NlZWRDaGVja291dChwYXJhbWV0ZXJzPzogQXBwbGVQYXlQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAoIXBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUoKSkge1xuICAgICAgY29uc29sZS53YXJuKCdhcHBsZSBwYXk6IGRldmljZSBpcyBub3QgY2FwYWJsZScsIHRoaXMucGF5bWVudENsaWVudCk7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5kZXZpY2VJc05vdENhcGFibGVFcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBheW1lbnRSZXF1ZXN0ID0gdGhpcy5wYXltZW50Q2xpZW50LmNyZWF0ZVBheW1lbnRSZXF1ZXN0KHtcbiAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICBsYWJlbDogcGFyYW1ldGVycy50b3RhbExhYmVsLFxuICAgICAgICAgIGFtb3VudDogcGFyYW1ldGVycy50b3RhbEFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVuY3lDb2RlOiBwYXJhbWV0ZXJzLmN1cnJlbmN5Q29kZSxcbiAgICAgICAgY291bnRyeUNvZGU6IHBhcmFtZXRlcnMuY291bnRyeUNvZGUsXG4gICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzLFxuICAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogcGFyYW1ldGVycy5zdXBwb3J0ZWROZXR3b3JrcyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzZXNzaW9uID0gbmV3IHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbihcbiAgICAgICAgYXBwbGVQYXlWZXJzaW9uLFxuICAgICAgICBwYXltZW50UmVxdWVzdFxuICAgICAgKTtcblxuICAgICAgc2Vzc2lvbi5vbnZhbGlkYXRlbWVyY2hhbnQgPSAoZXZlbnQ6IHsgdmFsaWRhdGlvblVSTDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdhcHBsZSBwYXk6IG1lcmNoYW50IHZhbGlkYXRpb24nLCBldmVudCk7XG4gICAgICAgIHRoaXMucGF5bWVudENsaWVudFxuICAgICAgICAgID8ucGVyZm9ybVZhbGlkYXRpb24oe1xuICAgICAgICAgICAgdmFsaWRhdGlvblVSTDogZXZlbnQudmFsaWRhdGlvblVSTCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBwYXJhbWV0ZXJzPy50b3RhbExhYmVsLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oKG1lcmNoYW50U2Vzc2lvbikgPT4ge1xuICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihtZXJjaGFudFNlc3Npb24pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignYXBwbGUgcGF5OiBtZXJjaGFudCB2YWxpZGF0aW9uIGVycm9yJywgZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMucGF5bWVudEVycm9yKTtcbiAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHNlc3Npb24ub25wYXltZW50YXV0aG9yaXplZCA9IChldmVudDogeyBwYXltZW50OiB7IHRva2VuOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnYXBwbGUgcGF5OiBwYXltZW50IGF1dGhvcml6YXRpb24nLCBldmVudCk7XG4gICAgICAgIHRoaXMucGF5bWVudENsaWVudFxuICAgICAgICAgID8udG9rZW5pemUoe1xuICAgICAgICAgICAgdG9rZW46IGV2ZW50LnBheW1lbnQudG9rZW4sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAudGhlbigoYXV0aG9yaXphdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBheW1lbnQubmV4dChhdXRob3JpemF0aW9uUmVzcG9uc2U/Lm5vbmNlID8/ICcnKTtcbiAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVQYXltZW50KHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbi5TVEFUVVNfU1VDQ0VTUyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IHBheW1lbnQgYXV0aG9yaXphdGlvbiBlcnJvcicsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLnBheW1lbnRFcnJvcik7XG4gICAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlUGF5bWVudCh0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24uU1RBVFVTX0ZBSUxVUkUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgc2Vzc2lvbi5vbmNhbmNlbCA9IChldmVudDogdW5rbm93bikgPT4ge1xuICAgICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5wYXltZW50RXJyb3IpO1xuICAgICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IHVzZXIgY2FuY2VsIHBheW1lbnQnLCBldmVudCk7XG4gICAgICB9O1xuXG4gICAgICBzZXNzaW9uLmJlZ2luKCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcGxlIHBheTogY2hlY2tvdXQgZXJyb3InLCBlcnJvcik7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5wYXltZW50RXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0RldmljZUNhcGFibGUoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbk5vbmNlRmllbGREYXRhKHRva2VuTm9uY2U6IHN0cmluZyk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgbmFtZSA9IEZpZWxkTmFtZXMudG9rZW5BcHBsZVBheTtcbiAgICBjb25zdCB2YWx1ZSA9IGJ0b2EodG9rZW5Ob25jZSk7XG4gICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIFhwc1Jlc3BvbnNlKT8uc3VtbWFyeTtcbiAgICBpZiAoIXRoaXMuYXBwbGVQYXlQYXJhbXMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLnRvdGFsQW1vdW50ID0gdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KTtcbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLmN1cnJlbmN5Q29kZSA9IHRoaXMuZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEJyYWludHJlZSgpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IGFwaSA9IGF3YWl0IGltcG9ydCgnYnJhaW50cmVlLXdlYicpO1xuXG4gICAgcmV0dXJuIGFwaTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBwbGVUb2tlbihmb3JtRmllbGRzOiBGaWVsZFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcHBsZVRva2VuRmllbGQgPSBmb3JtRmllbGRzLmZpbmQoKGZpZWxkKSA9PiB7XG4gICAgICByZXR1cm4gZmllbGQubmFtZSA9PT0gJ3Rva2VuX2tleSc7XG4gICAgfSk7XG5cbiAgICBpZiAoIWFwcGxlVG9rZW5GaWVsZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBhcHBsZVRva2VuRmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQW1vdW50KHN1bW1hcnk6IFhwc1Jlc3BvbnNlWydzdW1tYXJ5J10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbmFuY2UgPSBzdW1tYXJ5Py5maW5hbmNlO1xuICAgIGNvbnN0IHRvdGFsID0gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbC5hbW91bnQ7XG5cbiAgICByZXR1cm4gdG90YWw/LnRvU3RyaW5nKCkgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQ3VycmVuY3koc3VtbWFyeTogWHBzUmVzcG9uc2VbJ3N1bW1hcnknXSk6IHN0cmluZyB7XG4gICAgY29uc3QgZmluYW5jZSA9IHN1bW1hcnk/LmZpbmFuY2U7XG4gICAgcmV0dXJuIGZpbmFuY2U/LmdyYW5kX3RvdGFsPy5jdXJyZW5jeSA/PyBmaW5hbmNlPy50b3RhbD8uY3VycmVuY3kgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICBmaWVsZHM6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogc3RyaW5nXG4gICk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZE5hbWVdO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmaWVsZCA/IChKU09OLnBhcnNlKGZpZWxkKSBhcyBzdHJpbmdbXSkgOiB1bmRlZmluZWQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZSgpOiB2b2lkIHtcbiAgICBsZXQgaW50ZWdyYXRpb25UeXBlOiBBcHBsZVBheUludGVncmF0aW9uO1xuXG4gICAgaWYgKHRoaXMucGF5bWVudENsaWVudCAmJiB0aGlzLmlzRGV2aWNlQ2FwYWJsZSgpKSB7XG4gICAgICBpbnRlZ3JhdGlvblR5cGUgPSAncmVkaXJlY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnRlZ3JhdGlvblR5cGUgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUubmV4dChpbnRlZ3JhdGlvblR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5Vc2VTZGsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdGhpcy51c2VyQWdlbnRTZXJ2aWNlLnNhZmFyaVZlcnNpb24gJiZcbiAgICAgIHRoaXMudXNlckFnZW50U2VydmljZS5zYWZhcmlWZXJzaW9uID49IHNhZmFyaVZlcnNpb25Gb3JJZnJhbWVJbnRlZ3JhdGlvblxuICAgICk7XG4gIH1cbn1cbiJdfQ==
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==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2NoZWNrb3V0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlDaGVja291dFBhcmFtcyB7XG4gIHRvdGFsTGFiZWw6IHN0cmluZztcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBhZ3JlZW1lbnRzOiBzdHJpbmdbXTtcbiAgYWNxdWlyZXI6IHN0cmluZztcbiAgaXNTYW5kYm94OiBzdHJpbmc7XG4gIHBheUluc3RhbmNlQWNjb3VudElkOiBzdHJpbmc7XG4gIGdldEFwcGxlUGF5U2Vzc2lvblVybDogc3RyaW5nO1xuICBwYXlWaWFDaGVja291dFVybDogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2NoZWNrb3V0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlDaGVja291dFBhcmFtcyB7XG4gIHRvdGFsTGFiZWw6IHN0cmluZztcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBhZ3JlZW1lbnRzOiBzdHJpbmdbXVtdO1xuICBhY3F1aXJlcjogc3RyaW5nO1xuICBpc1NhbmRib3g6IHN0cmluZztcbiAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IHN0cmluZztcbiAgZ2V0QXBwbGVQYXlTZXNzaW9uVXJsOiBzdHJpbmc7XG4gIHBheVZpYUNoZWNrb3V0VXJsOiBzdHJpbmc7XG59XG4iXX0=