ecabs-components 1.0.61 → 1.0.63

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.
@@ -3,18 +3,20 @@ import { BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class EcabsComponentsService {
5
5
  defaultConfig = {
6
+ defaultCountries: [],
6
7
  errorMessages: [
7
8
  { type: 'required', message: '[label] is required' },
8
- { type: 'minlength', message: '[label] should be atleast [requiredLength] character' },
9
+ { type: 'minlength', message: '[label] should be at least [requiredLength] character' },
9
10
  { type: 'maxLength', message: '[label] should be maximum [requiredLength] character' },
10
- { type: 'min', message: '[label] should be minmum [min]' },
11
+ { type: 'min', message: '[label] should be minimum [min]' },
11
12
  { type: 'max', message: '[label] should be maximum [max]' },
12
- { type: 'minValue', message: '[label] should be minmum [requiredMin]' },
13
+ { type: 'minValue', message: '[label] should be minimum [requiredMin]' },
13
14
  { type: 'maxValue', message: '[label] should be maximum [requiredMax]' },
14
15
  ],
15
16
  };
16
17
  _config = new BehaviorSubject(this.defaultConfig);
17
- constructor() { }
18
+ constructor() {
19
+ }
18
20
  setConfig(config) {
19
21
  this._config.next(config);
20
22
  }
@@ -23,10 +25,12 @@ export class EcabsComponentsService {
23
25
  }
24
26
  updateConfig(configUpdate) {
25
27
  const currentConfig = this._config.getValue();
26
- const updatedConfig = {
27
- ...currentConfig,
28
- errorMessages: [...currentConfig.errorMessages, ...configUpdate.errorMessages],
29
- };
28
+ let updatedConfig = new GenericComponentConfig();
29
+ for (const key in currentConfig) {
30
+ if (currentConfig.hasOwnProperty(key)) {
31
+ updatedConfig[key] = [...currentConfig[key], ...configUpdate[key]];
32
+ }
33
+ }
30
34
  this._config.next(updatedConfig);
31
35
  }
32
36
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -38,4 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
38
42
  providedIn: 'root',
39
43
  }]
