@xsolla/payment-client-core 0.2.96 → 0.2.97

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,4 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { isCreditCardSettingsGuard } from '../payment-configurations/types/is-credit-card-settings.guard';
3
+ import { externalVaultRefer } from '../../settings/refer.const';
2
4
  import * as i0 from "@angular/core";
3
5
  import * as i1 from "../../url/url.service";
4
6
  import * as i2 from "../../settings/settings.service";
@@ -16,6 +18,12 @@ export class PaymentConfigService {
16
18
  returnUrl: this.enrichReturnUrl(config.returnUrl, !!config.savePaymentMethod),
17
19
  };
18
20
  }
21
+ updateReferByPaymentConfiguration(config) {
22
+ if (isCreditCardSettingsGuard(config) &&
23
+ config.paymentMethodSettings?.useExternalVault) {
24
+ this.settingsService.refer = externalVaultRefer;
25
+ }
26
+ }
19
27
  enrichReturnUrl(returnUrl, savePaymentMethod) {
20
28
  const enrichedUrl = this.urlService.addSearchParams(returnUrl, {
21
29
  token: this.settingsService.token,
@@ -34,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
34
42
  providedIn: 'root',
35
43
  }]
36
44
  }], ctorParameters: () => [{ type: i1.UrlService }, { type: i2.SettingsService }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2NvbmZpZy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDbUIsVUFBc0IsRUFDdEIsZUFBZ0M7UUFEaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDaEQsQ0FBQztJQUVHLE1BQU0sQ0FBQyxNQUE0QjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUM3QixNQUFNLENBQUMsU0FBUyxFQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUNyQixTQUFpQixFQUNqQixpQkFBMEI7UUFFMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO1lBQzdELEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDakMsb0JBQW9CLEVBQUUsaUJBQWlCO2dCQUNyQyxDQUFDO2dCQUNELENBQUMsMkJBQWlCO1NBQ3JCLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBL0JVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0Jvb2xlYW4gfSBmcm9tICcuLi8uLi94cHMtYm9vbGVhbi5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZW5yaWNoKGNvbmZpZzogUGF5bWVudENvbmZpZ3VyYXRpb24pOiBQYXltZW50Q29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFjb25maWcucmV0dXJuVXJsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VSTCBpcyBub3QgcHJvdmlkZWQgaW4gcGF5bWVudCBjb25maWcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcmV0dXJuVXJsOiB0aGlzLmVucmljaFJldHVyblVybChcbiAgICAgICAgY29uZmlnLnJldHVyblVybCxcbiAgICAgICAgISFjb25maWcuc2F2ZVBheW1lbnRNZXRob2RcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZW5yaWNoUmV0dXJuVXJsKFxuICAgIHJldHVyblVybDogc3RyaW5nLFxuICAgIHNhdmVQYXltZW50TWV0aG9kOiBib29sZWFuXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZW5yaWNoZWRVcmwgPSB0aGlzLnVybFNlcnZpY2UuYWRkU2VhcmNoUGFyYW1zKHJldHVyblVybCwge1xuICAgICAgdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgaXNTYXZlUGF5bWVudEFjY291bnQ6IHNhdmVQYXltZW50TWV0aG9kXG4gICAgICAgID8gWHBzQm9vbGVhbi50cnVlXG4gICAgICAgIDogWHBzQm9vbGVhbi5mYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gZW5yaWNoZWRVcmw7XG4gIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2NvbmZpZy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBS2hFLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDbUIsVUFBc0IsRUFDdEIsZUFBZ0M7UUFEaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDaEQsQ0FBQztJQUVHLE1BQU0sQ0FBQyxNQUE0QjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUM3QixNQUFNLENBQUMsU0FBUyxFQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0saUNBQWlDLENBQUMsTUFBNEI7UUFDbkUsSUFDRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUM7WUFDakMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixFQUM5QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFTyxlQUFlLENBQ3JCLFNBQWlCLEVBQ2pCLGlCQUEwQjtRQUUxQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7WUFDN0QsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztZQUNqQyxvQkFBb0IsRUFBRSxpQkFBaUI7Z0JBQ3JDLENBQUM7Z0JBQ0QsQ0FBQywyQkFBaUI7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0F4Q1Usb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXJsU2VydmljZSB9IGZyb20gJy4uLy4uL3VybC91cmwuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3BheW1lbnQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uLy4uL3hwcy1ib29sZWFuLmVudW0nO1xuaW1wb3J0IHsgaXNDcmVkaXRDYXJkU2V0dGluZ3NHdWFyZCB9IGZyb20gJy4uL3BheW1lbnQtY29uZmlndXJhdGlvbnMvdHlwZXMvaXMtY3JlZGl0LWNhcmQtc2V0dGluZ3MuZ3VhcmQnO1xuaW1wb3J0IHsgZXh0ZXJuYWxWYXVsdFJlZmVyIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3MvcmVmZXIuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudENvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBlbnJpY2goY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvbik6IFBheW1lbnRDb25maWd1cmF0aW9uIHtcbiAgICBpZiAoIWNvbmZpZy5yZXR1cm5VcmwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVVJMIGlzIG5vdCBwcm92aWRlZCBpbiBwYXltZW50IGNvbmZpZycpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICByZXR1cm5Vcmw6IHRoaXMuZW5yaWNoUmV0dXJuVXJsKFxuICAgICAgICBjb25maWcucmV0dXJuVXJsLFxuICAgICAgICAhIWNvbmZpZy5zYXZlUGF5bWVudE1ldGhvZFxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVJlZmVyQnlQYXltZW50Q29uZmlndXJhdGlvbihjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgaXNDcmVkaXRDYXJkU2V0dGluZ3NHdWFyZChjb25maWcpICYmXG4gICAgICBjb25maWcucGF5bWVudE1ldGhvZFNldHRpbmdzPy51c2VFeHRlcm5hbFZhdWx0XG4gICAgKSB7XG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5yZWZlciA9IGV4dGVybmFsVmF1bHRSZWZlcjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVucmljaFJldHVyblVybChcbiAgICByZXR1cm5Vcmw6IHN0cmluZyxcbiAgICBzYXZlUGF5bWVudE1ldGhvZDogYm9vbGVhblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGVucmljaGVkVXJsID0gdGhpcy51cmxTZXJ2aWNlLmFkZFNlYXJjaFBhcmFtcyhyZXR1cm5VcmwsIHtcbiAgICAgIHRva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGlzU2F2ZVBheW1lbnRBY2NvdW50OiBzYXZlUGF5bWVudE1ldGhvZFxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIGVucmljaGVkVXJsO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRDb25maWd1cmF0aW9uIHtcbiAgdG9rZW46IHN0cmluZztcbiAgcmVmZXI6IG51bWJlcjtcbiAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50O1xuICBpc1dlYnZpZXc/OiBib29sZWFuO1xuICBzYW5kYm94PzogYm9vbGVhbjtcbiAgdG9wTGV2ZWxEb21haW4/OiBzdHJpbmc7XG4gIGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ/OiBib29sZWFuO1xuICBsb2NhbGU6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVmZXIgfSBmcm9tICcuL3JlZmVyLmNvbnN0JztcblxuZXhwb3J0IGludGVyZmFjZSBJbml0Q29uZmlndXJhdGlvbiB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHJlZmVyOiBSZWZlcjtcbiAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50O1xuICBpc1dlYnZpZXc/OiBib29sZWFuO1xuICBzYW5kYm94PzogYm9vbGVhbjtcbiAgdG9wTGV2ZWxEb21haW4/OiBzdHJpbmc7XG4gIGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ/OiBib29sZWFuO1xuICBsb2NhbGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export const defaultRefer = 23;
2
+ export const externalVaultRefer = 69;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXIuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZXR0aW5ncy9yZWZlci5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBkZWZhdWx0UmVmZXIgPSAyMztcblxuZXhwb3J0IGNvbnN0IGV4dGVybmFsVmF1bHRSZWZlciA9IDY5O1xuXG5leHBvcnQgdHlwZSBSZWZlciA9IHR5cGVvZiBkZWZhdWx0UmVmZXIgfCB0eXBlb2YgZXh0ZXJuYWxWYXVsdFJlZmVyO1xuIl19
@@ -94,6 +94,9 @@ export class SettingsService {
94
94
  get refer() {
95
95
  return this._refer;
96
96
  }
97
+ set refer(refer) {
98
+ this._refer = refer;
99
+ }
97
100
  async sendRequest(token) {
98
101
  const params = new HttpParams().set('access_token', token);
99
102
  this.secureApi.setSandboxMode(this.isSandboxMode());
@@ -108,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
108
111
  providedIn: 'root',
109
112
  }]
110
113
  }], ctorParameters: () => [{ type: i1.SecureApiClient }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBVXZFLE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQVcsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU87Z0JBQ0wsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7Z0JBQ3pCLG9CQUFvQixFQUFFLElBQUksQ0FB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VUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBZ0IsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7OEdBbElVLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IERlZXBSZWFkb25seSB9IGZyb20gJy4uL2RlZXAtcmVhZG9ubHkudHlwZSc7XG5pbXBvcnQgeyBJbml0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IgfSBmcm9tICcuL2VtcHR5LXV0aWxzLXJlc3BvbnNlLmVycm9yJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHVyY2hhc2UgfSBmcm9tICcuL3B1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVdGlsc1Jlc3BvbnNlIH0gZnJvbSAnLi91dGlscy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NTZXJ2aWNlIHtcbiAgcHVibGljIGdldCBwcm9qZWN0KCk6IERlZXBSZWFkb25seTxQcm9qZWN0PiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5wcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBwdXJjaGFzZSgpOiBEZWVwUmVhZG9ubHk8UHVyY2hhc2U+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLnB1cmNoYXNlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBEZWVwUmVhZG9ubHk8U2V0dGluZ3M+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc3BvbnNlPy5wdXJjaGFzZV9leHRlcm5hbF9pZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udGhpcy5yZXNwb25zZS5zZXR0aW5ncyxcbiAgICAgICAgcHVyY2hhc2VfZXh0ZXJuYWxfaWQ6IHRoaXMucmVzcG9uc2UucHVyY2hhc2VfZXh0ZXJuYWxfaWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlPy5zZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpOiBEZWVwUmVhZG9ubHk8VXNlcj4ge1xuICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UudXNlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXRpbHNSZXNwb25zZSgpOiBEZWVwUmVhZG9ubHk8VXRpbHNSZXNwb25zZT4ge1xuICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuc2FmZVV0aWxzUmVzcG9uc2UoKTogRGVlcFJlYWRvbmx5PFV0aWxzUmVzcG9uc2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdW5zYWZlVXNlcigpOiBEZWVwUmVhZG9ubHk8VXNlciB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8udXNlciA/PyBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCB1bnNhZmVQcm9qZWN0KCk6IERlZXBSZWFkb25seTxQcm9qZWN0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlPy5wcm9qZWN0ID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuc2FmZVNldHRpbmdzKCk6IERlZXBSZWFkb25seTxTZXR0aW5ncyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8uc2V0dGluZ3MgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucmVzcG9uc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNSZXNwb25zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlc3BvbnNlITogRGVlcFJlYWRvbmx5PFV0aWxzUmVzcG9uc2U+IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3Rva2VuID0gJyc7XG5cbiAgcHJpdmF0ZSBfdG9wTGV2ZWxEb21haW4/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2lzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzYW5kYm94TW9kZSA9IGZhbHNlO1xuICBwcml2YXRlIF9yZWZlciE6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudCkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghY29uZmlndXJhdGlvbi50b2tlbikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCd0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdG9rZW4gPSBjb25maWd1cmF0aW9uLnRva2VuO1xuICAgIHRoaXMuc2FuZGJveE1vZGUgPSAhIWNvbmZpZ3VyYXRpb24uc2FuZGJveDtcbiAgICB0aGlzLl9yZWZlciA9IGNvbmZpZ3VyYXRpb24ucmVmZXI7XG4gICAgdGhpcy5fdG9wTGV2ZWxEb21haW4gPSBjb25maWd1cmF0aW9uLnRvcExldmVsRG9tYWluO1xuICAgIHRoaXMuX2lzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPVxuICAgICAgISFjb25maWd1cmF0aW9uLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG5cbiAgICBhd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHRoaXMudG9rZW4pO1xuXG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9wTGV2ZWxEb21haW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdG9wTGV2ZWxEb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNTYW5kYm94TW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zYW5kYm94TW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmZXI7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlbmRSZXF1ZXN0KHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnYWNjZXNzX3Rva2VuJywgdG9rZW4pO1xuXG4gICAgdGhpcy5zZWN1cmVBcGkuc2V0U2FuZGJveE1vZGUodGhpcy5pc1NhbmRib3hNb2RlKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkuZ2V0PFV0aWxzUmVzcG9uc2U+KCd1dGlscycsIHsgcGFyYW1zIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBV3ZFLE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQVcsT0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU87Z0JBQ0wsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7Z0JBQ3pCLG9CQUFvQixFQUFFLElBQUksQ0FB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Q0FBQztJQUN0QixDQUFDO0lBRU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sY0FBYyxDQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBZ0IsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7OEdBdElVLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IERlZXBSZWFkb25seSB9IGZyb20gJy4uL2RlZXAtcmVhZG9ubHkudHlwZSc7XG5pbXBvcnQgeyBJbml0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IgfSBmcm9tICcuL2VtcHR5LXV0aWxzLXJlc3BvbnNlLmVycm9yJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzIH0gZnJvbSAnLi9zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHVyY2hhc2UgfSBmcm9tICcuL3B1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVdGlsc1Jlc3BvbnNlIH0gZnJvbSAnLi91dGlscy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVmZXIgfSBmcm9tICcuL3JlZmVyLmNvbnN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZSB7XG4gIHB1YmxpYyBnZXQgcHJvamVjdCgpOiBEZWVwUmVhZG9ubHk8UHJvamVjdD4ge1xuICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgdGhyb3cgbmV3IEVtcHR5VXRpbHNSZXNwb25zZUVycm9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2UucHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHVyY2hhc2UoKTogRGVlcFJlYWRvbmx5PFB1cmNoYXNlPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZS5wdXJjaGFzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogRGVlcFJlYWRvbmx5PFNldHRpbmdzPiB7XG4gICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICB0aHJvdyBuZXcgRW1wdHlVdGlsc1Jlc3BvbnNlRXJyb3IoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXNwb25zZT8ucHVyY2hhc2VfZXh0ZXJuYWxfaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnRoaXMucmVzcG9uc2Uuc2V0dGluZ3MsXG4gICAgICAgIHB1cmNoYXNlX2V4dGVybmFsX2lkOiB0aGlzLnJlc3BvbnNlLnB1cmNoYXNlX2V4dGVybmFsX2lkLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8uc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXIoKTogRGVlcFJlYWRvbmx5PFVzZXI+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlLnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHV0aWxzUmVzcG9uc2UoKTogRGVlcFJlYWRvbmx5PFV0aWxzUmVzcG9uc2U+IHtcbiAgICBpZiAoIXRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRocm93IG5ldyBFbXB0eVV0aWxzUmVzcG9uc2VFcnJvcigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGdldCB1bnNhZmVVdGlsc1Jlc3BvbnNlKCk6IERlZXBSZWFkb25seTxVdGlsc1Jlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuc2FmZVVzZXIoKTogRGVlcFJlYWRvbmx5PFVzZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U/LnVzZXIgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdW5zYWZlUHJvamVjdCgpOiBEZWVwUmVhZG9ubHk8UHJvamVjdCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZT8ucHJvamVjdCA/PyBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCB1bnNhZmVTZXR0aW5ncygpOiBEZWVwUmVhZG9ubHk8U2V0dGluZ3MgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U/LnNldHRpbmdzID8/IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90b2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUmVzcG9uc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZXNwb25zZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZXNwb25zZSE6IERlZXBSZWFkb25seTxVdGlsc1Jlc3BvbnNlPiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF90b2tlbiA9ICcnO1xuXG4gIHByaXZhdGUgX3RvcExldmVsRG9tYWluPzogc3RyaW5nO1xuICBwcml2YXRlIF9pc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgc2FuZGJveE1vZGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVmZXIhOiBSZWZlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudCkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghY29uZmlndXJhdGlvbi50b2tlbikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCd0b2tlbiBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fdG9rZW4gPSBjb25maWd1cmF0aW9uLnRva2VuO1xuICAgIHRoaXMuc2FuZGJveE1vZGUgPSAhIWNvbmZpZ3VyYXRpb24uc2FuZGJveDtcbiAgICB0aGlzLl9yZWZlciA9IGNvbmZpZ3VyYXRpb24ucmVmZXI7XG4gICAgdGhpcy5fdG9wTGV2ZWxEb21haW4gPSBjb25maWd1cmF0aW9uLnRvcExldmVsRG9tYWluO1xuICAgIHRoaXMuX2lzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPVxuICAgICAgISFjb25maWd1cmF0aW9uLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG5cbiAgICBhd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KHRoaXMudG9rZW4pO1xuXG4gICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9wTGV2ZWxEb21haW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdG9wTGV2ZWxEb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgaXNTYW5kYm94TW9kZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zYW5kYm94TW9kZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmZXIoKTogUmVmZXIge1xuICAgIHJldHVybiB0aGlzLl9yZWZlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmVmZXIocmVmZXI6IFJlZmVyKSB7XG4gICAgdGhpcy5fcmVmZXIgPSByZWZlcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VuZFJlcXVlc3QodG9rZW46IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdhY2Nlc3NfdG9rZW4nLCB0b2tlbik7XG5cbiAgICB0aGlzLnNlY3VyZUFwaS5zZXRTYW5kYm94TW9kZSh0aGlzLmlzU2FuZGJveE1vZGUoKSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnNlY3VyZUFwaS5nZXQ8VXRpbHNSZXNwb25zZT4oJ3V0aWxzJywgeyBwYXJhbXMgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -117,6 +117,7 @@ export class CoreLibraryService {
117
117
  }
118
118
  createPayment(config) {
119
119
  const enrichedConfig = this.paymentConfigService.enrich(config);
120
+ this.paymentConfigService.updateReferByPaymentConfiguration(enrichedConfig);
120
121
  return {
121
122
  initialize: async () => this.paymentService.initialize(enrichedConfig),
122
123
  submit: async () => this.paymentService.submit(),
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
200
201
  providedIn: 'root',
201
202
  }]
202
203
  }], ctorParameters: () => [{ type: i1.SettingsService }, { type: i2.LoggerService }, { type: i3.CountryService }, { type: i4.PaymentMethodsService }, { type: i5.SavedMethodsService }, { type: i6.UserBalanceService }, { type: i7.PaymentConfigService }, { type: i8.PaymentService }, { type: i9.DeviceFingerPrintService }, { type: i10.FinanceDetailsService }, { type: i11.LegalService }, { type: i12.StatusService }, { type: i13.NextActionService }, { type: i14.CreditCardService }, { type: i15.CreditCardStateService }, { type: i16.FormMessagesService }, { type: i17.EditSavedMethodsService }, { type: i18.UserBehaviourAnalyticsService }, { type: i19.PerformanceService }, { type: i20.CombinedPaymentMethodsService }, { type: i21.CountriesApiService }, { type: i22.SendInstructionService }, { type: i23.ScriptTrackerService }, { type: i24.TranslateService }, { type: i25.CommonLogAttributesService }] });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdEM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFDbUIsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsb0JBQTBDLEVBQzFDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGlCQUFvQyxFQUNwQyxzQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsa0JBQXNDLEVBQ3RDLDZCQUE0RCxFQUM1RCxtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLG9CQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsMEJBQXNEO1FBeEJ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FB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QUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsNEJBQTRCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQzs4R0F0T1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluaXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2QgfSBmcm9tICcuL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCYWxhbmNlUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iYWxhbmNlL3VzZXItYmFsYW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50U2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50IH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsU2VydmljZSB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FsQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkVHlwZXMgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbnB1dEV2ZW50TmFtZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0vaW5wdXQtZXZlbnQuZW51bSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybVN0YXRlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWxhbmNlIH0gZnJvbSAnLi9jb3JlL3NldHRpbmdzL2JhbGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtLW1lc3NhZ2VzL2Zvcm0tbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9lZGl0LXNhdmVkLW1ldGhvZHMvZWRpdC1zYXZlZC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTdGF0dXMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZGtQYXltZW50U3lzdGVtcyB9IGZyb20gJy4vY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL3Nkay1wYXltZW50LXN5c3RlbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1SZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQZXJmb3JtYW5jZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGVyZm9ybWFuY2UvcGVyZm9ybWFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBDb21iaW5lZFBheW1lbnRNZXRob2RzIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvbWJpbmVkLXBheW1lbnQtbWV0aG9kcy9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJpZXNBcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NvdW50cmllcy1hcGkvY291bnRyaWVzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvdW50cnlSZXNwb25zZSB9IGZyb20gJy4vY29yZS9jb3VudHJpZXMtYXBpL2NvdW50cnktcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhc2hQYXltZW50RGF0YSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Nhc2gtcGF5bWVudC1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vc2VuZC1pbnN0cnVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlIH0gZnJvbSAnLi9jb3JlL3hzb2xsYS1udW1iZXIvYXBpL3NlbmQtaW5zdHJ1Y3Rpb24vcmVzcG9uc2Uvc2VuZC1pbnN0cnVjdGlvbi1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZSB9IGZyb20gJy4vY29yZS94c29sbGEtbnVtYmVyL2FwaS9zZW5kLWluc3RydWN0aW9uL3NlbmQtaW5zdHJ1Y3Rpb24tcGFyYW1ldGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2NyaXB0VHJhY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2NyaXB0LXRyYWNrZXIvc2NyaXB0LXRyYWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgWHBzU3VtbWFyeSB9IGZyb20gJy4vY29yZS9wYXltZW50L3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlSGVscGVyIH0gZnJvbSAnLi9zaGFyZWQvdHJhbnNsYXRlL3RyYW5zbGF0ZS5oZWxwZXInO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTG9nQXR0cmlidXRlcyB9IGZyb20gJy4vY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2NvbW1vbi1sb2ctYXR0cmlidXRlcy9jb21tb24tbG9nLWF0dHJpYnV0ZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ0hhbmRsZXIgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nLWhhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzRXJyb3IgfSBmcm9tICcuL2NvcmUvcGF5bWVudC94cHMtZXJyb3IuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoaXNTYXZlTWV0aG9kTW9kZSksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8Q29tYmluZWRQYXltZW50TWV0aG9kcz4gPT5cbiAgICAgIHRoaXMuY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2UuZ2V0Q29tYmluZWRQYXltZW50TWV0aG9kcygpLFxuICAgIGdldFVzZXJCYWxhbmNlOiBhc3luYyAoKTogUHJvbWlzZTxVc2VyQmFsYW5jZVJlc3BvbnNlPiA9PlxuICAgICAgdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2UoKSxcbiAgICBkZWxldGVTYXZlZE1ldGhvZDogYXN5bmMgKGlkOiBudW1iZXIsIHR5cGU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICAgIHRoaXMuZWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UuZGVsZXRlU2F2ZWRNZXRob2RSZXF1ZXN0KGlkLCB0eXBlKSxcbiAgfTtcblxuICBwdWJsaWMgc2RrUGF5bWVudFN5c3RlbXM6IFNka1BheW1lbnRTeXN0ZW1zID0ge1xuICAgIGdldEluaXRpYWxEYXRhOiBhc3luYyAoKSA9PlxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRJbml0aWFsRGF0YUZvclNka1BheW1lbnRTeXN0ZW1zKCksXG4gIH07XG5cbiAgcHVibGljIGZpbmFuY2UgPSB7XG4gICAgZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5OiAoc3VtbWFyeTogWHBzU3VtbWFyeSk6IEZpbmFuY2VEZXRhaWxzID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5nZXREZXRhaWxzRnJvbVN1bW1hcnkoc3VtbWFyeSk7XG4gICAgfSxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50TWV0aG9kc1NlcnZpY2U6IFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVkTWV0aG9kc1NlcnZpY2U6IFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmFsYW5jZVNlcnZpY2U6IFVzZXJCYWxhbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRDb25maWdTZXJ2aWNlOiBQYXltZW50Q29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c1NlcnZpY2U6IFN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU2VydmljZTogQ3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVkaXRDYXJkU3RhdGVTZXJ2aWNlOiBDcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1lc3NhZ2VzU2VydmljZTogRm9ybU1lc3NhZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlOiBFZGl0U2F2ZWRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcmZvcm1hbmNlU2VydmljZTogUGVyZm9ybWFuY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tYmluZWRQYXltZW50TWV0aG9kc1NlcnZpY2U6IENvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyaWVzQXBpU2VydmljZTogQ291bnRyaWVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbmRJbnN0cnVjdGlvblNlcnZpY2U6IFNlbmRJbnN0cnVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRUcmFja2VyU2VydmljZTogU2NyaXB0VHJhY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2U6IENvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgaW5pdChjb25maWd1cmF0aW9uOiBJbml0Q29uZmlndXJhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmluaXQoY29uZmlndXJhdGlvbik7XG4gICAgdGhpcy5wZXJmb3JtYW5jZVNlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UuaW5pdCgpO1xuICAgIHRoaXMuZGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnNjcmlwdFRyYWNrZXJTZXJ2aWNlLmluaXRTY3JpcHRUcmFja2luZyhjb25maWd1cmF0aW9uLmVudmlyb25tZW50KTtcbiAgICBUcmFuc2xhdGVIZWxwZXIuaW5pdCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UoVHJhbnNsYXRlSGVscGVyLmdldExvY2FsZShjb25maWd1cmF0aW9uLmxvY2FsZSkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1cyh1cmw/OiBzdHJpbmcpOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNhbGN1bGF0ZUZpZWxkKFxuICAgIGNoYW5nZWRGaWVsZDogRmllbGQsXG4gICAgZmllbGRzOiBGaWVsZFtdXG4gICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuY2FsY3VsYXRlRmllbGQoY2hhbmdlZEZpZWxkLCBmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN1Ym1pdChmaWVsZHM6IEZpZWxkW10pOiBQcm9taXNlPHtcbiAgICByZXNwb25zZTogU3VibWl0UmVzcG9uc2U7XG4gICAgbmV4dEFjdGlvbjogTmV4dEFjdGlvbiB8IG51bGwgfCB2b2lkO1xuICB9PiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0V2l0aEZpZWxkcyhmaWVsZHMpO1xuICB9XG5cbiAgcHVibGljIHNlbmRBbmFseXRpY3MoXG4gICAgYWN0aW9uOiBzdHJpbmcsXG4gICAgdHlwZToga2V5b2YgdHlwZW9mIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLFxuICAgIG9wdGlvbnM/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlXG4gICk6IHZvaWQge1xuICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChhY3Rpb24sIHR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldFFyQ29kZUluaXRpYWxEYXRhKCk6IHtcbiAgICBxckNvZGU6IHN0cmluZztcbiAgICBwaWQ6IG51bWJlciB8IG51bGw7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBxckNvZGU6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UXJDb2RlKCksXG4gICAgICBwaWQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGlkKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNoUGF5bWVudERhdGEoKTogQ2FzaFBheW1lbnREYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5nZXRDYXNoUGF5bWVudERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZW5kWHNvbGxhTnVtYmVyV2l0aEVtYWlsKFxuICAgIHBhcmFtczogU2VuZEluc3RydWN0aW9uUGFyYW1ldGVyc0ludGVyZmFjZVxuICApOiBQcm9taXNlPFNlbmRJbnN0cnVjdGlvblJlc3BvbnNlSW50ZXJmYWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEluc3RydWN0aW9uU2VydmljZS5zZW5kSW5zdHJ1Y3Rpb25XaXRoRW1haWwocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZW5kWHNvbGxhTnVtYmVyV2l0aFNtcyhcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2VcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aFNtcyhwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENvdW50cmllcygpOiBQcm9taXNlPENvdW50cnlSZXNwb25zZVsnY291bnRyeUxpc3QnXT4ge1xuICAgIHJldHVybiB0aGlzLmNvdW50cmllc0FwaVNlcnZpY2UucmVxdWVzdCgpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUGF5bWVudChjb25maWc6IFBheW1lbnRDb25maWd1cmF0aW9uKTogUGF5bWVudCB7XG4gICAgY29uc3QgZW5yaWNoZWRDb25maWcgPSB0aGlzLnBheW1lbnRDb25maWdTZXJ2aWNlLmVucmljaChjb25maWcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWxpemU6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuaW5pdGlhbGl6ZShlbnJpY2hlZENvbmZpZyksXG4gICAgICBzdWJtaXQ6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2Uuc3VibWl0KCksXG4gICAgICBnZXRGaWVsZHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRzKCksXG4gICAgICBnZXRQaWQ6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGlkKCksXG4gICAgICBnZXRTdWJtaXRCdXR0b25UZXh0OiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFN1Ym1pdEJ1dHRvblRleHQoKSxcbiAgICAgIHZhbGlkYXRlOiBhc3luYyAoZmllbGQ6IEZpZWxkKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKSxcbiAgICAgIGdldEZpbmFuY2VEZXRhaWxzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKCksXG4gICAgICBydW5UaHJlZURzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnJ1blRocmVlRHMoKSxcbiAgICAgIGdldFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdGF0dXMoKSxcbiAgICAgIGxpc3RlbkZpbmFsU3RhdHVzOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmxpc3RlbkZpbmFsU3RhdHVzKCksXG4gICAgICBmaW5hbmNlRGV0YWlsc1VwZGF0ZXMkOiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJCxcbiAgICAgIGZvcm06IHtcbiAgICAgICAgZmllbGRzU3RhdHVzJDogdGhpcy5wYXltZW50U2VydmljZS5mb3JtRmllbGRzU3RhdHVzJCxcbiAgICAgICAgZ2V0Q29udHJvbENvbmZpZzogKGZpZWxkOiBGaWVsZCkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkQ29uZmlnKGZpZWxkKSxcbiAgICAgICAgY2hhbmdlRmllbGRWYWx1ZTogKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkVmFsdWUobmFtZSwgdmFsdWUpLFxuICAgICAgICBleHRlcm5hbENoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBGaWVsZE5hbWVzLCB2YWx1ZTogc3RyaW5nKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgY2hhbmdlRmllbGRTdGF0ZTogKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRTdGF0ZShuYW1lLCBzdGF0ZSksXG4gICAgICAgIHVwZGF0ZUZpZWxkRm9ybVN0YXRlOiAoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UudXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lLCBmb3JtU3RhdGUpLFxuICAgICAgICBnZXRGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogRmllbGROYW1lcykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSksXG4gICAgICAgIGZvcm1NZXNzYWdlcyQ6IHRoaXMuZm9ybU1lc3NhZ2VzU2VydmljZS5kYXRhJCxcbiAgICAgICAgY2FyZFR5cGVVcGRhdGVzJDogdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkLFxuICAgICAgICBnZXRGb3JtU3RhdHVzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm0/LnN0YXR1cyxcbiAgICAgICAgZ2V0Q29udHJvbFN0YXR1czogKG5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRDb250cm9sU3RhdHVzKG5hbWUpLFxuICAgICAgfSxcbiAgICAgIGFkZEV4dHJhRmllbGQ6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkID0+XG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuYWRkRXh0cmFGaWVsZChuYW1lLCB2YWx1ZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDcmVkaXRDYXJkU2VydmljZSgpOiBDcmVkaXRDYXJkIHtcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0VHlwZUJ5TnVtYmVyOiAoY2FyZE51bWJlcjogc3RyaW5nKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldFR5cGVCeU51bWJlcihjYXJkTnVtYmVyKSxcbiAgICAgIGdldENyZWRpdENhcmRTZXR0aW5nczogKGNhcmRUeXBlOiBDcmVkaXRDYXJkVHlwZXMpID0+XG4gICAgICAgIHRoaXMuY3JlZGl0Q2FyZFNlcnZpY2UuZ2V0Q3JlZGl0Q2FyZFNldHRpbmdzKGNhcmRUeXBlKSxcbiAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBmbG93VXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxOZXh0QWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZmxvd1VwZGF0ZXMkO1xuICB9XG5cbiAgcHVibGljIGdldCBmaW5hbmNlRGV0YWlsc1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8RmluYW5jZURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcmRUeXBlVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxDcmVkaXRDYXJkU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZD86IG51bWJlcik6IExlZ2FsQ29tcG9uZW50Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5sZWdhbFNlcnZpY2UuZ2V0TGVnYWxDb21wb25lbnRDb25maWcocGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyQmFsYW5jZVZhbHVlKCk6IEJhbGFuY2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2VWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyTG9nSGFuZGxlcihoYW5kbGVyOiBMb2dIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLnJlZ2lzdGVyKGhhbmRsZXIpO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93RXJyb3JzKGVycm9yczogWHBzRXJyb3JbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudEZvcm0kKCk6IE9ic2VydmFibGU8Rm9ybUNvbnRyb2xTdGF0dXMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UucGF5bWVudEZvcm0kO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2UkKCk6IE9ic2VydmFibGU8Rm9ybVJlc3BvbnNlIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm1SZXNwb25zZVZhbHVlKCk6IEZvcm1SZXNwb25zZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1SZXNwb25zZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3BMZXZlbERvbWFpbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS50b3BMZXZlbERvbWFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UuaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tbW9uTG9nQXR0cmlidXRlcygpOiBDb21tb25Mb2dBdHRyaWJ1dGVzIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZS5nZXRBdHRyaWJ1dGVzKCk7XG4gIH1cbn1cbiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdEM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFDbUIsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDNUIsY0FBOEIsRUFDOUIscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsb0JBQTBDLEVBQzFDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNsRCxxQkFBNEMsRUFDNUMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGlCQUFvQyxFQUNwQyxzQkFBOEMsRUFDOUMsbUJBQXdDLEVBQ3hDLHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsa0JBQXNDLEVBQ3RDLDZCQUE0RCxFQUM1RCxtQkFBd0MsRUFDeEMsc0JBQThDLEVBQzlDLG9CQUEwQyxFQUMxQyxnQkFBa0MsRUFDbEMsMEJBQXNEO1FBeEJ0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FB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LE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBa0I7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLDRCQUE0QjtRQUNyQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pELENBQUM7OEdBeE9VLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4vY29yZS9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2UtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudCB9IGZyb20gJy4vY29yZS9wYXltZW50L3BheW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERldmljZUZpbmdlclByaW50U2VydmljZSB9IGZyb20gJy4vY29yZS9kZXZpY2UtZmluZ2VyLXByaW50L2RldmljZS1maW5nZXItcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhbFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhbENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vY29yZS9sZWdhbC9sZWdhbC5jb21wb25lbnQuY29uZmlnJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFR5cGVzIH0gZnJvbSAnLi9jb3JlL2NyZWRpdC1jYXJkL2NyZWRpdC1jYXJkLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZCB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW5wdXRFdmVudE5hbWUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2lucHV0LWV2ZW50LmVudW0nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZvcm1TdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0vZm9ybS1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFsYW5jZSB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9iYWxhbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS1tZXNzYWdlcy9mb3JtLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvZWRpdC1zYXZlZC1tZXRob2RzL2VkaXQtc2F2ZWQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sU3RhdHVzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2RrUGF5bWVudFN5c3RlbXMgfSBmcm9tICcuL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9zZGstcGF5bWVudC1zeXN0ZW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtUmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGVyZm9ybWFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgQ29tYmluZWRQYXltZW50TWV0aG9kcyB9IGZyb20gJy4vY29yZS9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMvY29tYmluZWQtcGF5bWVudC1tZXRob2RzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZSB9IGZyb20gJy4vY29yZS9jb21iaW5lZC1wYXltZW50LW1ldGhvZHMvY29tYmluZWQtcGF5bWVudC1tZXRob2RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ291bnRyaWVzQXBpU2VydmljZSB9IGZyb20gJy4vY29yZS9jb3VudHJpZXMtYXBpL2NvdW50cmllcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJ5UmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvY291bnRyaWVzLWFwaS9jb3VudHJ5LXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXNoUGF5bWVudERhdGEgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jYXNoLXBheW1lbnQtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VuZEluc3RydWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS94c29sbGEtbnVtYmVyL2FwaS9zZW5kLWluc3RydWN0aW9uL3NlbmQtaW5zdHJ1Y3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZSB9IGZyb20gJy4vY29yZS94c29sbGEtbnVtYmVyL2FwaS9zZW5kLWluc3RydWN0aW9uL3Jlc3BvbnNlL3NlbmQtaW5zdHJ1Y3Rpb24tcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2UgfSBmcm9tICcuL2NvcmUveHNvbGxhLW51bWJlci9hcGkvc2VuZC1pbnN0cnVjdGlvbi9zZW5kLWluc3RydWN0aW9uLXBhcmFtZXRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNjcmlwdFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NjcmlwdC10cmFja2VyL3NjcmlwdC10cmFja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3luY1Jlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3luYy9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFhwc1N1bW1hcnkgfSBmcm9tICcuL2NvcmUvcGF5bWVudC94cHMtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUhlbHBlciB9IGZyb20gJy4vc2hhcmVkL3RyYW5zbGF0ZS90cmFuc2xhdGUuaGVscGVyJztcbmltcG9ydCB7IENvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvY29tbW9uLWxvZy1hdHRyaWJ1dGVzL2NvbW1vbi1sb2ctYXR0cmlidXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkxvZ0F0dHJpYnV0ZXMgfSBmcm9tICcuL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9jb21tb24tbG9nLWF0dHJpYnV0ZXMvY29tbW9uLWxvZy1hdHRyaWJ1dGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dIYW5kbGVyIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZy1oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc0Vycm9yIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQveHBzLWVycm9yLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3JlTGlicmFyeVNlcnZpY2Uge1xuICBwdWJsaWMgcGF5bWVudE1ldGhvZHMgPSB7XG4gICAgZ2V0TGlzdDogYXN5bmMgKGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRMaXN0KGlzU2F2ZU1ldGhvZE1vZGUpLFxuXG4gICAgZ2V0UXVpY2tNZXRob2RzOiBhc3luYyAoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzU2VydmljZS5nZXRRdWlja01ldGhvZHMoKSxcbiAgICBnZXRTYXZlZE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFNhdmVkTWV0aG9kW10+ID0+XG4gICAgICB0aGlzLnNhdmVkTWV0aG9kc1NlcnZpY2UuZ2V0TGlzdCgpLFxuICAgIGdldENvbWJpbmVkUGF5bWVudE1ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPENvbWJpbmVkUGF5bWVudE1ldGhvZHM+ID0+XG4gICAgICB0aGlzLmNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldENvbWJpbmVkUGF5bWVudE1ldGhvZHMoKSxcbiAgICBnZXRVc2VyQmFsYW5jZTogYXN5bmMgKCk6IFByb21pc2U8VXNlckJhbGFuY2VSZXNwb25zZT4gPT5cbiAgICAgIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlKCksXG4gICAgZGVsZXRlU2F2ZWRNZXRob2Q6IGFzeW5jIChpZDogbnVtYmVyLCB0eXBlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+XG4gICAgICB0aGlzLmVkaXRTYXZlZE1ldGhvZHNTZXJ2aWNlLmRlbGV0ZVNhdmVkTWV0aG9kUmVxdWVzdChpZCwgdHlwZSksXG4gIH07XG5cbiAgcHVibGljIHNka1BheW1lbnRTeXN0ZW1zOiBTZGtQYXltZW50U3lzdGVtcyA9IHtcbiAgICBnZXRJbml0aWFsRGF0YTogYXN5bmMgKCkgPT5cbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0SW5pdGlhbERhdGFGb3JTZGtQYXltZW50U3lzdGVtcygpLFxuICB9O1xuXG4gIHB1YmxpYyBmaW5hbmNlID0ge1xuICAgIGdldERldGFpbHNGcm9tU3VtbWFyeTogKHN1bW1hcnk6IFhwc1N1bW1hcnkpOiBGaW5hbmNlRGV0YWlscyA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZ2V0RGV0YWlsc0Zyb21TdW1tYXJ5KHN1bW1hcnkpO1xuICAgIH0sXG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFNlcnZpY2U6IENyZWRpdENhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NZXNzYWdlc1NlcnZpY2U6IEZvcm1NZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0U2F2ZWRNZXRob2RzU2VydmljZTogRWRpdFNhdmVkTWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJmb3JtYW5jZVNlcnZpY2U6IFBlcmZvcm1hbmNlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbWJpbmVkUGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBDb21iaW5lZFBheW1lbnRNZXRob2RzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50cmllc0FwaVNlcnZpY2U6IENvdW50cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlOiBTZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0VHJhY2tlclNlcnZpY2U6IFNjcmlwdFRyYWNrZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbkxvZ0F0dHJpYnV0ZXNTZXJ2aWNlOiBDb21tb25Mb2dBdHRyaWJ1dGVzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoY29uZmlndXJhdGlvbjogSW5pdENvbmZpZ3VyYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzU2VydmljZS5pbml0KGNvbmZpZ3VyYXRpb24pO1xuICAgIHRoaXMucGVyZm9ybWFuY2VTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmluaXQoKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gICAgdGhpcy5zY3JpcHRUcmFja2VyU2VydmljZS5pbml0U2NyaXB0VHJhY2tpbmcoY29uZmlndXJhdGlvbi5lbnZpcm9ubWVudCk7XG4gICAgVHJhbnNsYXRlSGVscGVyLmluaXQodGhpcy50cmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKFRyYW5zbGF0ZUhlbHBlci5nZXRMb2NhbGUoY29uZmlndXJhdGlvbi5sb2NhbGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNTZXJ2aWNlLmdldFN0YXR1c1dpdGhVcmxTZWFyY2hQYXJhbXModXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYWxjdWxhdGVGaWVsZChcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkLFxuICAgIGZpZWxkczogRmllbGRbXVxuICApOiBQcm9taXNlPFN5bmNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkKGNoYW5nZWRGaWVsZCwgZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdWJtaXQoZmllbGRzOiBGaWVsZFtdKTogUHJvbWlzZTx7XG4gICAgcmVzcG9uc2U6IFN1Ym1pdFJlc3BvbnNlO1xuICAgIG5leHRBY3Rpb246IE5leHRBY3Rpb24gfCBudWxsIHwgdm9pZDtcbiAgfT4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdFdpdGhGaWVsZHMoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kQW5hbHl0aWNzKFxuICAgIGFjdGlvbjogc3RyaW5nLFxuICAgIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyxcbiAgICBvcHRpb25zPzogU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoYWN0aW9uLCB0eXBlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRckNvZGVJbml0aWFsRGF0YSgpOiB7XG4gICAgcXJDb2RlOiBzdHJpbmc7XG4gICAgcGlkOiBudW1iZXIgfCBudWxsO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXJDb2RlOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFFyQ29kZSgpLFxuICAgICAgcGlkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzaFBheW1lbnREYXRhKCk6IENhc2hQYXltZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q2FzaFBheW1lbnREYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhFbWFpbChcbiAgICBwYXJhbXM6IFNlbmRJbnN0cnVjdGlvblBhcmFtZXRlcnNJbnRlcmZhY2VcbiAgKTogUHJvbWlzZTxTZW5kSW5zdHJ1Y3Rpb25SZXNwb25zZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLnNlbmRJbnN0cnVjdGlvblNlcnZpY2Uuc2VuZEluc3RydWN0aW9uV2l0aEVtYWlsKHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZFhzb2xsYU51bWJlcldpdGhTbXMoXG4gICAgcGFyYW1zOiBTZW5kSW5zdHJ1Y3Rpb25QYXJhbWV0ZXJzSW50ZXJmYWNlXG4gICk6IFByb21pc2U8U2VuZEluc3RydWN0aW9uUmVzcG9uc2VJbnRlcmZhY2U+IHtcbiAgICByZXR1cm4gdGhpcy5zZW5kSW5zdHJ1Y3Rpb25TZXJ2aWNlLnNlbmRJbnN0cnVjdGlvbldpdGhTbXMocGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxDb3VudHJ5UmVzcG9uc2VbJ2NvdW50cnlMaXN0J10+IHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNBcGlTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb3VudHJ5KGNvdW50cnk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeVNlcnZpY2Uuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVBheW1lbnQoY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvbik6IFBheW1lbnQge1xuICAgIGNvbnN0IGVucmljaGVkQ29uZmlnID0gdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS5lbnJpY2goY29uZmlnKTtcblxuICAgIHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2UudXBkYXRlUmVmZXJCeVBheW1lbnRDb25maWd1cmF0aW9uKGVucmljaGVkQ29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgZ2V0UGlkOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFBpZCgpLFxuICAgICAgZ2V0U3VibWl0QnV0dG9uVGV4dDogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdWJtaXRCdXR0b25UZXh0KCksXG4gICAgICB2YWxpZGF0ZTogYXN5bmMgKGZpZWxkOiBGaWVsZCkgPT4gdGhpcy5wYXltZW50U2VydmljZS52YWxpZGF0ZShmaWVsZCksXG4gICAgICBnZXRGaW5hbmNlRGV0YWlsczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaW5hbmNlRGV0YWlscygpLFxuICAgICAgcnVuVGhyZWVEczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5ydW5UaHJlZURzKCksXG4gICAgICBnZXRTdGF0dXM6IGFzeW5jICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0U3RhdHVzKCksXG4gICAgICBsaXN0ZW5GaW5hbFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5saXN0ZW5GaW5hbFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgZXh0ZXJuYWxDaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogRmllbGROYW1lcywgdmFsdWU6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmV4dGVybmFsQ2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZ2V0RmllbGRGb3JtU3RhdGU6IChmaWVsZE5hbWU6IEZpZWxkTmFtZXMpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZEZvcm1TdGF0ZShmaWVsZE5hbWUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICAgIGNhcmRUeXBlVXBkYXRlcyQ6IHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJCxcbiAgICAgICAgZ2V0Rm9ybVN0YXR1czogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtPy5zdGF0dXMsXG4gICAgICAgIGdldENvbnRyb2xTdGF0dXM6IChuYW1lOiBGaWVsZE5hbWVzKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0Q29udHJvbFN0YXR1cyhuYW1lKSxcbiAgICAgIH0sXG4gICAgICBhZGRFeHRyYUZpZWxkOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCA9PlxuICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmFkZEV4dHJhRmllbGQobmFtZSwgdmFsdWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZyhwaWQ/OiBudW1iZXIpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKHBpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlckJhbGFuY2VWYWx1ZSgpOiBCYWxhbmNlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlckJhbGFuY2VTZXJ2aWNlLmdldFVzZXJCYWxhbmNlVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckxvZ0hhbmRsZXIoaGFuZGxlcjogTG9nSGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyU2VydmljZS5yZWdpc3RlcihoYW5kbGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Rmxvd0Vycm9ycyhlcnJvcnM6IFhwc0Vycm9yW10pOiB2b2lkIHtcbiAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93RXJyb3JzKGVycm9ycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRGb3JtJCgpOiBPYnNlcnZhYmxlPEZvcm1Db250cm9sU3RhdHVzIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRTZXJ2aWNlLnBheW1lbnRGb3JtJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybVJlc3BvbnNlJCgpOiBPYnNlcnZhYmxlPEZvcm1SZXNwb25zZSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2UkO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtUmVzcG9uc2VWYWx1ZSgpOiBGb3JtUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50U2VydmljZS5mb3JtUmVzcG9uc2VWYWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9wTGV2ZWxEb21haW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9wTGV2ZWxEb21haW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbW1vbkxvZ0F0dHJpYnV0ZXMoKTogQ29tbW9uTG9nQXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuY29tbW9uTG9nQXR0cmlidXRlc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpO1xuICB9XG59XG4iXX0=
