@testgorilla/tgo-ui 2.2.3 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/components/autocomplete/autocomplete.component.d.ts +24 -7
  2. package/components/autocomplete/autocomplete.component.module.d.ts +2 -1
  3. package/components/checkbox/checkbox.component.d.ts +27 -7
  4. package/components/checkbox/checkbox.component.module.d.ts +4 -1
  5. package/components/dropdown/dropdown.component.d.ts +12 -6
  6. package/components/dropdown/dropdown.component.module.d.ts +2 -1
  7. package/components/field/field.component.d.ts +28 -6
  8. package/components/field/field.component.module.d.ts +2 -1
  9. package/components/icon/icon.config.d.ts +2 -2
  10. package/components/password-criteria/password.component.d.ts +2 -1
  11. package/components/phone-input/join-strings.pipe.d.ts +7 -0
  12. package/components/phone-input/phone-input.component.d.ts +135 -0
  13. package/components/phone-input/phone-input.component.module.d.ts +19 -0
  14. package/components/phone-input/phone-input.model.d.ts +8 -0
  15. package/components/radio-button/radio-button.component.d.ts +8 -1
  16. package/components/validation-error/validation-error.component.d.ts +27 -0
  17. package/components/validation-error/validation-error.model.d.ts +1 -0
  18. package/components/validation-error/validation-error.module.d.ts +10 -0
  19. package/esm2022/assets/i18n/en.json +10 -1
  20. package/esm2022/components/autocomplete/autocomplete.component.mjs +56 -32
  21. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +7 -3
  22. package/esm2022/components/checkbox/checkbox.component.mjs +48 -22
  23. package/esm2022/components/checkbox/checkbox.component.module.mjs +7 -4
  24. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  25. package/esm2022/components/dialog/dialog.service.mjs +2 -2
  26. package/esm2022/components/dropdown/dropdown.component.mjs +34 -27
  27. package/esm2022/components/dropdown/dropdown.component.module.mjs +7 -3
  28. package/esm2022/components/field/field.component.mjs +64 -28
  29. package/esm2022/components/field/field.component.module.mjs +7 -3
  30. package/esm2022/components/icon/icon.config.mjs +6 -1
  31. package/esm2022/components/password-criteria/password.component.mjs +7 -3
  32. package/esm2022/components/phone-input/join-strings.pipe.mjs +14 -0
  33. package/esm2022/components/phone-input/phone-input.component.mjs +340 -0
  34. package/esm2022/components/phone-input/phone-input.component.module.mjs +60 -0
  35. package/esm2022/components/phone-input/phone-input.model.mjs +2 -0
  36. package/esm2022/components/radio-button/radio-button.component.mjs +12 -3
  37. package/esm2022/components/validation-error/validation-error.component.mjs +59 -0
  38. package/esm2022/components/validation-error/validation-error.model.mjs +2 -0
  39. package/esm2022/components/validation-error/validation-error.module.mjs +20 -0
  40. package/esm2022/public-api.mjs +5 -1
  41. package/fesm2022/testgorilla-tgo-ui.mjs +892 -323
  42. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  43. package/package.json +5 -2
  44. package/public-api.d.ts +3 -0
  45. package/src/assets/i18n/en.json +10 -1
  46. package/src/assets/icons/Google.svg +6 -0
  47. package/src/assets/icons/rebrand/Google-filled.svg +6 -0
  48. package/src/assets/icons/rebrand/Google-in-line.svg +6 -0
  49. package/src/theme/_font.scss +22 -0
  50. package/src/theme/_input.scss +37 -0
  51. package/src/theme/theme.scss +25 -0