40
44
  }], ctorParameters: function () { return []; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2Uvc2VydmljZXMvZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxhQUFhLEdBQTBCO1FBQ3JDLGFBQWEsRUFBRTtZQUNiLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUU7WUFDcEQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxzREFBc0QsRUFBRTtZQUN0RixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHNEQUFzRCxFQUFFO1lBQ3RGLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUU7WUFDMUQsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRTtZQUMzRCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFO1lBQ3ZFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUseUNBQXlDLEVBQUU7U0FDekU7S0FDRixDQUFDO0lBRU0sT0FBTyxHQUEyQyxJQUFJLGVBQWUsQ0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXpILGdCQUFlLENBQUM7SUFFaEIsU0FBUyxDQUFDLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBbUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLGFBQWE7WUFDaEIsYUFBYSxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsYUFBYSxFQUFFLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztTQUMvRSxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQzt3R0FqQ1Usc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNDb21wb25lbnRzU2VydmljZSB7XHJcbiAgZGVmYXVsdENvbmZpZzogRWNhYnNDb21wb25lbnRzQ29uZmlnID0ge1xyXG4gICAgZXJyb3JNZXNzYWdlczogW1xyXG4gICAgICB7IHR5cGU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6ICdbbGFiZWxdIGlzIHJlcXVpcmVkJyB9LFxyXG4gICAgICB7IHR5cGU6ICdtaW5sZW5ndGgnLCBtZXNzYWdlOiAnW2xhYmVsXSBzaG91bGQgYmUgYXRsZWFzdCBbcmVxdWlyZWRMZW5ndGhdIGNoYXJhY3RlcicgfSxcclxuICAgICAgeyB0eXBlOiAnbWF4TGVuZ3RoJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1heGltdW0gW3JlcXVpcmVkTGVuZ3RoXSBjaGFyYWN0ZXInIH0sXHJcbiAgICAgIHsgdHlwZTogJ21pbicsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBtaW5tdW0gW21pbl0nIH0sXHJcbiAgICAgIHsgdHlwZTogJ21heCcsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBtYXhpbXVtIFttYXhdJyB9LFxyXG4gICAgICB7IHR5cGU6ICdtaW5WYWx1ZScsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBtaW5tdW0gW3JlcXVpcmVkTWluXScgfSxcclxuICAgICAgeyB0eXBlOiAnbWF4VmFsdWUnLCBtZXNzYWdlOiAnW2xhYmVsXSBzaG91bGQgYmUgbWF4aW11bSBbcmVxdWlyZWRNYXhdJyB9LFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBwcml2YXRlIF9jb25maWc6IEJlaGF2aW9yU3ViamVjdDxFY2Fic0NvbXBvbmVudHNDb25maWc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFY2Fic0NvbXBvbmVudHNDb25maWc+KHRoaXMuZGVmYXVsdENvbmZpZyk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogRWNhYnNDb21wb25lbnRzQ29uZmlnKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29uZmlnKCk6IE9ic2VydmFibGU8RWNhYnNDb21wb25lbnRzQ29uZmlnPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29uZmlnKGNvbmZpZ1VwZGF0ZTogRWNhYnNDb21wb25lbnRzQ29uZmlnKSB7XHJcbiAgICBjb25zdCBjdXJyZW50Q29uZmlnID0gdGhpcy5fY29uZmlnLmdldFZhbHVlKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkQ29uZmlnID0ge1xyXG4gICAgICAuLi5jdXJyZW50Q29uZmlnLFxyXG4gICAgICBlcnJvck1lc3NhZ2VzOiBbLi4uY3VycmVudENvbmZpZy5lcnJvck1lc3NhZ2VzLCAuLi5jb25maWdVcGRhdGUuZXJyb3JNZXNzYWdlc10sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuX2NvbmZpZy5uZXh0KHVwZGF0ZWRDb25maWcpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFY2Fic0NvbXBvbmVudHNDb25maWcge1xyXG4gIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JNZXNzYWdlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
45
+ export class GenericComponentConfig {
46
+ defaultCountries = [];
47
+ errorMessages = [];
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2Uvc2VydmljZXMvZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQzs7QUFLakQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxhQUFhLEdBQTBCO1FBQ3JDLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsYUFBYSxFQUFFO1lBQ2IsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBQztZQUNsRCxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHVEQUF1RCxFQUFDO1lBQ3JGLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsc0RBQXNELEVBQUM7WUFDcEYsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBQztZQUN6RCxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFDO1lBQ3pELEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUseUNBQXlDLEVBQUM7WUFDdEUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBQztTQUN2RTtLQUNGLENBQUM7SUFFTSxPQUFPLEdBQTJDLElBQUksZUFBZSxDQUF3QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFekg7SUFDQSxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBbUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLGFBQWEsR0FBMEIsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBRXhFLEtBQUssTUFBTSxHQUFHLElBQUksYUFBYSxFQUFFO1lBQy9CLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNwRTtTQUNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQzt3R0F0Q1Usc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFvREQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7SUFDaEMsYUFBYSxHQUFtQixFQUFFLENBQUM7Q0FDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNDb21wb25lbnRzU2VydmljZSB7XHJcbiAgZGVmYXVsdENvbmZpZzogRWNhYnNDb21wb25lbnRzQ29uZmlnID0ge1xyXG4gICAgZGVmYXVsdENvdW50cmllczogW10sXHJcbiAgICBlcnJvck1lc3NhZ2VzOiBbXHJcbiAgICAgIHt0eXBlOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnW2xhYmVsXSBpcyByZXF1aXJlZCd9LFxyXG4gICAgICB7dHlwZTogJ21pbmxlbmd0aCcsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBhdCBsZWFzdCBbcmVxdWlyZWRMZW5ndGhdIGNoYXJhY3Rlcid9LFxyXG4gICAgICB7dHlwZTogJ21heExlbmd0aCcsIG1lc3NhZ2U6ICdbbGFiZWxdIHNob3VsZCBiZSBtYXhpbXVtIFtyZXF1aXJlZExlbmd0aF0gY2hhcmFjdGVyJ30sXHJcbiAgICAgIHt0eXBlOiAnbWluJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1pbmltdW0gW21pbl0nfSxcclxuICAgICAge3R5cGU6ICdtYXgnLCBtZXNzYWdlOiAnW2xhYmVsXSBzaG91bGQgYmUgbWF4aW11bSBbbWF4XSd9LFxyXG4gICAgICB7dHlwZTogJ21pblZhbHVlJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1pbmltdW0gW3JlcXVpcmVkTWluXSd9LFxyXG4gICAgICB7dHlwZTogJ21heFZhbHVlJywgbWVzc2FnZTogJ1tsYWJlbF0gc2hvdWxkIGJlIG1heGltdW0gW3JlcXVpcmVkTWF4XSd9LFxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBwcml2YXRlIF9jb25maWc6IEJlaGF2aW9yU3ViamVjdDxFY2Fic0NvbXBvbmVudHNDb25maWc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFY2Fic0NvbXBvbmVudHNDb25maWc+KHRoaXMuZGVmYXVsdENvbmZpZyk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogRWNhYnNDb21wb25lbnRzQ29uZmlnKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29uZmlnKCk6IE9ic2VydmFibGU8RWNhYnNDb21wb25lbnRzQ29uZmlnPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29uZmlnKGNvbmZpZ1VwZGF0ZTogRWNhYnNDb21wb25lbnRzQ29uZmlnKSB7XHJcbiAgICBjb25zdCBjdXJyZW50Q29uZmlnID0gdGhpcy5fY29uZmlnLmdldFZhbHVlKCk7XHJcbiAgICBsZXQgdXBkYXRlZENvbmZpZzogRWNhYnNDb21wb25lbnRzQ29uZmlnID0gbmV3IEdlbmVyaWNDb21wb25lbnRDb25maWcoKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjdXJyZW50Q29uZmlnKSB7XHJcbiAgICAgIGlmIChjdXJyZW50Q29uZmlnLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICB1cGRhdGVkQ29uZmlnW2tleV0gPSBbLi4uY3VycmVudENvbmZpZ1trZXldLCAuLi5jb25maWdVcGRhdGVba2V5XV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb25maWcubmV4dCh1cGRhdGVkQ29uZmlnKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWNhYnNDb21wb25lbnRzQ29uZmlnIHtcclxuICBkZWZhdWx0Q291bnRyaWVzPzogc3RyaW5nW107XHJcbiAgZXJyb3JNZXNzYWdlcz86IEVycm9yTWVzc2FnZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTWVzc2FnZSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNDb21wb25lbnRDb25maWcgaW1wbGVtZW50cyBFY2Fic0NvbXBvbmVudHNDb25maWcge1xyXG4gIGRlZmF1bHRDb3VudHJpZXM6IHN0cmluZ1tdID0gW107XHJcbiAgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcclxufVxyXG4iXX0=
@@ -1,13 +1,19 @@
1
1
  import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
- import { UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, Validators, NgControl, } from '@angular/forms';
2
+ import { NG_VALUE_ACCESSOR, NgControl, UntypedFormControl, UntypedFormGroup, Validators, } from '@angular/forms';
3
3
  import ElementBaseComponent from '../base/element-base';
4
+ import { UnsubscribeService } from "../base/services/unsubscribe.service";
5
+ import { takeUntil } from "rxjs";
4
6
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../base/element-wrapper/element-wrapper.component";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "ngx-mat-intl-tel-input";
7
+ import * as i1 from "../base/services/ecabs-components.service";
8
+ import * as i2 from "../base/services/unsubscribe.service";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "../base/element-wrapper/element-wrapper.component";
11
+ import * as i5 from "@angular/forms";
12
+ import * as i6 from "ngx-mat-intl-tel-input";
9
13
  export class EcabsPhoneComponent extends ElementBaseComponent {
10
14
  injector;
15
+ ecabsComponentsService;
16
+ unsubscribeService;
11
17
  preferredCountries;
12
18
  enablePlaceholder;
13
19
  enableSearch = true;
@@ -26,9 +32,11 @@ export class EcabsPhoneComponent extends ElementBaseComponent {
26
32
  this.phoneForm.setValue({ phone: val });
27
33
  }
28
34
  }
29
- constructor(injector) {
35
+ constructor(injector, ecabsComponentsService, unsubscribeService) {
30
36
  super();
31
37
  this.injector = injector;
38
+ this.ecabsComponentsService = ecabsComponentsService;
39
+ this.unsubscribeService = unsubscribeService;
32
40
  }
33
41
  onInput(event) {
34
42
  if (this.prohibitedCharacters.includes(event.key)) {
@@ -39,6 +47,13 @@ export class EcabsPhoneComponent extends ElementBaseComponent {
39
47
  this.phoneForm = new UntypedFormGroup({
40
48
  phone: new UntypedFormControl(undefined, this.required ? [Validators.required] : []),
41
49
  });
50
+ this.ecabsComponentsService.getConfig()
51
+ .pipe(takeUntil(this.unsubscribeService.subscription()))
52
+ .subscribe((val) => {
53
+ if (!this.preferredCountries?.length) {
54
+ this.preferredCountries = val.defaultCountries;
55
+ }
56
+ });
42
57
  }
43
58
  ngAfterViewInit() {
44
59
  const ngControl = this.injector.get(NgControl, null);
@@ -52,8 +67,10 @@ export class EcabsPhoneComponent extends ElementBaseComponent {
52
67
  this.handleErrors();
53
68
  });
54
69
  }
55
- onChange = () => { };
56
- onTouch = () => { };
70
+ onChange = () => {
71
+ };
72
+ onTouch = () => {
73
+ };
57
74
  writeValue(value) {
58
75
  this.value = value;
59
76
  }
@@ -79,27 +96,29 @@ export class EcabsPhoneComponent extends ElementBaseComponent {
79
96
  if (this.value === undefined && !this.phoneInput.empty) {
80
97
  this.phoneForm.controls['phone'].setErrors({ validatePhoneNumber: true });
81
98
  }
82
- this.control.setErrors(this.phoneForm.get('phone').errors);
99
+ this.control?.setErrors(this.phoneForm.get('phone').errors);
83
100
  }
84
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPhoneComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPhoneComponent, deps: [{ token: i0.Injector }, { token: i1.EcabsComponentsService }, { token: i2.UnsubscribeService }], target: i0.ɵɵFactoryTarget.Component });
85
102
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPhoneComponent, selector: "ecabs-phone", inputs: { preferredCountries: "preferredCountries", enablePlaceholder: "enablePlaceholder", enableSearch: "enableSearch", useOnlyDisabledClass: "useOnlyDisabledClass", required: "required" }, outputs: { onblur: "onblur" }, host: { listeners: { "keypress": "onInput($event)" } }, providers: [
103
+ UnsubscribeService,
86
104
  {
87
105
  provide: NG_VALUE_ACCESSOR,
88
106
  useExisting: EcabsPhoneComponent,
89
107
  multi: true,
90
108
  },
91
- ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
109
+ ], viewQueries: [{ propertyName: "phoneInput", first: true, predicate: ["phoneInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i6.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
92
110
  }
93
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPhoneComponent, decorators: [{
94
112
  type: Component,
95
113
  args: [{ selector: 'ecabs-phone', providers: [
114
+ UnsubscribeService,
96
115
  {
97
116
  provide: NG_VALUE_ACCESSOR,
98
117
  useExisting: EcabsPhoneComponent,
99
118
  multi: true,
100
119
  },
101
120
  ], template: "<app-element-wrapper [data]=\"getData()\">\r\n <form #f=\"ngForm\" [formGroup]=\"phoneForm\">\r\n <ngx-mat-intl-tel-input\r\n (focusout)=\"onBlur()\"\r\n [ngClass]=\"{ error: phoneForm.invalid && (phoneForm.dirty || phoneForm.touched) }\"\r\n #phoneInput\r\n [preferredCountries]=\"preferredCountries\"\r\n [enablePlaceholder]=\"enablePlaceholder\"\r\n [enableSearch]=\"enableSearch\"\r\n [disabled]=\"disabled\"\r\n [formControlName]=\"'phone'\"\r\n name=\"phone\"\r\n [inputPlaceholder]=\"placeholder\"\r\n >\r\n </ngx-mat-intl-tel-input>\r\n </form>\r\n</app-element-wrapper>\r\n" }]
102
- }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { preferredCountries: [{
121
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.EcabsComponentsService }, { type: i2.UnsubscribeService }]; }, propDecorators: { preferredCountries: [{
103
122
  type: Input
104
123
  }], enablePlaceholder: [{
105
124
  type: Input
@@ -118,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
137
  type: HostListener,
119
138
  args: ['keypress', ['$event']]
120
139
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXBob25lL2VjYWJzLXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFZLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQWF4RCxNQUFNLE9BQU8sbUJBQ1gsU0FBUSxvQkFBb0I7SUEyQkU7SUF6QnJCLGtCQUFrQixDQUFZO0lBQzlCLGlCQUFpQixDQUFXO0lBQzVCLFlBQVksR0FBWSxJQUFJLENBQUM7SUFDN0Isb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLFFBQVEsQ0FBVTtJQUV6QixNQUFNLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7SUFHdkUsVUFBVSxDQUErQjtJQUV6QyxTQUFTLENBQW1CO0lBQzVCLFFBQVEsQ0FBTztJQUNmLG9CQUFvQixHQUFHLENBQUUsR0FBRyxDQUFFLENBQUM7SUFFL0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBRSxPQUFPLENBQUUsRUFBRSxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFFLEdBQUc7UUFDWixJQUFLLEdB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QixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDM0U7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBRSxPQUFPLENBQUUsQ0FBQyxNQUFNLENBQUUsQ0FBQztJQUNqRSxDQUFDO3dHQTdGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2VEFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMkpDckJILCtwQkFpQkE7OzRGRE1hLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytGQUtRLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ1csUUFBUTtzQkFBeEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxTQUFTO3VCQUFFLFlBQVk7Z0JBcUJrQixPQUFPO3NCQUFoRCxZQUFZO3VCQUFFLFVBQVUsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgVmFsaWRhdG9ycyxcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hNYXRJbnRsVGVsSW5wdXRDb21wb25lbnQgfSBmcm9tICduZ3gtbWF0LWludGwtdGVsLWlucHV0JztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXBob25lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtcGhvbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUGhvbmVDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGhvbmVDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHByZWZlcnJlZENvdW50cmllcyE6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVBsYWNlaG9sZGVyITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHVzZU9ubHlEaXNhYmxlZENsYXNzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVjbGFyZSByZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1cjogRXZlbnRFbWl0dGVyPHsgdmFsdWU6IHN0cmluZyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCggJ3Bob25lSW5wdXQnIClcclxuICBwaG9uZUlucHV0ITogTmd4TWF0SW50bFRlbElucHV0Q29tcG9uZW50O1xyXG5cclxuICBwaG9uZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcGhvbmVTdWIhOiBhbnk7XHJcbiAgcHJvaGliaXRlZENoYXJhY3RlcnMgPSBbICctJyBdO1xyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnBob25lRm9ybS5nZXQoICdwaG9uZScgKT8udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUoIHZhbCApIHtcclxuICAgIGlmICggdmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWx1ZSAhPT0gdmFsICkge1xyXG4gICAgICB0aGlzLnBob25lRm9ybS5zZXRWYWx1ZSggeyBwaG9uZTogdmFsIH0gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvciApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCAna2V5cHJlc3MnLCBbICckZXZlbnQnIF0gKSBvbklucHV0KCBldmVudDogS2V5Ym9hcmRFdmVudCApOiB2b2lkIHtcclxuICAgIGlmICggdGhpcy5wcm9oaWJpdGVkQ2hhcmFjdGVycy5pbmNsdWRlcyggZXZlbnQua2V5ICkgKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGhvbmVGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoIHtcclxuICAgICAgcGhvbmU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woIHVuZGVmaW5lZCwgdGhpcy5yZXF1aXJlZCA/IFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdIDogW10gKSxcclxuICAgIH0gKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoIE5nQ29udHJvbCwgbnVsbCApO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnBob25lU3ViID0gdGhpcy5waG9uZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSggKCBmb3JtVmFsICkgPT4ge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZm9ybVZhbD8ucGhvbmU7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UoIHRoaXMudmFsdWUgKTtcclxuICAgICAgdGhpcy5vblRvdWNoKCB0aGlzLnZhbHVlICk7XHJcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JzKCk7XHJcbiAgICB9ICk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCk6IHZvaWQgPT4geyB9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpOiB2b2lkID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lU3ViPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lSW5wdXQucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCggdGhpcy52YWx1ZSApO1xyXG4gICAgdGhpcy5vbkNoYW5nZSggdGhpcy52YWx1ZSApO1xyXG4gICAgdGhpcy5oYW5kbGVFcnJvcnMoKTtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoeyB2YWx1ZTogdGhpcy52YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9ycygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgJiYgIXRoaXMucGhvbmVJbnB1dC5lbXB0eSkge1xyXG4gICAgICB0aGlzLnBob25lRm9ybS5jb250cm9sc1sncGhvbmUnXS5zZXRFcnJvcnMoeyB2YWxpZGF0ZVBob25lTnVtYmVyOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb250cm9sLnNldEVycm9ycyggdGhpcy5waG9uZUZvcm0uZ2V0KCAncGhvbmUnICkuZXJyb3JzICk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxmb3JtICNmPVwibmdGb3JtXCIgW2Zvcm1Hcm91cF09XCJwaG9uZUZvcm1cIj5cclxuICAgICAgPG5neC1tYXQtaW50bC10ZWwtaW5wdXRcclxuICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyKClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IHBob25lRm9ybS5pbnZhbGlkICYmIChwaG9uZUZvcm0uZGlydHkgfHwgcGhvbmVGb3JtLnRvdWNoZWQpIH1cIlxyXG4gICAgICAgICNwaG9uZUlucHV0XHJcbiAgICAgICAgW3ByZWZlcnJlZENvdW50cmllc109XCJwcmVmZXJyZWRDb3VudHJpZXNcIlxyXG4gICAgICAgIFtlbmFibGVQbGFjZWhvbGRlcl09XCJlbmFibGVQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJlbmFibGVTZWFyY2hcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncGhvbmUnXCJcclxuICAgICAgICBuYW1lPVwicGhvbmVcIlxyXG4gICAgICAgIFtpbnB1dFBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgPlxyXG4gICAgICA8L25neC1tYXQtaW50bC10ZWwtaW5wdXQ+XHJcbiAgPC9mb3JtPlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXBob25lL2VjYWJzLXBob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1waG9uZS9lY2Ficy1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBRVosS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBYy9CLE1BQU0sT0FBTyxtQkFDWCxTQUFRLG9CQUFvQjtJQTJCQztJQUNBO0lBQ1Q7SUEzQlgsa0JBQWtCLENBQVk7SUFDOUIsaUJBQWlCLENBQVc7SUFDNUIsWUFBWSxHQUFZLElBQUksQ0FBQztJQUM3QixvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDckIsUUFBUSxDQUFVO0lBRXpCLE1BQU0sR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUd2RSxVQUFVLENBQStCO0lBRXpDLFNBQVMsQ0FBbUI7SUFDNUIsUUFBUSxDQUFPO0lBQ2Ysb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU3QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBRztRQUNYLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELFlBQTZCLFFBQWtCLEVBQ2xCLHNCQUE4QyxFQUN2RCxrQkFBc0M7UUFFeEQsS0FBSyxFQUFFLENBQUM7UUFKbUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFHMUQsQ0FBQztJQUVxQyxPQUFPLENBQUMsS0FBb0I7UUFDaEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUNwQyxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNyRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFO2FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDaEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBUyxFQUFFO0lBQzNCLENBQUMsQ0FBQztJQUNGLE9BQU8sR0FBUSxHQUFTLEVBQUU7SUFDMUIsQ0FBQyxDQUFDO0lBRUYsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRTtZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQzt3R0ExR1UsbUJBQW1COzRGQUFuQixtQkFBbUIsNlRBVG5CO1lBQ1Qsa0JBQWtCO1lBQ2xCO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwySkNwQ0gsK3BCQWlCQTs7NEZEcUJhLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Qsa0JBQWtCO3dCQUNsQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHFCQUFxQjs0QkFDaEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7cUtBS1Esa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDVyxRQUFRO3NCQUF4QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFHUCxVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWTtnQkF3QmUsT0FBTztzQkFBNUMsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgTmdDb250cm9sLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge05neE1hdEludGxUZWxJbnB1dENvbXBvbmVudH0gZnJvbSAnbmd4LW1hdC1pbnRsLXRlbC1pbnB1dCc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7RWNhYnNDb21wb25lbnRzU2VydmljZX0gZnJvbSBcIi4uL2Jhc2Uvc2VydmljZXMvZWNhYnMtY29tcG9uZW50cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VW5zdWJzY3JpYmVTZXJ2aWNlfSBmcm9tIFwiLi4vYmFzZS9zZXJ2aWNlcy91bnN1YnNjcmliZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1waG9uZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBob25lLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFVuc3Vic2NyaWJlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1Bob25lQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGhvbmVDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHByZWZlcnJlZENvdW50cmllcyE6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGVuYWJsZVBsYWNlaG9sZGVyITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHVzZU9ubHlEaXNhYmxlZENsYXNzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVjbGFyZSByZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1cjogRXZlbnRFbWl0dGVyPHsgdmFsdWU6IHN0cmluZyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGhvbmVJbnB1dCcpXHJcbiAgcGhvbmVJbnB1dCE6IE5neE1hdEludGxUZWxJbnB1dENvbXBvbmVudDtcclxuXHJcbiAgcGhvbmVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHBob25lU3ViITogYW55O1xyXG4gIHByb2hpYml0ZWRDaGFyYWN0ZXJzID0gWyctJ107XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucGhvbmVGb3JtLmdldCgncGhvbmUnKT8udmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWx1ZSAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMucGhvbmVGb3JtLnNldFZhbHVlKHtwaG9uZTogdmFsfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVjYWJzQ29tcG9uZW50c1NlcnZpY2U6IEVjYWJzQ29tcG9uZW50c1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1bnN1YnNjcmliZVNlcnZpY2U6IFVuc3Vic2NyaWJlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSkgb25JbnB1dChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHJvaGliaXRlZENoYXJhY3RlcnMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lRm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcclxuICAgICAgcGhvbmU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodW5kZWZpbmVkLCB0aGlzLnJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW10pLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5lY2Fic0NvbXBvbmVudHNTZXJ2aWNlLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5wcmVmZXJyZWRDb3VudHJpZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMgPSB2YWwuZGVmYXVsdENvdW50cmllcztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5waG9uZVN1YiA9IHRoaXMucGhvbmVGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGZvcm1WYWwpID0+IHtcclxuICAgICAgdGhpcy52YWx1ZSA9IGZvcm1WYWw/LnBob25lO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3JzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKTogdm9pZCA9PiB7XHJcbiAgfTtcclxuICBvblRvdWNoOiBhbnkgPSAoKTogdm9pZCA9PiB7XHJcbiAgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lU3ViPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBob25lSW5wdXQucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmhhbmRsZUVycm9ycygpO1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdCh7dmFsdWU6IHRoaXMudmFsdWV9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9ycygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgJiYgIXRoaXMucGhvbmVJbnB1dC5lbXB0eSkge1xyXG4gICAgICB0aGlzLnBob25lRm9ybS5jb250cm9sc1sncGhvbmUnXS5zZXRFcnJvcnMoe3ZhbGlkYXRlUGhvbmVOdW1iZXI6IHRydWV9KTtcclxuICAgIH1cclxuICAgIHRoaXMuY29udHJvbD8uc2V0RXJyb3JzKHRoaXMucGhvbmVGb3JtLmdldCgncGhvbmUnKS5lcnJvcnMpO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8Zm9ybSAjZj1cIm5nRm9ybVwiIFtmb3JtR3JvdXBdPVwicGhvbmVGb3JtXCI+XHJcbiAgICAgIDxuZ3gtbWF0LWludGwtdGVsLWlucHV0XHJcbiAgICAgICAgKGZvY3Vzb3V0KT1cIm9uQmx1cigpXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7IGVycm9yOiBwaG9uZUZvcm0uaW52YWxpZCAmJiAocGhvbmVGb3JtLmRpcnR5IHx8IHBob25lRm9ybS50b3VjaGVkKSB9XCJcclxuICAgICAgICAjcGhvbmVJbnB1dFxyXG4gICAgICAgIFtwcmVmZXJyZWRDb3VudHJpZXNdPVwicHJlZmVycmVkQ291bnRyaWVzXCJcclxuICAgICAgICBbZW5hYmxlUGxhY2Vob2xkZXJdPVwiZW5hYmxlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFtlbmFibGVTZWFyY2hdPVwiZW5hYmxlU2VhcmNoXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3Bob25lJ1wiXHJcbiAgICAgICAgbmFtZT1cInBob25lXCJcclxuICAgICAgICBbaW5wdXRQbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZ3gtbWF0LWludGwtdGVsLWlucHV0PlxyXG4gIDwvZm9ybT5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=