@@ -191,6 +191,9 @@ class SettingsService {
191
191
  get refer() {
192
192
  return this._refer;
193
193
  }
194
+ set refer(refer) {
195
+ this._refer = refer;
196
+ }
194
197
  async sendRequest(token) {
195
198
  const params = new HttpParams().set('access_token', token);
196
199
  this.secureApi.setSandboxMode(this.isSandboxMode());
@@ -1196,6 +1199,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
1196
1199
  args: [userBalanceResponseFactoryToken]
1197
1200
  }] }, { type: SettingsService }, { type: SecureApiClient }] });
1198
1201
 
1202
+ const masterCardAndVisaPaymentMethodId = 26;
1203
+ const maestroPaymentMethodId = 490;
1204
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
1205
+ const creditCardPaymentMethodId = 1380;
1206
+ const americanExpressMethodId = 714;
1207
+ const specialCards = [
1208
+ maestroPaymentMethodId,
1209
+ masterCardAndVisaPaymentMethodId,
1210
+ americanExpressMethodId,
1211
+ ];
1212
+ const cardsWith3ds = new Set([
1213
+ masterCardAndVisaPaymentMethodId,
1214
+ maestroPaymentMethodId,
1215
+ creditCardPaymentMethodId,
1216
+ ]);
1217
+
1218
+ const isCreditCardSettingsGuard = (settings) => {
1219
+ return settings.paymentMethodId === creditCardPaymentMethodId;
1220
+ };
1221
+
1222
+ const defaultRefer = 23;
1223
+ const externalVaultRefer = 69;
1224
+
1199
1225
  class UrlService {
1200
1226
  addSearchParams(url, params = {}) {
1201
1227
  if (!url) {
@@ -1242,6 +1268,12 @@ class PaymentConfigService {
1242
1268
  returnUrl: this.enrichReturnUrl(config.returnUrl, !!config.savePaymentMethod),
1243
1269
  };
1244
1270
  }
1271
+ updateReferByPaymentConfiguration(config) {
1272
+ if (isCreditCardSettingsGuard(config) &&
1273
+ config.paymentMethodSettings?.useExternalVault) {
1274
+ this.settingsService.refer = externalVaultRefer;
1275
+ }
1276
+ }
1245
1277
  enrichReturnUrl(returnUrl, savePaymentMethod) {
1246
1278
  const enrichedUrl = this.urlService.addSearchParams(returnUrl, {
1247
1279
  token: this.settingsService.token,
@@ -1599,26 +1631,6 @@ const isGooglePaySettingsGuard = (settings) => {
1599
1631
  return settings.paymentMethodId === googlePayPid;
1600
1632
  };
1601
1633
 
1602
- const masterCardAndVisaPaymentMethodId = 26;
1603
- const maestroPaymentMethodId = 490;
1604
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
1605
- const creditCardPaymentMethodId = 1380;
1606
- const americanExpressMethodId = 714;
1607
- const specialCards = [
1608
- maestroPaymentMethodId,
1609
- masterCardAndVisaPaymentMethodId,
1610
- americanExpressMethodId,
1611
- ];
1612
- const cardsWith3ds = new Set([
1613
- masterCardAndVisaPaymentMethodId,
1614
- maestroPaymentMethodId,
1615
- creditCardPaymentMethodId,
1616
- ]);
1617
-
1618
- const isCreditCardSettingsGuard = (settings) => {
1619
- return settings.paymentMethodId === creditCardPaymentMethodId;
1620
- };
1621
-
1622
1634
  const initializeResponseFactoryToken = new InjectionToken('InitializeResponse');
1623
1635
  const initializeResponseFactoryProvider = {
1624
1636
  provide: initializeResponseFactoryToken,
@@ -8686,6 +8698,7 @@ class CoreLibraryService {
8686
8698
  }
8687
8699
  createPayment(config) {
8688
8700
  const enrichedConfig = this.paymentConfigService.enrich(config);
8701
+ this.paymentConfigService.updateReferByPaymentConfiguration(enrichedConfig);
8689
8702
  return {
8690
8703
  initialize: async () => this.paymentService.initialize(enrichedConfig),
8691
8704
  submit: async () => this.paymentService.submit(),