@@ -0,0 +1,340 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
2
+ import { UntypedFormControl, } from '@angular/forms';
3
+ import { MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
4
+ import { MatInput } from '@angular/material/input';
5
+ import { MatSelect } from '@angular/material/select';
6
+ import { parsePhoneNumber } from 'libphonenumber-js';
7
+ import { BehaviorSubject, combineLatest, debounceTime, delay, filter, first, map, startWith, Subject, take, tap, } from 'rxjs';
8
+ import { takeUntil } from 'rxjs/operators';
9
+ import { LanguageService } from '../../utils/localization/language.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/forms";
12
+ import * as i2 from "@angular/material/core";
13
+ import * as i3 from "@angular/cdk/a11y";
14
+ import * as i4 from "@angular/material/icon";
15
+ import * as i5 from "@angular/platform-browser";
16
+ import * as i6 from "@angular/common";
17
+ import * as i7 from "@angular/material/form-field";
18
+ import * as i8 from "@angular/material/select";
19
+ import * as i9 from "@angular/material/input";
20
+ import * as i10 from "ngx-mat-select-search";
21
+ import * as i11 from "../icon/icon.component";
22
+ import * as i12 from "../validation-error/validation-error.component";
23
+ import * as i13 from "../../pipes/ui-translate.pipe";
24
+ import * as i14 from "./join-strings.pipe";
25
+ export class PhoneInputComponent {
26
+ /**
27
+ * Phone number
28
+ *
29
+ * @type {string}
30
+ * @memberof PhoneInputComponent
31
+ */
32
+ set value(value) {
33
+ this.initialValue = this.initialValue || value;
34
+ try {
35
+ const parsed = parsePhoneNumber(value);
36
+ const formatted = parsed.formatInternational();
37
+ this.selectedCountry = this.getCountryByAlpha2Code(parsed.country) || this.selectedCountry;
38
+ this.form.patchValue({ phone_number: formatted.replace(this.selectedCountry.callingCode, '') });
39
+ }
40
+ catch (err) {
41
+ if (value?.length <= 4) {
42
+ this.selectedCountry = this.getCountryByCallingCode(value) || this.selectedCountry;
43
+ }
44
+ this.form.patchValue({ phone_number: value?.replace(this.selectedCountry?.callingCode, '') });
45
+ }
46
+ this.stateChanges.next();
47
+ }
48
+ /**
49
+ * Country list for select
50
+ *
51
+ * @type {UICountry[]}
52
+ * @memberof PhoneInputComponent
53
+ */
54
+ set countryList(countryList) {
55
+ countryList.forEach(country => this.registerCountryFlag(country.alpha2Code));
56
+ this.loadCountries$.next(countryList);
57
+ this.selectedCountry = countryList[0];
58
+ }
59
+ /**
60
+ * Placeholder input
61
+ *
62
+ * @type {text}
63
+ * @memberof PhoneInputComponent
64
+ */
65
+ set placeholder(value) {
66
+ this.internalPlaceholder = value;
67
+ this.stateChanges.next();
68
+ }
69
+ /**
70
+ * Input field errors
71
+ *
72
+ * @type {string}
73
+ * @memberof PhoneInputComponent
74
+ */
75
+ set errors(errors) {
76
+ if (errors) {
77
+ this._errors = errors.filter(Boolean).map(error => this.sanitizer.bypassSecurityTrustHtml(error));
78
+ this.errorsLength = this.setErrorsLength();
79
+ }
80
+ }
81
+ static { this.nextId = 0; }
82
+ get shouldLabelFloat() {
83
+ return true;
84
+ }
85
+ get empty() {
86
+ return !!this.form.value;
87
+ }
88
+ get errorState() {
89
+ return this.errorMatcher.isErrorState(this.ngControl.control, null);
90
+ }
91
+ get value() {
92
+ return this.getNumberWithCountryCode();
93
+ }
94
+ get placeholder() {
95
+ return this.internalPlaceholder;
96
+ }
97
+ constructor(ngControl, errorMatcher, fb, focusMonitor, ref, iconRegistry, sanitizer, defaultAppTheme) {
98
+ this.ngControl = ngControl;
99
+ this.errorMatcher = errorMatcher;
100
+ this.fb = fb;
101
+ this.focusMonitor = focusMonitor;
102
+ this.ref = ref;
103
+ this.iconRegistry = iconRegistry;
104
+ this.sanitizer = sanitizer;
105
+ this.defaultAppTheme = defaultAppTheme;
106
+ /**
107
+ *
108
+ * Defines the application theme
109
+ *
110
+ * @type {ApplicationTheme}
111
+ * @memberof PhoneInputComponent
112
+ */
113
+ this.applicationTheme = 'light';
114
+ /**
115
+ * The language to be used
116
+ * @property language
117
+ * @type {Language}
118
+ * @memberof PhoneInputComponent
119
+ */
120
+ this.language = LanguageService.defaultLanguage;
121
+ this.countries = new BehaviorSubject([]);
122
+ this.countries$ = this.countries.asObservable();
123
+ this.form = this.fb.group({
124
+ phone_number: new UntypedFormControl(),
125
+ });
126
+ this.controlType = 'phone-number';
127
+ this.loadCountries$ = new BehaviorSubject([]);
128
+ this.countryCode = new BehaviorSubject('US');
129
+ this.stateChanges = new Subject();
130
+ this.selectFilterCtrl = new UntypedFormControl('');
131
+ this.id = `phone-number${PhoneInputComponent.nextId++}`;
132
+ this.describedBy = '';
133
+ this.DEFAULT_COUNTRY_CODE = 'US';
134
+ this.unsubscribeAll$ = new Subject();
135
+ this.trackByFn = (index, value) => value.changingThisBreaksApplicationSecurity;
136
+ if (this.ngControl != null) {
137
+ this.ngControl.valueAccessor = this;
138
+ }
139
+ if (defaultAppTheme) {
140
+ this.applicationTheme = defaultAppTheme;
141
+ }
142
+ }
143
+ /**
144
+ * Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched
145
+ * to display validation errors that might happen (e.g. required)
146
+ */
147
+ ngDoCheck() {
148
+ if (this.ngControl?.touched) {
149
+ this.ref.markForCheck();
150
+ }
151
+ }
152
+ ngOnInit() {
153
+ this.loadCountries();
154
+ this.preSelectCountry();
155
+ this.subscribeToFocusEvents();
156
+ }
157
+ registerCountryFlag(countryIso) {
158
+ countryIso = countryIso.toLowerCase();
159
+ this.iconRegistry.addSvgIcon(countryIso, this.sanitizer.bypassSecurityTrustResourceUrl(`assets/svg-country-flags/${countryIso}.svg`));
160
+ }
161
+ setErrorsLength() {
162
+ if (!!this._errors) {
163
+ return this._errors.filter(err => !!err).length > 0;
164
+ }
165
+ return false;
166
+ }
167
+ setDescribedByIds(ids) {
168
+ this.userAriaDescribedBy = ids.join(' ');
169
+ }
170
+ writeValue(phoneNumber) {
171
+ if (phoneNumber) {
172
+ this.value = phoneNumber;
173
+ }
174
+ }
175
+ registerOnChange(fn) {
176
+ this.onChange = fn;
177
+ }
178
+ registerOnTouched(fn) {
179
+ this.onTouch = fn;
180
+ }
181
+ setDisabledState(isDisabled) {
182
+ if (isDisabled) {
183
+ this.form.disable();
184
+ }
185
+ else {
186
+ this.form.enable();
187
+ }
188
+ this.disabled = isDisabled;
189
+ this.stateChanges.next();
190
+ }
191
+ ngOnDestroy() {
192
+ this.focusMonitor.stopMonitoring(this.input);
193
+ this.focusMonitor.stopMonitoring(this.select);
194
+ this.stateChanges.complete();
195
+ this.unsubscribeAll$.next();
196
+ this.unsubscribeAll$.complete();
197
+ }
198
+ onOptionsSelected(value) {
199
+ this.setCountry(value);
200
+ }
201
+ onInput(value) {
202
+ this.value = (this.selectedCountry?.callingCode ?? '') + value;
203
+ this.onChange(this.value);
204
+ }
205
+ filteredCountryTrackByMethod(index, el) {
206
+ return el.alpha2Code;
207
+ }
208
+ getNumberWithCountryCode() {
209
+ const nationalNumber = this.form.value?.phone_number;
210
+ return nationalNumber ? (this.selectedCountry?.callingCode ?? '') + nationalNumber : '';
211
+ }
212
+ subscribeToFocusEvents() {
213
+ const selectAndInputFocus$ = combineLatest([
214
+ this.focusMonitor.monitor(this.select),
215
+ this.focusMonitor.monitor(this.input),
216
+ ]).pipe(takeUntil(this.unsubscribeAll$), debounceTime(10));
217
+ selectAndInputFocus$.subscribe(([selectFocus, inputFocus]) => {
218
+ this.focused = !!(selectFocus || inputFocus);
219
+ this.stateChanges.next();
220
+ });
221
+ selectAndInputFocus$.pipe(take(1)).subscribe(() => {
222
+ this.onTouch();
223
+ });
224
+ }
225
+ preSelectCountry() {
226
+ this.setDisabledState(true);
227
+ combineLatest([
228
+ this.countries$.pipe(filter(countries => countries.length > 0), first()),
229
+ this.countryCode,
230
+ ])
231
+ .pipe(map(([countries, selectedCountry]) => {
232
+ if (!this.initialValue) {
233
+ const country = this.getCountryByAlpha2Code(selectedCountry) || this.getCountryByAlpha2Code(this.DEFAULT_COUNTRY_CODE);
234
+ this.setCountry(country);
235
+ }
236
+ else {
237
+ this.value = this.initialValue;
238
+ }
239
+ this.setDisabledState(false);
240
+ this.ref.markForCheck();
241
+ }))
242
+ .subscribe();
243
+ }
244
+ setCountry(country) {
245
+ if (country) {
246
+ this.selectedCountry = country;
247
+ }
248
+ this.value = this.getNumberWithCountryCode();
249
+ }
250
+ getCountryByAlpha2Code(alpha2Code) {
251
+ return this.countries.value.find(country => country.alpha2Code === alpha2Code);
252
+ }
253
+ getCountryByCallingCode(callingCode) {
254
+ return this.countries.value.find(country => country.callingCode === callingCode);
255
+ }
256
+ loadCountries() {
257
+ const searchText$ = this.selectFilterCtrl.valueChanges.pipe(debounceTime(100), startWith(''));
258
+ combineLatest([this.loadCountries$, searchText$])
259
+ .pipe(takeUntil(this.unsubscribeAll$), tap(([countries, searchText]) => {
260
+ const searchTextLowerCase = searchText.toLowerCase();
261
+ const filteredCountries = countries
262
+ .filter(option => option.name.toLowerCase().includes(searchTextLowerCase) ||
263
+ option.alpha2Code.toLowerCase().includes(searchTextLowerCase) ||
264
+ option.callingCode.toLowerCase().includes(searchTextLowerCase))
265
+ .sort((optionA, optionB) => (optionB.name.startsWith(searchText) ? 1 : -1));
266
+ this.countries.next(filteredCountries);
267
+ }), delay(1), tap(() => {
268
+ const countryFound = this.getCountryByAlpha2Code(this.selectedCountry?.alpha2Code);
269
+ this.selectedCountry = countryFound || this.selectedCountry;
270
+ this.ref.markForCheck();
271
+ }))
272
+ .subscribe();
273
+ }
274
+ disableClick(ev) {
275
+ ev.preventDefault();
276
+ ev.stopPropagation();
277
+ }
278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.ErrorStateMatcher }, { token: i1.UntypedFormBuilder }, { token: i3.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i4.MatIconRegistry }, { token: i5.DomSanitizer }, { token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
279
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PhoneInputComponent, selector: "ui-phone-input", inputs: { value: "value", countryList: "countryList", placeholder: "placeholder", disabled: "disabled", required: "required", applicationTheme: "applicationTheme", errors: "errors", language: "language" }, host: { properties: { "attr.disabled": "this.disabled", "attr.app-theme": "this.applicationTheme", "id": "this.id", "class.floated": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
280
+ {
281
+ provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
282
+ useValue: { overlayPanelClass: 'phone-number-autocomplete' },
283
+ },
284
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true, read: ElementRef, static: true }, { propertyName: "select", first: true, predicate: MatSelect, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select'\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || ngControl?.errors\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[app-theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[app-theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[app-theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[app-theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[app-theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[app-theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i10.MatSelectSearchClearDirective, selector: "[ngxMatSelectSearchClear]" }, { kind: "component", type: i11.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme"] }, { kind: "component", type: i12.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "label", "applicationTheme", "language"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i14.JoinStringsPipe, name: "joinStrings" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
285
+ }
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponent, decorators: [{
287
+ type: Component,
288
+ args: [{ selector: 'ui-phone-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
289
+ {
290
+ provide: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,
291
+ useValue: { overlayPanelClass: 'phone-number-autocomplete' },
292
+ },
293
+ ], template: "<mat-form-field\n [formGroup]=\"form\"\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ disabled: form.disabled }\"\n>\n <mat-label>{{ 'COMMON.PHONE_NUMBER' | uiTranslate : language }} <span *ngIf=\"required\">*</span></mat-label>\n\n <div matPrefix class=\"country\">\n <button class=\"selected-flag\" matPrefix *ngIf=\"selectedCountry\">\n <mat-icon [svgIcon]=\"selectedCountry?.alpha2Code?.toLowerCase()!\"></mat-icon>\n </button>\n <mat-select\n #select\n (selectionChange)=\"onOptionsSelected($event.value)\"\n [value]=\"selectedCountry\"\n [disableOptionCentering]=\"true\"\n [panelClass]=\"'phone-number-select'\"\n [ngClass]=\"{ opened: select.panelOpen }\"\n >\n <mat-select-trigger>{{ selectedCountry?.callingCode }}</mat-select-trigger>\n <mat-option>\n <ngx-mat-select-search\n [formControl]=\"selectFilterCtrl\"\n ngDefaultControl\n placeholderLabel=\"\"\n noEntriesFoundLabel=\"\"\n >\n <ui-icon ngxMatSelectSearchClear size=\"24\" [name]=\"'Close-in-line'\"></ui-icon>\n </ngx-mat-select-search>\n </mat-option>\n <mat-option *ngFor=\"let country of countries$ | async; trackBy: filteredCountryTrackByMethod\" [value]=\"country\">\n <mat-icon [svgIcon]=\"country?.alpha2Code?.toLowerCase()!\"></mat-icon>\n <small>{{ $any([country?.name, '(' + country?.callingCode + ')']) | joinStrings : ' ' }}</small>\n </mat-option>\n </mat-select>\n </div>\n\n <input\n (input)=\"onInput(form.get('phone_number')!.value)\"\n formControlName=\"phone_number\"\n (click)=\"disableClick($event)\"\n [ngStyle]=\"{ opacity: disabled ? 0.5 : 1 }\"\n [required]=\"required\"\n matInput\n type=\"text\"\n />\n\n <mat-hint class=\"error\" *ngIf=\"errorsLength || ngControl?.errors\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n\n <ui-validation-error [ngControl]=\"ngControl\" [label]=\"'COMMON.PHONE_NUMBER' | uiTranslate : language\" [language]=\"language\"></ui-validation-error>\n\n </mat-hint>\n</mat-form-field>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;align-items:center}:host .selected-flag{display:flex;position:relative;margin-right:1rem;align-items:center}:host mat-spinner{padding:0 20px}:host .country{cursor:pointer!important;display:flex;align-items:center;margin:-8px 12px 0 16px}:host .country button{margin:0 8px 0 0;background:transparent;border:unset;padding:0}:host ::ng-deep .mat-mdc-select-trigger{display:flex;gap:8px}:host mat-select{flex:0}:host .mat-mdc-form-field{min-width:320px}:host .mat-mdc-form-field.disabled ::ng-deep *{border-color:#d3d3d3;color:#d3d3d3;pointer-events:none}:host .mat-mdc-form-field.disabled ::ng-deep * .mat-mdc-select-arrow{opacity:.1}:host[app-theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow,:host[app-theme=light] mat-select ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 17.025L6 11.025L7.4 9.625L12 14.225L16.6 9.625L18 11.025L12 17.025Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}:host[app-theme=dark] mat-select ::ng-deep .mat-mdc-select-arrow svg,:host[app-theme=light] mat-select ::ng-deep .mat-mdc-select-arrow svg{display:none}:host[app-theme=dark] mat-select.opened ::ng-deep .mat-mdc-select-arrow,:host[app-theme=light] mat-select.opened ::ng-deep .mat-mdc-select-arrow{background:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2225%22 viewBox%3D%220 0 24 25%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M12 9.6249L18 15.6249L16.6 17.0249L12 12.4249L7.4 17.0249L6 15.6249L12 9.6249Z%22 fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E\");background-size:cover;width:16px;height:16px}::ng-deep .mat-form-field-appearance-outline mat-select .mat-select-arrow-wrapper{transform:none}::ng-deep .mat-select-panel.phone-number-select{margin-top:36px;margin-left:45px}::ng-deep .mat-select-search-inner{box-shadow:none!important;height:48px;background-color:#fff!important;border-bottom:none!important}::ng-deep .mat-select-search-inner .mat-select-search-inner-row{width:100%}::ng-deep .mat-select-search-inner button.mat-select-search-clear{right:35px}::ng-deep .mat-select-search-inner button.mat-select-search-clear mat-icon{font-size:20px}@media screen and (min-width: 599px){::ng-deep .mat-select-panel.phone-number-select{margin-left:-33px;min-width:510px}::ng-deep .mat-select-search-inner{min-width:calc(100% + 33px)!important}}ngx-mat-select-search ::ng-deep button .mat-mdc-button-persistent-ripple,ngx-mat-select-search ::ng-deep button .mat-ripple,ngx-mat-select-search ::ng-deep button .mat-mdc-button-ripple{display:none}\n"] }]
294
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
295
+ type: Optional
296
+ }, {
297
+ type: Self
298
+ }] }, { type: i2.ErrorStateMatcher }, { type: i1.UntypedFormBuilder }, { type: i3.FocusMonitor }, { type: i0.ChangeDetectorRef }, { type: i4.MatIconRegistry }, { type: i5.DomSanitizer }, { type: undefined, decorators: [{
299
+ type: Optional
300
+ }, {
301
+ type: Inject,
302
+ args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
303
+ }] }]; }, propDecorators: { value: [{
304
+ type: Input
305
+ }], countryList: [{
306
+ type: Input
307
+ }], placeholder: [{
308
+ type: Input
309
+ }], disabled: [{
310
+ type: HostBinding,
311
+ args: ['attr.disabled']
312
+ }, {
313
+ type: Input
314
+ }], required: [{
315
+ type: Input
316
+ }], applicationTheme: [{
317
+ type: HostBinding,
318
+ args: ['attr.app-theme']
319
+ }, {
320
+ type: Input
321
+ }], errors: [{
322
+ type: Input
323
+ }], language: [{
324
+ type: Input
325
+ }], input: [{
326
+ type: ViewChild,
327
+ args: [MatInput, { read: ElementRef, static: true }]
328
+ }], select: [{
329
+ type: ViewChild,
330
+ args: [MatSelect, { read: ElementRef, static: true }]
331
+ }], id: [{
332
+ type: HostBinding
333
+ }], shouldLabelFloat: [{
334
+ type: HostBinding,
335
+ args: ['class.floated']
336
+ }], describedBy: [{
337
+ type: HostBinding,
338
+ args: ['attr.aria-describedby']
339
+ }] } });
340
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQvcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsU0FBUyxFQUNULE9BQU8sRUFDUCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWU1RSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7OztPQUtHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENB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O3FCQUNGOzswQkEySkUsUUFBUTs7MEJBQUksSUFBSTs7MEJBT2hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzRDQXhKdEQsS0FBSztzQkFEUixLQUFLO2dCQXVCTyxXQUFXO3NCQUF2QixLQUFLO2dCQWFGLFdBQVc7c0JBRGQsS0FBSztnQkFjTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixLQUFLO2dCQVVPLE1BQU07c0JBQWxCLEtBQUs7Z0JBYUcsUUFBUTtzQkFBaEIsS0FBSztnQkFtQkMsS0FBSztzQkFEWCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHaEQsTUFBTTtzQkFEWixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJeEQsRUFBRTtzQkFERCxXQUFXO2dCQUlSLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxlQUFlO2dCQUtVLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcbiAgVW50eXBlZEZvcm1Hcm91cCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IHBhcnNlUGhvbmVOdW1iZXIgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlYm91bmNlVGltZSxcbiAgZGVsYXksXG4gIGZpbHRlcixcbiAgZmlyc3QsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVJQ291bnRyeSB9IGZyb20gJy4vcGhvbmUtaW5wdXQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1waG9uZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7IG92ZXJsYXlQYW5lbENsYXNzOiAncGhvbmUtbnVtYmVyLWF1dG9jb21wbGV0ZScgfSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgLyoqXG4gICAqIFBob25lIG51bWJlclxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlIHx8IHZhbHVlO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHBhcnNlZC5mb3JtYXRJbnRlcm5hdGlvbmFsKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0Q291bnRyeUJ5QWxwaGEyQ29kZShwYXJzZWQuY291bnRyeSEpIHx8IHRoaXMuc2VsZWN0ZWRDb3VudHJ5O1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZC5yZXBsYWNlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAodmFsdWU/Lmxlbmd0aCA8PSA0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5QnlDYWxsaW5nQ29kZSh2YWx1ZSkgfHwgdGhpcy5zZWxlY3RlZENvdW50cnk7XG4gICAgICB9XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHBob25lX251bWJlcjogdmFsdWU/LnJlcGxhY2UodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlLCAnJykgfSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3VudHJ5IGxpc3QgZm9yIHNlbGVjdFxuICAgKlxuICAgKiBAdHlwZSB7VUlDb3VudHJ5W119XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgY291bnRyeUxpc3QoY291bnRyeUxpc3Q6IFVJQ291bnRyeVtdKSB7XG4gICAgY291bnRyeUxpc3QuZm9yRWFjaChjb3VudHJ5ID0+IHRoaXMucmVnaXN0ZXJDb3VudHJ5RmxhZyhjb3VudHJ5LmFscGhhMkNvZGUpKTtcbiAgICB0aGlzLmxvYWRDb3VudHJpZXMkLm5leHQoY291bnRyeUxpc3QpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeUxpc3RbMF07XG4gIH1cblxuICAvKipcbiAgICogUGxhY2Vob2xkZXIgaW5wdXRcbiAgICpcbiAgICogQHR5cGUge3RleHR9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW50ZXJuYWxQbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGlucHV0IGlzIGRpc2FibGVkXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRpc2FibGVkJylcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGlzIHJlcXVpcmVkIG9yIG5vdFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFBob25lSW5wdXRDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcHAtdGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICBfZXJyb3JzOiBTYWZlSHRtbFtdO1xuICAvKipcbiAgICogSW5wdXQgZmllbGQgZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBQaG9uZUlucHV0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgZXJyb3JzKGVycm9yczogc3RyaW5nW10pIHtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICB0aGlzLl9lcnJvcnMgPSBlcnJvcnMuZmlsdGVyKEJvb2xlYW4pLm1hcChlcnJvciA9PiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChlcnJvcikpO1xuICAgICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbGFuZ3VhZ2UgdG8gYmUgdXNlZFxuICAgKiBAcHJvcGVydHkgbGFuZ3VhZ2VcbiAgICogQHR5cGUge0xhbmd1YWdlfVxuICAgKiBAbWVtYmVyb2YgUGhvbmVJbnB1dENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gIHByaXZhdGUgY291bnRyaWVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVSUNvdW50cnlbXT4oW10pO1xuICBwcm90ZWN0ZWQgY291bnRyaWVzJCA9IHRoaXMuY291bnRyaWVzLmFzT2JzZXJ2YWJsZSgpO1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgcGhvbmVfbnVtYmVyOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCksXG4gIH0pO1xuICBwcm90ZWN0ZWQgY29udHJvbFR5cGUgPSAncGhvbmUtbnVtYmVyJztcbiAgcHJvdGVjdGVkIHVzZXJBcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBsb2FkQ291bnRyaWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VUlDb3VudHJ5W10+KFtdKTtcbiAgcHJvdGVjdGVkIGNvdW50cnlDb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdVUycpO1xuICBwcm90ZWN0ZWQgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIGZvY3VzZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBzZWxlY3RGaWx0ZXJDdHJsID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG4gIHByb3RlY3RlZCBlcnJvcnNMZW5ndGg6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZChNYXRJbnB1dCwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZChNYXRTZWxlY3QsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzZWxlY3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygpXG4gIGlkID0gYHBob25lLW51bWJlciR7UGhvbmVJbnB1dENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRlZCcpXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xuXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZvcm0udmFsdWU7XG4gIH1cblxuICBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck1hdGNoZXIuaXNFcnJvclN0YXRlKHRoaXMubmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sLCBudWxsKTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldE51bWJlcldpdGhDb3VudHJ5Q29kZSgpO1xuICB9XG5cbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmludGVybmFsUGxhY2Vob2xkZXI7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQ09VTlRSWV9DT0RFID0gJ1VTJztcbiAgcHJpdmF0ZSBpbnRlcm5hbFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzZWxlY3RlZENvdW50cnk6IFVJQ291bnRyeTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIHByaXZhdGUgZXJyb3JNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBtYXJrIGNvbXBvbmVudCB2aWV3IGFzIGRpcnR5IHdoZW4gdG91Y2hlZCBwcm9ncmFtbWF0aWNhbGx5IHdpdGggbWFya0FzVG91Y2hlZC9tYXJrQWxsQXNUb3VjaGVkXG4gICAqIHRvIGRpc3BsYXkgdmFsaWRhdGlvbiBlcnJvcnMgdGhhdCBtaWdodCBoYXBwZW4gKGUuZy4gcmVxdWlyZWQpXG4gICAqL1xuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sPy50b3VjaGVkKSB7XG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRDb3VudHJpZXMoKTtcbiAgICB0aGlzLnByZVNlbGVjdENvdW50cnkoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvRm9jdXNFdmVudHMoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ291bnRyeUZsYWcoY291bnRyeUlzbzogc3RyaW5nKTogdm9pZCB7XG4gICAgY291bnRyeUlzbyA9IGNvdW50cnlJc28udG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLmljb25SZWdpc3RyeS5hZGRTdmdJY29uKFxuICAgICAgY291bnRyeUlzbyxcbiAgICAgIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChgYXNzZXRzL3N2Zy1jb3VudHJ5LWZsYWdzLyR7Y291bnRyeUlzb30uc3ZnYClcbiAgICApO1xuICB9XG5cbiAgc2V0RXJyb3JzTGVuZ3RoKCk6IGJvb2xlYW4ge1xuICAgIGlmICghIXRoaXMuX2Vycm9ycykge1xuICAgICAgcmV0dXJuIHRoaXMuX2Vycm9ycy5maWx0ZXIoZXJyID0+ICEhZXJyKS5sZW5ndGggPiAwO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQXJpYURlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZDtcblxuICB3cml0ZVZhbHVlKHBob25lTnVtYmVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocGhvbmVOdW1iZXIpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBwaG9uZU51bWJlcjtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmlucHV0KTtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLnNlbGVjdCk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uT3B0aW9uc1NlbGVjdGVkKHZhbHVlOiBVSUNvdW50cnkpIHtcbiAgICB0aGlzLnNldENvdW50cnkodmFsdWUpO1xuICB9XG5cbiAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9ICh0aGlzLnNlbGVjdGVkQ291bnRyeT8uY2FsbGluZ0NvZGUgPz8gJycpICsgdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGZpbHRlcmVkQ291bnRyeVRyYWNrQnlNZXRob2QoaW5kZXg6IG51bWJlciwgZWw6IFVJQ291bnRyeSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGVsLmFscGhhMkNvZGU7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWJlcldpdGhDb3VudHJ5Q29kZSgpIHtcbiAgICBjb25zdCBuYXRpb25hbE51bWJlciA9IHRoaXMuZm9ybS52YWx1ZT8ucGhvbmVfbnVtYmVyIGFzIHN0cmluZztcbiAgICByZXR1cm4gbmF0aW9uYWxOdW1iZXIgPyAodGhpcy5zZWxlY3RlZENvdW50cnk/LmNhbGxpbmdDb2RlID8/ICcnKSArIG5hdGlvbmFsTnVtYmVyIDogJyc7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvRm9jdXNFdmVudHMoKSB7XG4gICAgY29uc3Qgc2VsZWN0QW5kSW5wdXRGb2N1cyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5zZWxlY3QpLFxuICAgICAgdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLmlucHV0KSxcbiAgICBdKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCksIGRlYm91bmNlVGltZSgxMCkpO1xuXG4gICAgc2VsZWN0QW5kSW5wdXRGb2N1cyQuc3Vic2NyaWJlKChbc2VsZWN0Rm9jdXMsIGlucHV0Rm9jdXNdKSA9PiB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIShzZWxlY3RGb2N1cyB8fCBpbnB1dEZvY3VzKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHNlbGVjdEFuZElucHV0Rm9jdXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVTZWxlY3RDb3VudHJ5KCkge1xuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0cnVlKTtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY291bnRyaWVzJC5waXBlKFxuICAgICAgICBmaWx0ZXIoY291bnRyaWVzID0+IGNvdW50cmllcy5sZW5ndGggPiAwKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuY291bnRyeUNvZGUsXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFtjb3VudHJpZXMsIHNlbGVjdGVkQ291bnRyeV0pID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBjb3VudHJ5ID1cbiAgICAgICAgICAgICAgdGhpcy5nZXRDb3VudHJ5QnlBbHBoYTJDb2RlKHNlbGVjdGVkQ291bnRyeSkgfHwgdGhpcy5nZXRDb3VudHJ5QnlBbHBoYTJDb2RlKHRoaXMuREVGQVVMVF9DT1VOVFJZX0NPREUpO1xuICAgICAgICAgICAgdGhpcy5zZXRDb3VudHJ5KGNvdW50cnkgYXMgVUlDb3VudHJ5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldENvdW50cnkoY291bnRyeTogVUlDb3VudHJ5IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChjb3VudHJ5KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnk7XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldE51bWJlcldpdGhDb3VudHJ5Q29kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5QnlBbHBoYTJDb2RlKGFscGhhMkNvZGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNvdW50cmllcy52YWx1ZS5maW5kKGNvdW50cnkgPT4gY291bnRyeS5hbHBoYTJDb2RlID09PSBhbHBoYTJDb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUJ5Q2FsbGluZ0NvZGUoY2FsbGluZ0NvZGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmNvdW50cmllcy52YWx1ZS5maW5kKGNvdW50cnkgPT4gY291bnRyeS5jYWxsaW5nQ29kZSA9PT0gY2FsbGluZ0NvZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQ291bnRyaWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnNlbGVjdEZpbHRlckN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDEwMCksIHN0YXJ0V2l0aCgnJykpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5sb2FkQ291bnRyaWVzJCwgc2VhcmNoVGV4dCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCksXG4gICAgICAgIHRhcCgoW2NvdW50cmllcywgc2VhcmNoVGV4dF0pID0+IHtcbiAgICAgICAgICBjb25zdCBzZWFyY2hUZXh0TG93ZXJDYXNlID0gc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIGNvbnN0IGZpbHRlcmVkQ291bnRyaWVzID0gY291bnRyaWVzXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICBvcHRpb24gPT5cbiAgICAgICAgICAgICAgICBvcHRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHRMb3dlckNhc2UpIHx8XG4gICAgICAgICAgICAgICAgb3B0aW9uLmFscGhhMkNvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0TG93ZXJDYXNlKSB8fFxuICAgICAgICAgICAgICAgIG9wdGlvbi5jYWxsaW5nQ29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHRMb3dlckNhc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc29ydCgob3B0aW9uQSwgb3B0aW9uQikgPT4gKG9wdGlvbkIubmFtZS5zdGFydHNXaXRoKHNlYXJjaFRleHQpID8gMSA6IC0xKSk7XG4gICAgICAgICAgdGhpcy5jb3VudHJpZXMubmV4dChmaWx0ZXJlZENvdW50cmllcyk7XG4gICAgICAgIH0pLFxuICAgICAgICBkZWxheSgxKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBjb3VudHJ5Rm91bmQgPSB0aGlzLmdldENvdW50cnlCeUFscGhhMkNvZGUodGhpcy5zZWxlY3RlZENvdW50cnk/LmFscGhhMkNvZGUpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeUZvdW5kIHx8IHRoaXMuc2VsZWN0ZWRDb3VudHJ5O1xuICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZGlzYWJsZUNsaWNrKGV2OiBFdmVudCkge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICB0cmFja0J5Rm4gPSAoaW5kZXg6IG51bWJlciwgdmFsdWU6IGFueSkgPT4gdmFsdWUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZFxuICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gIFtjb2xvcl09XCIoZXJyb3JzTGVuZ3RoIHx8IChuZ0NvbnRyb2w/LmVycm9ycyAmJiBuZ0NvbnRyb2w/LnRvdWNoZWQgKSkgPyAnd2FybicgOiAnYWNjZW50J1wiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGZvcm0uZGlzYWJsZWQgfVwiXG4+XG4gIDxtYXQtbGFiZWw+e3sgJ0NPTU1PTi5QSE9ORV9OVU1CRVInIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L21hdC1sYWJlbD5cblxuICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cImNvdW50cnlcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwic2VsZWN0ZWQtZmxhZ1wiIG1hdFByZWZpeCAqbmdJZj1cInNlbGVjdGVkQ291bnRyeVwiPlxuICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInNlbGVjdGVkQ291bnRyeT8uYWxwaGEyQ29kZT8udG9Mb3dlckNhc2UoKSFcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0XG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uT3B0aW9uc1NlbGVjdGVkKCRldmVudC52YWx1ZSlcIlxuICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ291bnRyeVwiXG4gICAgICBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJcbiAgICAgIFtwYW5lbENsYXNzXT1cIidwaG9uZS1udW1iZXItc2VsZWN0J1wiXG4gICAgICBbbmdDbGFzc109XCJ7IG9wZW5lZDogc2VsZWN0LnBhbmVsT3BlbiB9XCJcbiAgICA+XG4gICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPnt7IHNlbGVjdGVkQ291bnRyeT8uY2FsbGluZ0NvZGUgfX08L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgIDxtYXQtb3B0aW9uPlxuICAgICAgICA8bmd4LW1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdEZpbHRlckN0cmxcIlxuICAgICAgICAgIG5nRGVmYXVsdENvbnRyb2xcbiAgICAgICAgICBwbGFjZWhvbGRlckxhYmVsPVwiXCJcbiAgICAgICAgICBub0VudHJpZXNGb3VuZExhYmVsPVwiXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uIG5neE1hdFNlbGVjdFNlYXJjaENsZWFyIHNpemU9XCIyNFwiIFtuYW1lXT1cIidDbG9zZS1pbi1saW5lJ1wiPjwvdWktaWNvbj5cbiAgICAgICAgPC9uZ3gtbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJpZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGZpbHRlcmVkQ291bnRyeVRyYWNrQnlNZXRob2RcIiBbdmFsdWVdPVwiY291bnRyeVwiPlxuICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiY291bnRyeT8uYWxwaGEyQ29kZT8udG9Mb3dlckNhc2UoKSFcIj48L21hdC1pY29uPlxuICAgICAgICA8c21hbGw+e3sgJGFueShbY291bnRyeT8ubmFtZSwgJygnICsgY291bnRyeT8uY2FsbGluZ0NvZGUgKyAnKSddKSB8IGpvaW5TdHJpbmdzIDogJyAnIH19PC9zbWFsbD5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxpbnB1dFxuICAgIChpbnB1dCk9XCJvbklucHV0KGZvcm0uZ2V0KCdwaG9uZV9udW1iZXInKSEudmFsdWUpXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZV9udW1iZXJcIlxuICAgIChjbGljayk9XCJkaXNhYmxlQ2xpY2soJGV2ZW50KVwiXG4gICAgW25nU3R5bGVdPVwieyBvcGFjaXR5OiBkaXNhYmxlZCA/IDAuNSA6IDEgfVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBtYXRJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgLz5cblxuICA8bWF0LWhpbnQgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiZXJyb3JzTGVuZ3RoIHx8IG5nQ29udHJvbD8uZXJyb3JzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yc0xlbmd0aFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yc1wiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBfZXJyb3JzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgPHVpLWljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cIidFcnJvcidcIj48L3VpLWljb24+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3JcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx1aS12YWxpZGF0aW9uLWVycm9yIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCIgW2xhYmVsXT1cIidDT01NT04uUEhPTkVfTlVNQkVSJyB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2VcIiBbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VcIj48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG5cbiAgPC9tYXQtaGludD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PhoneInputComponent } from './phone-input.component';
4
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
+ import { ReactiveFormsModule } from '@angular/forms';
6
+ import { MatSelectModule } from '@angular/material/select';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { JoinStringsPipe } from './join-strings.pipe';
9
+ import { MatInputModule } from '@angular/material/input';
10
+ import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
11
+ import { IconComponentModule } from '../icon/icon.component.module';
12
+ import { SpinnerComponentModule } from '../spinner/spinner.module';
13
+ import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
14
+ import { ValidationErrorModule } from '../validation-error/validation-error.module';
15
+ import * as i0 from "@angular/core";
16
+ export class PhoneInputComponentModule {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponentModule, declarations: [PhoneInputComponent, JoinStringsPipe], imports: [CommonModule,
19
+ MatProgressSpinnerModule,
20
+ ReactiveFormsModule,
21
+ MatSelectModule,
22
+ MatIconModule,
23
+ MatInputModule,
24
+ NgxMatSelectSearchModule,
25
+ IconComponentModule,
26
+ SpinnerComponentModule,
27
+ UiTranslatePipe,
28
+ ValidationErrorModule], exports: [PhoneInputComponent] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponentModule, imports: [CommonModule,
30
+ MatProgressSpinnerModule,
31
+ ReactiveFormsModule,
32
+ MatSelectModule,
33
+ MatIconModule,
34
+ MatInputModule,
35
+ NgxMatSelectSearchModule,
36
+ IconComponentModule,
37
+ SpinnerComponentModule,
38
+ ValidationErrorModule] }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PhoneInputComponentModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [PhoneInputComponent, JoinStringsPipe],
44
+ exports: [PhoneInputComponent],
45
+ imports: [
46
+ CommonModule,
47
+ MatProgressSpinnerModule,
48
+ ReactiveFormsModule,
49
+ MatSelectModule,
50
+ MatIconModule,
51
+ MatInputModule,
52
+ NgxMatSelectSearchModule,
53
+ IconComponentModule,
54
+ SpinnerComponentModule,
55
+ UiTranslatePipe,
56
+ ValidationErrorModule,
57
+ ],
58
+ }]
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Bob25lLWlucHV0L3Bob25lLWlucHV0LmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFtQnBGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQWhCckIsbUJBQW1CLEVBQUUsZUFBZSxhQUdqRCxZQUFZO1lBQ1osd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixlQUFlO1lBQ2YscUJBQXFCLGFBWmIsbUJBQW1CO2dIQWVsQix5QkFBeUIsWUFibEMsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFFdEIscUJBQXFCOzs0RkFHWix5QkFBeUI7a0JBakJyQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQztvQkFDcEQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixlQUFlO3dCQUNmLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBob25lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgSm9pblN0cmluZ3NQaXBlIH0gZnJvbSAnLi9qb2luLXN0cmluZ3MucGlwZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE5neE1hdFNlbGVjdFNlYXJjaE1vZHVsZSB9IGZyb20gJ25neC1tYXQtc2VsZWN0LXNlYXJjaCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1Bob25lSW5wdXRDb21wb25lbnQsIEpvaW5TdHJpbmdzUGlwZV0sXG4gIGV4cG9ydHM6IFtQaG9uZUlucHV0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBOZ3hNYXRTZWxlY3RTZWFyY2hNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBTcGlubmVyQ29tcG9uZW50TW9kdWxlLFxuICAgIFVpVHJhbnNsYXRlUGlwZSxcbiAgICBWYWxpZGF0aW9uRXJyb3JNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBob25lSW5wdXRDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3VudHJ5IGludGVyZmFjZSBJU08gMzE2NiAobWludXMgbnVtZXJpYyBjb2RlIGFuZCBhbHBoYTNDb2RlKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVJQ291bnRyeSB7XG4gIG5hbWU6IHN0cmluZztcbiAgYWxwaGEyQ29kZTogc3RyaW5nO1xuICBjYWxsaW5nQ29kZTogc3RyaW5nO1xufVxuIl19