valtech-components 2.0.372 → 2.0.374

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.
@@ -16,19 +16,44 @@ import * as i1 from "@angular/common";
16
16
  export class HintComponent {
17
17
  constructor() { }
18
18
  ngOnInit() { }
19
+ get shouldShowErrors() {
20
+ if (this.props.control) {
21
+ // Normal field with single control
22
+ return this.props.control.invalid && (this.props.control.touched || this.props.control.dirty);
23
+ }
24
+ else if (this.props.fromControl && this.props.toControl) {
25
+ // NUMBER_FROM_TO field with separate controls
26
+ const fromInvalid = this.props.fromControl.invalid && (this.props.fromControl.touched || this.props.fromControl.dirty);
27
+ const toInvalid = this.props.toControl.invalid && (this.props.toControl.touched || this.props.toControl.dirty);
28
+ return fromInvalid || toInvalid;
29
+ }
30
+ return false;
31
+ }
19
32
  get Errors() {
20
- const keys = Object.keys(this.props.errors);
33
+ const keys = Object.keys(this.props.errors || {});
21
34
  const errors = [];
22
35
  keys.map((e) => {
23
- if (this.props.control.hasError(e)) {
36
+ if (this.props.control && this.props.control.hasError(e)) {
37
+ // Normal field
24
38
  errors.push(this.props.errors[e]);
25
39
  }
40
+ else if (this.props.fromControl && this.props.toControl) {
41
+ // NUMBER_FROM_TO field - check both controls
42
+ const fromLabel = this.props.fromLabel || 'Inicial';
43
+ const toLabel = this.props.toLabel || 'Final';
44
+ if (this.props.fromControl.hasError(e)) {
45
+ errors.push(`${fromLabel}: ${this.props.errors[e]}`);
46
+ }
47
+ if (this.props.toControl.hasError(e)) {
48
+ errors.push(`${toLabel}: ${this.props.errors[e]}`);
49
+ }
50
+ }
26
51
  });
27
52
  return errors;
28
53
  }
29
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
55
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HintComponent, isStandalone: true, selector: "val-hint", inputs: { props: "props" }, ngImport: i0, template: `
31
- <div class="hint-container" *ngIf="props.control.invalid && (props.control.touched || props.control.dirty)">
56
+ <div class="hint-container" *ngIf="shouldShowErrors">
32
57
  <val-text
33
58
  *ngFor="let e of Errors"
34
59
  [props]="{
@@ -44,7 +69,7 @@ export class HintComponent {
44
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HintComponent, decorators: [{
45
70
  type: Component,
46
71
  args: [{ selector: 'val-hint', standalone: true, imports: [CommonModule, TextComponent], template: `
47
- <div class="hint-container" *ngIf="props.control.invalid && (props.control.touched || props.control.dirty)">
72
+ <div class="hint-container" *ngIf="shouldShowErrors">
48
73
  <val-text
49
74
  *ngFor="let e of Errors"
50
75
  [props]="{
@@ -59,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
84
  }], ctorParameters: () => [], propDecorators: { props: [{
60
85
  type: Input
61
86
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9oaW50L2hpbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQXNCaEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFTeEIsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLElBQUksTUFBTTtRQUNSLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQXRCVSxhQUFhO21HQUFiLGFBQWEsZ0dBekJkOzs7Ozs7Ozs7Ozs7R0FZVCxrdEZBYlMsWUFBWSxnUUFBRSxhQUFhOzs0RkEwQjFCLGFBQWE7a0JBN0J6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFlBQzVCOzs7Ozs7Ozs7Ozs7R0FZVDt3REFvQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWhpbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUZXh0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaGludC1jb250YWluZXJcIiAqbmdJZj1cInByb3BzLmNvbnRyb2wuaW52YWxpZCAmJiAocHJvcHMuY29udHJvbC50b3VjaGVkIHx8IHByb3BzLmNvbnRyb2wuZGlydHkpXCI+XG4gICAgICA8dmFsLXRleHRcbiAgICAgICAgKm5nRm9yPVwibGV0IGUgb2YgRXJyb3JzXCJcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICBjb250ZW50OiBlLFxuICAgICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICB9XCJcbiAgICAgID48L3ZhbC10ZXh0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9oaW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtaGludFxuICpcbiAqIERpc3BsYXlzIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMgZm9yIGEgZm9ybSBpbnB1dCwgdXNpbmcgQW5ndWxhciBmb3Jtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1oaW50IFtwcm9wc109XCJ7IGNvbnRyb2w6IG15Q29udHJvbCwgZXJyb3JzOiB7IHJlcXVpcmVkOiAnUmVxdWlyZWQgZmllbGQnIH0gfVwiPjwvdmFsLWhpbnQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBJbnB1dE1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGlucHV0IChmb3JtIGNvbnRyb2wsIGVycm9ycywgZXRjLilcbiAqL1xuZXhwb3J0IGNsYXNzIEhpbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtJbnB1dE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgaW5wdXQuXG4gICAqIEBwcm9wZXJ0eSBlcnJvcnMgLSBUaGUgZXJyb3IgbWVzc2FnZXMgbWFwcGluZy5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBJbnB1dE1ldGFkYXRhO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgZ2V0IEVycm9ycygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHJvcHMuZXJyb3JzKTtcbiAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICBrZXlzLm1hcCgoZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sLmhhc0Vycm9yKGUpKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKHRoaXMucHJvcHMuZXJyb3JzW2VdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9oaW50L2hpbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQXNCaEU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFTeEIsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLElBQUksZ0JBQWdCO1FBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixtQ0FBbUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEcsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxRCw4Q0FBOEM7WUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvRyxPQUFPLFdBQVcsSUFBSSxTQUFTLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtZQUNyQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6RCxlQUFlO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDMUQsNkNBQTZDO2dCQUM3QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7Z0JBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQztnQkFFOUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQWpEVSxhQUFhO21HQUFiLGFBQWEsZ0dBekJkOzs7Ozs7Ozs7Ozs7R0FZVCxrdEZBYlMsWUFBWSxnUUFBRSxhQUFhOzs0RkEwQjFCLGFBQWE7a0JBN0J6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFlBQzVCOzs7Ozs7Ozs7Ozs7R0FZVDt3REFvQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWhpbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUZXh0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaGludC1jb250YWluZXJcIiAqbmdJZj1cInNob3VsZFNob3dFcnJvcnNcIj5cbiAgICAgIDx2YWwtdGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgZSBvZiBFcnJvcnNcIlxuICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgIGNvbnRlbnQ6IGUsXG4gICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgIH1cIlxuICAgICAgPjwvdmFsLXRleHQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2hpbnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1oaW50XG4gKlxuICogRGlzcGxheXMgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcyBmb3IgYSBmb3JtIGlucHV0LCB1c2luZyBBbmd1bGFyIGZvcm1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWhpbnQgW3Byb3BzXT1cInsgY29udHJvbDogbXlDb250cm9sLCBlcnJvcnM6IHsgcmVxdWlyZWQ6ICdSZXF1aXJlZCBmaWVsZCcgfSB9XCI+PC92YWwtaGludD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgaW5wdXQgKGZvcm0gY29udHJvbCwgZXJyb3JzLCBldGMuKVxuICovXG5leHBvcnQgY2xhc3MgSGludENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBJbnB1dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0lucHV0TWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBjb250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBpbnB1dC5cbiAgICogQHByb3BlcnR5IGVycm9ycyAtIFRoZSBlcnJvciBtZXNzYWdlcyBtYXBwaW5nLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBnZXQgc2hvdWxkU2hvd0Vycm9ycygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sKSB7XG4gICAgICAvLyBOb3JtYWwgZmllbGQgd2l0aCBzaW5nbGUgY29udHJvbFxuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY29udHJvbC5pbnZhbGlkICYmICh0aGlzLnByb3BzLmNvbnRyb2wudG91Y2hlZCB8fCB0aGlzLnByb3BzLmNvbnRyb2wuZGlydHkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5mcm9tQ29udHJvbCAmJiB0aGlzLnByb3BzLnRvQ29udHJvbCkge1xuICAgICAgLy8gTlVNQkVSX0ZST01fVE8gZmllbGQgd2l0aCBzZXBhcmF0ZSBjb250cm9sc1xuICAgICAgY29uc3QgZnJvbUludmFsaWQgPSB0aGlzLnByb3BzLmZyb21Db250cm9sLmludmFsaWQgJiYgKHRoaXMucHJvcHMuZnJvbUNvbnRyb2wudG91Y2hlZCB8fCB0aGlzLnByb3BzLmZyb21Db250cm9sLmRpcnR5KTtcbiAgICAgIGNvbnN0IHRvSW52YWxpZCA9IHRoaXMucHJvcHMudG9Db250cm9sLmludmFsaWQgJiYgKHRoaXMucHJvcHMudG9Db250cm9sLnRvdWNoZWQgfHwgdGhpcy5wcm9wcy50b0NvbnRyb2wuZGlydHkpO1xuICAgICAgcmV0dXJuIGZyb21JbnZhbGlkIHx8IHRvSW52YWxpZDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IEVycm9ycygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHJvcHMuZXJyb3JzIHx8IHt9KTtcbiAgICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgICBcbiAgICBrZXlzLm1hcCgoZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250cm9sICYmIHRoaXMucHJvcHMuY29udHJvbC5oYXNFcnJvcihlKSkge1xuICAgICAgICAvLyBOb3JtYWwgZmllbGRcbiAgICAgICAgZXJyb3JzLnB1c2godGhpcy5wcm9wcy5lcnJvcnNbZV0pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmZyb21Db250cm9sICYmIHRoaXMucHJvcHMudG9Db250cm9sKSB7XG4gICAgICAgIC8vIE5VTUJFUl9GUk9NX1RPIGZpZWxkIC0gY2hlY2sgYm90aCBjb250cm9sc1xuICAgICAgICBjb25zdCBmcm9tTGFiZWwgPSB0aGlzLnByb3BzLmZyb21MYWJlbCB8fCAnSW5pY2lhbCc7XG4gICAgICAgIGNvbnN0IHRvTGFiZWwgPSB0aGlzLnByb3BzLnRvTGFiZWwgfHwgJ0ZpbmFsJztcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZyb21Db250cm9sLmhhc0Vycm9yKGUpKSB7XG4gICAgICAgICAgZXJyb3JzLnB1c2goYCR7ZnJvbUxhYmVsfTogJHt0aGlzLnByb3BzLmVycm9yc1tlXX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wcm9wcy50b0NvbnRyb2wuaGFzRXJyb3IoZSkpIHtcbiAgICAgICAgICBlcnJvcnMucHVzaChgJHt0b0xhYmVsfTogJHt0aGlzLnByb3BzLmVycm9yc1tlXX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIFxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
- import { IonInput, IonItem, IonLabel } from '@ionic/angular/standalone';
4
- import { applyDefaultValueToControl } from '../../../shared/utils/form-defaults';
3
+ import { IonInput, IonLabel } from '@ionic/angular/standalone';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/forms";
7
6
  export class NumberFromToComponent {
@@ -9,7 +8,52 @@ export class NumberFromToComponent {
9
8
  ngOnInit() {
10
9
  // Apply default values if configured
11
10
  if (this.props?.withDefault || this.props?.value) {
12
- applyDefaultValueToControl(this.props);
11
+ this.applyDefaultValues();
12
+ }
13
+ }
14
+ applyDefaultValues() {
15
+ const defaultValue = this.resolveDefaultValue();
16
+ if (defaultValue !== null) {
17
+ if (typeof defaultValue === 'object' && defaultValue.from !== undefined) {
18
+ this.fromControl?.setValue(defaultValue.from);
19
+ this.toControl?.setValue(defaultValue.to);
20
+ }
21
+ else {
22
+ // Si es un valor simple, aplicarlo a ambos controles
23
+ this.fromControl?.setValue(defaultValue);
24
+ this.toControl?.setValue(defaultValue);
25
+ }
26
+ this.fromControl?.markAsPristine();
27
+ this.toControl?.markAsPristine();
28
+ this.fromControl?.updateValueAndValidity();
29
+ this.toControl?.updateValueAndValidity();
30
+ }
31
+ }
32
+ resolveDefaultValue() {
33
+ // Explicit value takes precedence
34
+ if (this.props.value !== undefined && this.props.value !== null && this.props.value !== '') {
35
+ return this.parseValue(this.props.value);
36
+ }
37
+ // No default configuration
38
+ if (!this.props.withDefault) {
39
+ return null;
40
+ }
41
+ // Custom default value
42
+ if (typeof this.props.withDefault === 'string') {
43
+ return this.parseValue(this.props.withDefault);
44
+ }
45
+ // Auto default value (withDefault === true)
46
+ return { from: 0, to: 0 };
47
+ }
48
+ parseValue(value) {
49
+ try {
50
+ // Try to parse as JSON first (for object values)
51
+ return JSON.parse(value);
52
+ }
53
+ catch {
54
+ // If not JSON, treat as number
55
+ const numValue = parseFloat(value) || 0;
56
+ return { from: numValue, to: numValue };
13
57
  }
14
58
  }
15
59
  get fromControl() {
@@ -21,7 +65,7 @@ export class NumberFromToComponent {
21
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberFromToComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
66
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NumberFromToComponent, isStandalone: true, selector: "val-number-from-to", inputs: { props: "props" }, ngImport: i0, template: `
23
67
  <div class="number-from-to-container">
24
- <ion-label position="stacked">{{ props.fromLabel || 'Desde' }}</ion-label>
68
+ <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
25
69
  <ion-input
26
70
  [formControl]="fromControl"
27
71
  type="number"
@@ -31,7 +75,7 @@ export class NumberFromToComponent {
31
75
  >
32
76
  </ion-input>
33
77
 
34
- <ion-label position="stacked">{{ props.toLabel || 'Hasta' }}</ion-label>
78
+ <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
35
79
  <ion-input
36
80
  [formControl]="toControl"
37
81
  type="number"
@@ -45,9 +89,9 @@ export class NumberFromToComponent {
45
89
  }
46
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberFromToComponent, decorators: [{
47
91
  type: Component,
48
- args: [{ selector: 'val-number-from-to', standalone: true, imports: [ReactiveFormsModule, IonInput, IonItem, IonLabel], template: `
92
+ args: [{ selector: 'val-number-from-to', standalone: true, imports: [ReactiveFormsModule, IonInput, IonLabel], template: `
49
93
  <div class="number-from-to-container">
50
- <ion-label position="stacked">{{ props.fromLabel || 'Desde' }}</ion-label>
94
+ <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
51
95
  <ion-input
52
96
  [formControl]="fromControl"
53
97
  type="number"
@@ -57,7 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
57
101
  >
58
102
  </ion-input>
59
103
 
60
- <ion-label position="stacked">{{ props.toLabel || 'Hasta' }}</ion-label>
104
+ <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
61
105
  <ion-input
62
106
  [formControl]="toControl"
63
107
  type="number"
@@ -71,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
71
115
  }], ctorParameters: () => [], propDecorators: { props: [{
72
116
  type: Input
73
117
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZyb20tdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbnVtYmVyLWZyb20tdG8vbnVtYmVyLWZyb20tdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFnQ2pGLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRO1FBQ04scUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7K0dBbEJVLHFCQUFxQjttR0FBckIscUJBQXFCLDBHQXpCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQseUVBdkJTLG1CQUFtQiwwVEFBRSxRQUFRLDhlQUFXLFFBQVE7OzRGQTBCL0MscUJBQXFCO2tCQTdCakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsWUFDakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7d0RBSVEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbklucHV0LCBJb25JdGVtLCBJb25MYWJlbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJbnB1dE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbnVtYmVyLWZyb20tdG8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXQsIElvbkl0ZW0sIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibnVtYmVyLWZyb20tdG8tY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwic3RhY2tlZFwiPnt7IHByb3BzLmZyb21MYWJlbCB8fCAnRGVzZGUnIH19PC9pb24tbGFiZWw+XG4gICAgICA8aW9uLWlucHV0XG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmcm9tQ29udHJvbFwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMuZnJvbVBsYWNlaG9sZGVyIHx8IHByb3BzLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW21pbl09XCJwcm9wcy5yYW5nZT8ubWluXCJcbiAgICAgICAgW21heF09XCJwcm9wcy5yYW5nZT8ubWF4XCJcbiAgICAgID5cbiAgICAgIDwvaW9uLWlucHV0PlxuXG4gICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwic3RhY2tlZFwiPnt7IHByb3BzLnRvTGFiZWwgfHwgJ0hhc3RhJyB9fTwvaW9uLWxhYmVsPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwidG9Db250cm9sXCJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy50b1BsYWNlaG9sZGVyIHx8IHByb3BzLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW21pbl09XCJwcm9wcy5yYW5nZT8ubWluXCJcbiAgICAgICAgW21heF09XCJwcm9wcy5yYW5nZT8ubWF4XCJcbiAgICAgID5cbiAgICAgIDwvaW9uLWlucHV0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItZnJvbS10by5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJGcm9tVG9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogSW5wdXRNZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gQXBwbHkgZGVmYXVsdCB2YWx1ZXMgaWYgY29uZmlndXJlZFxuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wodGhpcy5wcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZyb21Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5mcm9tQ29udHJvbDtcbiAgfVxuXG4gIGdldCB0b0NvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnRvQ29udHJvbDtcbiAgfVxufVxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZyb20tdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbnVtYmVyLWZyb20tdG8vbnVtYmVyLWZyb20tdG8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQWdDL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTixxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ2hELElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFCLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixxREFBcUQ7Z0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMzRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELDRDQUE0QztRQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQztZQUNILGlEQUFpRDtZQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLCtCQUErQjtZQUMvQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDOUIsQ0FBQzsrR0FuRVUscUJBQXFCO21HQUFyQixxQkFBcUIsMEdBekJ0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVCx5RUF2QlMsbUJBQW1CLDBUQUFFLFFBQVEsOGVBQUUsUUFBUTs7NEZBMEJ0QyxxQkFBcUI7a0JBN0JqQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQ3hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUO3dEQUlRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25JbnB1dCwgSW9uTGFiZWwgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1udW1iZXItZnJvbS10bycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JbnB1dCwgSW9uTGFiZWxdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXItZnJvbS10by1jb250YWluZXJcIj5cbiAgICAgIDxpb24tbGFiZWwgcG9zaXRpb249XCJzdGFja2VkXCI+e3sgcHJvcHMuZnJvbUxhYmVsIHx8ICdJbmljaWFsJyB9fTwvaW9uLWxhYmVsPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnJvbUNvbnRyb2xcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLmZyb21QbGFjZWhvbGRlciB8fCBwcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFttaW5dPVwicHJvcHMucmFuZ2U/Lm1pblwiXG4gICAgICAgIFttYXhdPVwicHJvcHMucmFuZ2U/Lm1heFwiXG4gICAgICA+XG4gICAgICA8L2lvbi1pbnB1dD5cblxuICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cInN0YWNrZWRcIj57eyBwcm9wcy50b0xhYmVsIHx8ICdGaW5hbCcgfX08L2lvbi1sYWJlbD5cbiAgICAgIDxpb24taW5wdXRcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInRvQ29udHJvbFwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMudG9QbGFjZWhvbGRlciB8fCBwcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFttaW5dPVwicHJvcHMucmFuZ2U/Lm1pblwiXG4gICAgICAgIFttYXhdPVwicHJvcHMucmFuZ2U/Lm1heFwiXG4gICAgICA+XG4gICAgICA8L2lvbi1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLWZyb20tdG8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRnJvbVRvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHJvcHM6IElucHV0TWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEFwcGx5IGRlZmF1bHQgdmFsdWVzIGlmIGNvbmZpZ3VyZWRcbiAgICBpZiAodGhpcy5wcm9wcz8ud2l0aERlZmF1bHQgfHwgdGhpcy5wcm9wcz8udmFsdWUpIHtcbiAgICAgIHRoaXMuYXBwbHlEZWZhdWx0VmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURlZmF1bHRWYWx1ZXMoKSB7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5yZXNvbHZlRGVmYXVsdFZhbHVlKCk7XG4gICAgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnICYmIGRlZmF1bHRWYWx1ZS5mcm9tICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5mcm9tQ29udHJvbD8uc2V0VmFsdWUoZGVmYXVsdFZhbHVlLmZyb20pO1xuICAgICAgICB0aGlzLnRvQ29udHJvbD8uc2V0VmFsdWUoZGVmYXVsdFZhbHVlLnRvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpIGVzIHVuIHZhbG9yIHNpbXBsZSwgYXBsaWNhcmxvIGEgYW1ib3MgY29udHJvbGVzXG4gICAgICAgIHRoaXMuZnJvbUNvbnRyb2w/LnNldFZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIHRoaXMudG9Db250cm9sPy5zZXRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5mcm9tQ29udHJvbD8ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIHRoaXMudG9Db250cm9sPy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgdGhpcy5mcm9tQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy50b0NvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVEZWZhdWx0VmFsdWUoKTogYW55IHtcbiAgICAvLyBFeHBsaWNpdCB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlXG4gICAgaWYgKHRoaXMucHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnByb3BzLnZhbHVlICE9PSBudWxsICYmIHRoaXMucHJvcHMudmFsdWUgIT09ICcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVZhbHVlKHRoaXMucHJvcHMudmFsdWUpO1xuICAgIH1cblxuICAgIC8vIE5vIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgIGlmICghdGhpcy5wcm9wcy53aXRoRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIGRlZmF1bHQgdmFsdWVcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMud2l0aERlZmF1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVZhbHVlKHRoaXMucHJvcHMud2l0aERlZmF1bHQpO1xuICAgIH1cblxuICAgIC8vIEF1dG8gZGVmYXVsdCB2YWx1ZSAod2l0aERlZmF1bHQgPT09IHRydWUpXG4gICAgcmV0dXJuIHsgZnJvbTogMCwgdG86IDAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VWYWx1ZSh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICB0cnkge1xuICAgICAgLy8gVHJ5IHRvIHBhcnNlIGFzIEpTT04gZmlyc3QgKGZvciBvYmplY3QgdmFsdWVzKVxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWYgbm90IEpTT04sIHRyZWF0IGFzIG51bWJlclxuICAgICAgY29uc3QgbnVtVmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKSB8fCAwO1xuICAgICAgcmV0dXJuIHsgZnJvbTogbnVtVmFsdWUsIHRvOiBudW1WYWx1ZSB9O1xuICAgIH1cbiAgfVxuXG4gIGdldCBmcm9tQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZnJvbUNvbnRyb2w7XG4gIH1cblxuICBnZXQgdG9Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50b0NvbnRyb2w7XG4gIH1cbn1cbiJdfQ==
@@ -95,6 +95,7 @@ export class FormComponent {
95
95
  ...field,
96
96
  fromControl,
97
97
  toControl,
98
+ control: undefined, // Remove control for NUMBER_FROM_TO fields
98
99
  };
99
100
  }
100
101
  else {
@@ -314,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
314
315
  }], onSelectChange: [{
315
316
  type: Output
316
317
  }] } });
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBdUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVB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QixvQkFBb0Isc0dBQ3BCLGdCQUFnQiwyRUFDaEIsYUFBYSx3RUFDYixxQkFBcUIsaUZBQ3JCLGtCQUFrQiw4RUFDbEIsa0JBQWtCLDhFQUNsQixrQkFBa0IsOEVBQ2xCLG1CQUFtQiwrRUFDbkIsb0JBQW9CLGdGQUNwQixxQkFBcUIsa0ZBQ3JCLG1CQUFtQiwrRUFDbkIsc0JBQXNCLGtGQUN0QixpQkFBaUIsNkVBQ2pCLHFCQUFxQix1SkFDckIsdUJBQXVCOzs0RkF5RWQsYUFBYTtrQkFqR3pCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUMxQixZQUNXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9FVDt5R0FLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzQXRFbmQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZG9tJztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1lbnRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb21tZW50LWlucHV0L2NvbW1lbnQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVtYWlsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1haWwtaW5wdXQvZW1haWwtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvaGludC9oaW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIb3VySW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvaG91ci1pbnB1dC9ob3VyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJGcm9tVG9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbnVtYmVyLWZyb20tdG8vbnVtYmVyLWZyb20tdG8uY29tcG9uZW50JztcbmltcG9ydCB7IFBhc3N3b3JkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Bpbi1pbnB1dC9waW4taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcmFkaW8taW5wdXQvcmFkaW8taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWxlY3Qtc2VhcmNoL3NlbGVjdC1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMsIEZvcm1NZXRhZGF0YSwgRm9ybVN1Ym1pdCwgSW5wdXRNZXRhZGF0YSwgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja0lucHV0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIERpdmlkZXJDb21wb25lbnQsXG4gICAgSGludENvbXBvbmVudCxcbiAgICBDb21tZW50SW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBIb3VySW5wdXRDb21wb25lbnQsXG4gICAgRW1haWxJbnB1dENvbXBvbmVudCxcbiAgICBOdW1iZXJJbnB1dENvbXBvbmVudCxcbiAgICBOdW1iZXJGcm9tVG9Db21wb25lbnQsXG4gICAgUmFkaW9JbnB1dENvbXBvbmVudCxcbiAgICBQYXNzd29yZElucHV0Q29tcG9uZW50LFxuICAgIFBpbklucHV0Q29tcG9uZW50LFxuICAgIFNlbGVjdFNlYXJjaENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDx2YWwtZGlzcGxheVxuICAgICAgICAgICpuZ0lmPVwicHJvcHMubmFtZVwiXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIGNvbnRlbnQ6IHByb3BzLm5hbWUsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCIgKm5nRm9yPVwibGV0IHMgb2YgcHJvcHMuc2VjdGlvbnNcIj5cbiAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IHMubmFtZSwgc2l6ZTogJ2xhcmdlJywgY29sb3I6ICcnLCBib2xkOiBmYWxzZSB9XCI+PC92YWwtdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCIgKm5nRm9yPVwibGV0IGYgb2Ygcy5maWVsZHNcIj5cbiAgICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogZi5sYWJlbCwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJywgYm9sZDogZmFsc2UgfVwiPjwvdmFsLXRpdGxlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuVEVYVFwiPlxuICAgICAgICAgICAgICA8dmFsLXRleHQtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXRleHQtaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLkNIRUNLXCI+XG4gICAgICAgICAgICAgIDx2YWwtY2hlY2staW5wdXQ+PC92YWwtY2hlY2staW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLkNPTU1FTlRcIj5cbiAgICAgICAgICAgICAgPHZhbC1jb21tZW50LWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1jb21tZW50LWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5EQVRFXCI+XG4gICAgICAgICAgICAgIDx2YWwtZGF0ZS1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtZGF0ZS1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuRU1BSUxcIj5cbiAgICAgICAgICAgICAgPHZhbC1lbWFpbC1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtZW1haWwtaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLkZJTEVcIj5cbiAgICAgICAgICAgICAgPHZhbC1maWxlLWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1maWxlLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5IT1VSXCI+XG4gICAgICAgICAgICAgIDx2YWwtaG91ci1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtaG91ci1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuTlVNQkVSXCI+XG4gICAgICAgICAgICAgIDx2YWwtbnVtYmVyLWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1udW1iZXItaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLk5VTUJFUl9GUk9NX1RPXCI+XG4gICAgICAgICAgICAgIDx2YWwtbnVtYmVyLWZyb20tdG8gW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLW51bWJlci1mcm9tLXRvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5QQVNTV09SRFwiPlxuICAgICAgICAgICAgICA8dmFsLXBhc3N3b3JkLWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1wYXNzd29yZC1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuUElOX0NPREVcIj5cbiAgICAgICAgICAgICAgPHZhbC1waW4taW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXBpbi1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuUkFESU9cIj5cbiAgICAgICAgICAgICAgPHZhbC1yYWRpby1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtcmFkaW8taW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlNFTEVDVFwiPlxuICAgICAgICAgICAgICA8dmFsLXNlbGVjdC1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5TRUFSQ0hfU0VMRUNUXCI+XG4gICAgICAgICAgICAgIDx2YWwtc2VsZWN0LXNlYXJjaCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtc2VsZWN0LXNlYXJjaD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHZhbC1oaW50IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1oaW50PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx2YWwtZGl2aWRlciBbcHJvcHNdPVwieyBmaWxsOiAnc29saWQnLCBzaXplOiAnbWVkaXVtJywgY29sb3I6ICdtZWRpdW0nIH1cIj48L3ZhbC1kaXZpZGVyPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx2YWwtYnV0dG9uLWdyb3VwXG4gICAgICAgICAgW3Byb3BzXT1cInsgYnV0dG9uczogYWN0aW9ucywgcG9zaXRpb246ICdjZW50ZXInLCBjb2x1bW5lZDogZmFsc2UgfVwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwic3VibWl0SGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgPjwvdmFsLWJ1dHRvbi1ncm91cD5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHJvcHM6IEZvcm1NZXRhZGF0YTtcblxuICBAT3V0cHV0KClcbiAgb25TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1TdWJtaXQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uSW52YWxpZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25TZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmllbGQ6IHN0cmluZzsgdmFsdWU6IGFueSB9PigpO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgdHlwZXMgPSBJbnB1dFR5cGU7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGZvcm1Db250cm9scyA9IHt9O1xuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIHNlY3Rpb24uZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gdGhpcy50eXBlcy5OVU1CRVJfRlJPTV9UTykge1xuICAgICAgICAgIC8vIENyZWFyIGRvcyBjb250cm9sZXMgcGFyYSBjYW1wb3MgTlVNQkVSX0ZST01fVE9cbiAgICAgICAgICBmb3JtQ29udHJvbHNbYCR7ZmllbGQubmFtZX1fZnJvbWBdID0gW3VuZGVmaW5lZCwgZmllbGQudmFsaWRhdG9ycyB8fCBbXV07XG4gICAgICAgICAgZm9ybUNvbnRyb2xzW2Ake2ZpZWxkLm5hbWV9X3RvYF0gPSBbdW5kZWZpbmVkLCBmaWVsZC52YWxpZGF0b3JzIHx8IFtdXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQubmFtZV0gPSBbdW5kZWZpbmVkLCBmaWVsZC52YWxpZGF0b3JzIHx8IFtdXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cChmb3JtQ29udHJvbHMpO1xuICAgIHRoaXMucHJvcHMuc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIHNlY3Rpb24uZmllbGRzXG4gICAgICAgIC5maWx0ZXIoeCA9PiB4LnR5cGUgPT09IHRoaXMudHlwZXMuU0VMRUNUIHx8IHgudHlwZSA9PT0gdGhpcy50eXBlcy5URVhUIHx8IHgudHlwZSA9PT0gdGhpcy50eXBlcy5TRUFSQ0hfU0VMRUNUKVxuICAgICAgICAuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgdGhpcy50cmFja1NlbGVjdENoYW5nZXMoZmllbGQubmFtZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gQ2xlYW51cCBzdWJzY3JpcHRpb25zIHRvIGF2b2lkIG1lbW9yeSBsZWFrc1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICB0cmFja1NlbGVjdENoYW5nZXMoZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5nZXRDb250cm9sKGZpZWxkTmFtZSk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMub25TZWxlY3RDaGFuZ2UuZW1pdCh7IGZpZWxkOiBmaWVsZE5hbWUsIHZhbHVlIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gIH1cblxuICBhc3luYyBzdWJtaXRIYW5kbGVyKHRva2VuPzogc3RyaW5nKSB7XG4gICAgdGhpcy5vblN1Ym1pdC5lbWl0KHsgZmllbGRzOiB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSwgdG9rZW4gfSk7XG4gIH1cblxuICBnZXRDb250cm9sKGZpZWxkOiBzdHJpbmcpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuRm9ybS5nZXQoZmllbGQpIGFzIEZvcm1Db250cm9sO1xuICB9XG5cbiAgZ2V0RmllbGRQcm9wKGZpZWxkOiBJbnB1dE1ldGFkYXRhKTogSW5wdXRNZXRhZGF0YSB7XG4gICAgZmllbGQudG9rZW47XG4gICAgaWYgKCFmaWVsZC50b2tlbikge1xuICAgICAgZmllbGQudG9rZW4gPSBgaW5wdXQtJHtmaWVsZC50eXBlfS0ke2ZpZWxkLm5hbWV9YDtcbiAgICB9XG4gICAgXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09IHRoaXMudHlwZXMuTlVNQkVSX0ZST01fVE8pIHtcbiAgICAgIGNvbnN0IGZyb21Db250cm9sID0gdGhpcy5nZXRDb250cm9sKGAke2ZpZWxkLm5hbWV9X2Zyb21gKTtcbiAgICAgIGNvbnN0IHRvQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbChgJHtmaWVsZC5uYW1lfV90b2ApO1xuICAgICAgXG4gICAgICBpZiAoZmllbGQuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgICBmcm9tQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIHRvQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcm9tQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgdG9Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgICAgXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgZnJvbUNvbnRyb2wsXG4gICAgICAgIHRvQ29udHJvbCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmdldENvbnRyb2woZmllbGQubmFtZSk7XG4gICAgICBpZiAoZmllbGQuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgY29udHJvbCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzQXRFbmRPZkZvcm0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQXRFbmQodGhpcy5lbGVtZW50UmVmKTtcbiAgfVxuXG4gIGdldCBGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybTtcbiAgfVxuXG4gIGdldCBGb3JtU3RhdGUoKTogeyBmb3JtOiBGb3JtR3JvdXA7IGRhdGE6IEZvcm1NZXRhZGF0YSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9ybTogdGhpcy5Gb3JtLFxuICAgICAgZGF0YTogdGhpcy5wcm9wcyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGFjdGlvbnMoKTogQnV0dG9uTWV0YWRhdGFbXSB7XG4gICAgaWYgKCF0aGlzLmZvcm0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnByb3BzLmFjdGlvbnMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gQ29tcG9uZW50U3RhdGVzLldPUktJTkcpIHtcbiAgICAgIHRoaXMucHJvcHMuYWN0aW9ucy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5XT1JLSU5HO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCkge1xuICAgICAgdGhpcy5wcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgdGhpcy5wcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLkRJU0FCTEVEO1xuICAgIH1cblxuICAgIHJldHVybiBbdGhpcy5wcm9wcy5hY3Rpb25zXTtcbiAgfVxufVxuIl19
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBdUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVB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Yyx5RUFDZCxrQkFBa0IsOEVBQ2xCLG1CQUFtQiw0REFDbkIsb0JBQW9CLHNHQUNwQixnQkFBZ0IsMkVBQ2hCLGFBQWEsd0VBQ2IscUJBQXFCLGlGQUNyQixrQkFBa0IsOEVBQ2xCLGtCQUFrQiw4RUFDbEIsa0JBQWtCLDhFQUNsQixtQkFBbUIsK0VBQ25CLG9CQUFvQixnRkFDcEIscUJBQXFCLGtGQUNyQixtQkFBbUIsK0VBQ25CLHNCQUFzQixrRkFDdEIsaUJBQWlCLDZFQUNqQixxQkFBcUIsdUpBQ3JCLHVCQUF1Qjs7NEZBeUVkLGFBQWE7a0JBakd6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IscUJBQXFCO3dCQUNyQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLHVCQUF1QjtxQkFDMUIsWUFDVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRVQ7eUdBS0QsS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTTtnQkFJUCxTQUFTO3NCQURSLE1BQU07Z0JBSVAsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc0F0RW5kIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NoZWNrLWlucHV0L2NoZWNrLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tZW50SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29tbWVudC1pbnB1dC9jb21tZW50LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbWFpbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2VtYWlsLWlucHV0L2VtYWlsLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2hpbnQvaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG91cklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2hvdXItaW5wdXQvaG91ci1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVySW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyRnJvbVRvQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL251bWJlci1mcm9tLXRvL251bWJlci1mcm9tLXRvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXNzd29yZElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaW5JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9waW4taW5wdXQvcGluLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYWRpb0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3JhZGlvLWlucHV0L3JhZGlvLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VsZWN0LXNlYXJjaC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzLCBGb3JtTWV0YWRhdGEsIEZvcm1TdWJtaXQsIElucHV0TWV0YWRhdGEsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tJbnB1dENvbXBvbmVudCxcbiAgICBCdXR0b25Hcm91cENvbXBvbmVudCxcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIEhpbnRDb21wb25lbnQsXG4gICAgQ29tbWVudElucHV0Q29tcG9uZW50LFxuICAgIERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgSG91cklucHV0Q29tcG9uZW50LFxuICAgIEVtYWlsSW5wdXRDb21wb25lbnQsXG4gICAgTnVtYmVySW5wdXRDb21wb25lbnQsXG4gICAgTnVtYmVyRnJvbVRvQ29tcG9uZW50LFxuICAgIFJhZGlvSW5wdXRDb21wb25lbnQsXG4gICAgUGFzc3dvcmRJbnB1dENvbXBvbmVudCxcbiAgICBQaW5JbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RTZWFyY2hDb21wb25lbnQsXG4gICAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG5dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICA8dmFsLWRpc3BsYXlcbiAgICAgICAgICAqbmdJZj1cInByb3BzLm5hbWVcIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBjb250ZW50OiBwcm9wcy5uYW1lLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgfVwiXG4gICAgICAgID48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiICpuZ0Zvcj1cImxldCBzIG9mIHByb3BzLnNlY3Rpb25zXCI+XG4gICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiBzLm5hbWUsIHNpemU6ICdsYXJnZScsIGNvbG9yOiAnJywgYm9sZDogZmFsc2UgfVwiPjwvdmFsLXRpdGxlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiICpuZ0Zvcj1cImxldCBmIG9mIHMuZmllbGRzXCI+XG4gICAgICAgICAgICA8dmFsLXRpdGxlIFtwcm9wc109XCJ7IGNvbnRlbnQ6IGYubGFiZWwsIHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGJvbGQ6IGZhbHNlIH1cIj48L3ZhbC10aXRsZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlRFWFRcIj5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC10ZXh0LWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5DSEVDS1wiPlxuICAgICAgICAgICAgICA8dmFsLWNoZWNrLWlucHV0PjwvdmFsLWNoZWNrLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5DT01NRU5UXCI+XG4gICAgICAgICAgICAgIDx2YWwtY29tbWVudC1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtY29tbWVudC1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuREFURVwiPlxuICAgICAgICAgICAgICA8dmFsLWRhdGUtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWRhdGUtaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLkVNQUlMXCI+XG4gICAgICAgICAgICAgIDx2YWwtZW1haWwtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWVtYWlsLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5GSUxFXCI+XG4gICAgICAgICAgICAgIDx2YWwtZmlsZS1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtZmlsZS1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuSE9VUlwiPlxuICAgICAgICAgICAgICA8dmFsLWhvdXItaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLWhvdXItaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLk5VTUJFUlwiPlxuICAgICAgICAgICAgICA8dmFsLW51bWJlci1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtbnVtYmVyLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5OVU1CRVJfRlJPTV9UT1wiPlxuICAgICAgICAgICAgICA8dmFsLW51bWJlci1mcm9tLXRvIFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1udW1iZXItZnJvbS10bz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuUEFTU1dPUkRcIj5cbiAgICAgICAgICAgICAgPHZhbC1wYXNzd29yZC1pbnB1dCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtcGFzc3dvcmQtaW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlBJTl9DT0RFXCI+XG4gICAgICAgICAgICAgIDx2YWwtcGluLWlucHV0IFtwcm9wc109XCJnZXRGaWVsZFByb3AoZilcIj48L3ZhbC1waW4taW5wdXQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmLnR5cGUgPT09IHR5cGVzLlJBRElPXCI+XG4gICAgICAgICAgICAgIDx2YWwtcmFkaW8taW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXJhZGlvLWlucHV0PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZi50eXBlID09PSB0eXBlcy5TRUxFQ1RcIj5cbiAgICAgICAgICAgICAgPHZhbC1zZWxlY3QtaW5wdXQgW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXNlbGVjdC1pbnB1dD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImYudHlwZSA9PT0gdHlwZXMuU0VBUkNIX1NFTEVDVFwiPlxuICAgICAgICAgICAgICA8dmFsLXNlbGVjdC1zZWFyY2ggW3Byb3BzXT1cImdldEZpZWxkUHJvcChmKVwiPjwvdmFsLXNlbGVjdC1zZWFyY2g+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDx2YWwtaGludCBbcHJvcHNdPVwiZ2V0RmllbGRQcm9wKGYpXCI+PC92YWwtaGludD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dmFsLWRpdmlkZXIgW3Byb3BzXT1cInsgZmlsbDogJ3NvbGlkJywgc2l6ZTogJ21lZGl1bScsIGNvbG9yOiAnbWVkaXVtJyB9XCI+PC92YWwtZGl2aWRlcj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dmFsLWJ1dHRvbi1ncm91cFxuICAgICAgICAgIFtwcm9wc109XCJ7IGJ1dHRvbnM6IGFjdGlvbnMsIHBvc2l0aW9uOiAnY2VudGVyJywgY29sdW1uZWQ6IGZhbHNlIH1cIlxuICAgICAgICAgIChvbkNsaWNrKT1cInN1Ym1pdEhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbC1idXR0b24tZ3JvdXA+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHByb3BzOiBGb3JtTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtU3VibWl0PigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkludmFsaWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZpZWxkOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIHR5cGVzID0gSW5wdXRUeXBlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBmb3JtQ29udHJvbHMgPSB7fTtcbiAgICB0aGlzLnByb3BzLnNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBzZWN0aW9uLmZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IHRoaXMudHlwZXMuTlVNQkVSX0ZST01fVE8pIHtcbiAgICAgICAgICAvLyBDcmVhciBkb3MgY29udHJvbGVzIHBhcmEgY2FtcG9zIE5VTUJFUl9GUk9NX1RPXG4gICAgICAgICAgZm9ybUNvbnRyb2xzW2Ake2ZpZWxkLm5hbWV9X2Zyb21gXSA9IFt1bmRlZmluZWQsIGZpZWxkLnZhbGlkYXRvcnMgfHwgW11dO1xuICAgICAgICAgIGZvcm1Db250cm9sc1tgJHtmaWVsZC5uYW1lfV90b2BdID0gW3VuZGVmaW5lZCwgZmllbGQudmFsaWRhdG9ycyB8fCBbXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9ybUNvbnRyb2xzW2ZpZWxkLm5hbWVdID0gW3VuZGVmaW5lZCwgZmllbGQudmFsaWRhdG9ycyB8fCBbXV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoZm9ybUNvbnRyb2xzKTtcbiAgICB0aGlzLnByb3BzLnNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBzZWN0aW9uLmZpZWxkc1xuICAgICAgICAuZmlsdGVyKHggPT4geC50eXBlID09PSB0aGlzLnR5cGVzLlNFTEVDVCB8fCB4LnR5cGUgPT09IHRoaXMudHlwZXMuVEVYVCB8fCB4LnR5cGUgPT09IHRoaXMudHlwZXMuU0VBUkNIX1NFTEVDVClcbiAgICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgIHRoaXMudHJhY2tTZWxlY3RDaGFuZ2VzKGZpZWxkLm5hbWUpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIENsZWFudXAgc3Vic2NyaXB0aW9ucyB0byBhdm9pZCBtZW1vcnkgbGVha3NcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgdHJhY2tTZWxlY3RDaGFuZ2VzKGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbChmaWVsZE5hbWUpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLm9uU2VsZWN0Q2hhbmdlLmVtaXQoeyBmaWVsZDogZmllbGROYW1lLCB2YWx1ZSB9KTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgYXN5bmMgc3VibWl0SGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25TdWJtaXQuZW1pdCh7IGZpZWxkczogdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCksIHRva2VuIH0pO1xuICB9XG5cbiAgZ2V0Q29udHJvbChmaWVsZDogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkZvcm0uZ2V0KGZpZWxkKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldEZpZWxkUHJvcChmaWVsZDogSW5wdXRNZXRhZGF0YSk6IElucHV0TWV0YWRhdGEge1xuICAgIGZpZWxkLnRva2VuO1xuICAgIGlmICghZmllbGQudG9rZW4pIHtcbiAgICAgIGZpZWxkLnRva2VuID0gYGlucHV0LSR7ZmllbGQudHlwZX0tJHtmaWVsZC5uYW1lfWA7XG4gICAgfVxuICAgIFxuICAgIGlmIChmaWVsZC50eXBlID09PSB0aGlzLnR5cGVzLk5VTUJFUl9GUk9NX1RPKSB7XG4gICAgICBjb25zdCBmcm9tQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbChgJHtmaWVsZC5uYW1lfV9mcm9tYCk7XG4gICAgICBjb25zdCB0b0NvbnRyb2wgPSB0aGlzLmdldENvbnRyb2woYCR7ZmllbGQubmFtZX1fdG9gKTtcbiAgICAgIFxuICAgICAgaWYgKGZpZWxkLnN0YXRlID09PSBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQpIHtcbiAgICAgICAgZnJvbUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB0b0NvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZnJvbUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIHRvQ29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIGZyb21Db250cm9sLFxuICAgICAgICB0b0NvbnRyb2wsXG4gICAgICAgIGNvbnRyb2w6IHVuZGVmaW5lZCwgLy8gUmVtb3ZlIGNvbnRyb2wgZm9yIE5VTUJFUl9GUk9NX1RPIGZpZWxkc1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbChmaWVsZC5uYW1lKTtcbiAgICAgIGlmIChmaWVsZC5zdGF0ZSA9PT0gQ29tcG9uZW50U3RhdGVzLkRJU0FCTEVEKSB7XG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29udHJvbC5lbmFibGUoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgICBjb250cm9sLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNBdEVuZE9mRm9ybSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNBdEVuZCh0aGlzLmVsZW1lbnRSZWYpO1xuICB9XG5cbiAgZ2V0IEZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtO1xuICB9XG5cbiAgZ2V0IEZvcm1TdGF0ZSgpOiB7IGZvcm06IEZvcm1Hcm91cDsgZGF0YTogRm9ybU1ldGFkYXRhIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtOiB0aGlzLkZvcm0sXG4gICAgICBkYXRhOiB0aGlzLnByb3BzLFxuICAgIH07XG4gIH1cblxuICBnZXQgYWN0aW9ucygpOiBCdXR0b25NZXRhZGF0YVtdIHtcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMucHJvcHMuYWN0aW9ucy5zdGF0ZSA9IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSBDb21wb25lbnRTdGF0ZXMuV09SS0lORykge1xuICAgICAgdGhpcy5wcm9wcy5hY3Rpb25zLnN0YXRlID0gQ29tcG9uZW50U3RhdGVzLldPUktJTkc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGUgPT09IENvbXBvbmVudFN0YXRlcy5FTkFCTEVEKSB7XG4gICAgICB0aGlzLnByb3BzLmFjdGlvbnMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gQ29tcG9uZW50U3RhdGVzLkRJU0FCTEVEKSB7XG4gICAgICB0aGlzLnByb3BzLmFjdGlvbnMuc3RhdGUgPSBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFt0aGlzLnByb3BzLmFjdGlvbnNdO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, Input, Output, Injectable, inject, InjectionToken, Inject, ChangeDetectorRef, HostListener, Pipe, ChangeDetectionStrategy, ViewChild } from '@angular/core';
3
- import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonModal, IonHeader, IonToolbar, IonContent, IonButtons, IonTitle, IonProgressBar, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonTextarea, IonDatetime, IonDatetimeButton, IonInput, IonSelect, IonSelectOption, IonLabel, IonItem, IonRadioGroup, IonRadio, IonSearchbar, IonMenuButton, IonFooter, IonList, IonListHeader, IonNote } from '@ionic/angular/standalone';
3
+ import { IonAvatar, IonCard, IonIcon, IonButton, IonSpinner, IonText, IonModal, IonHeader, IonToolbar, IonContent, IonButtons, IonTitle, IonProgressBar, IonCardContent, IonCardHeader, IonCardTitle, IonCardSubtitle, IonCheckbox, IonTextarea, IonDatetime, IonDatetimeButton, IonInput, IonSelect, IonSelectOption, IonLabel, IonRadioGroup, IonRadio, IonSearchbar, IonMenuButton, IonFooter, IonList, IonListHeader, IonNote, IonItem } from '@ionic/angular/standalone';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule, NgStyle, AsyncPipe, NgFor, NgClass } from '@angular/common';
6
6
  import { addIcons } from 'ionicons';
@@ -4048,19 +4048,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4048
4048
  class HintComponent {
4049
4049
  constructor() { }
4050
4050
  ngOnInit() { }
4051
+ get shouldShowErrors() {
4052
+ if (this.props.control) {
4053
+ // Normal field with single control
4054
+ return this.props.control.invalid && (this.props.control.touched || this.props.control.dirty);
4055
+ }
4056
+ else if (this.props.fromControl && this.props.toControl) {
4057
+ // NUMBER_FROM_TO field with separate controls
4058
+ const fromInvalid = this.props.fromControl.invalid && (this.props.fromControl.touched || this.props.fromControl.dirty);
4059
+ const toInvalid = this.props.toControl.invalid && (this.props.toControl.touched || this.props.toControl.dirty);
4060
+ return fromInvalid || toInvalid;
4061
+ }
4062
+ return false;
4063
+ }
4051
4064
  get Errors() {
4052
- const keys = Object.keys(this.props.errors);
4065
+ const keys = Object.keys(this.props.errors || {});
4053
4066
  const errors = [];
4054
4067
  keys.map((e) => {
4055
- if (this.props.control.hasError(e)) {
4068
+ if (this.props.control && this.props.control.hasError(e)) {
4069
+ // Normal field
4056
4070
  errors.push(this.props.errors[e]);
4057
4071
  }
4072
+ else if (this.props.fromControl && this.props.toControl) {
4073
+ // NUMBER_FROM_TO field - check both controls
4074
+ const fromLabel = this.props.fromLabel || 'Inicial';
4075
+ const toLabel = this.props.toLabel || 'Final';
4076
+ if (this.props.fromControl.hasError(e)) {
4077
+ errors.push(`${fromLabel}: ${this.props.errors[e]}`);
4078
+ }
4079
+ if (this.props.toControl.hasError(e)) {
4080
+ errors.push(`${toLabel}: ${this.props.errors[e]}`);
4081
+ }
4082
+ }
4058
4083
  });
4059
4084
  return errors;
4060
4085
  }
4061
4086
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4062
4087
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HintComponent, isStandalone: true, selector: "val-hint", inputs: { props: "props" }, ngImport: i0, template: `
4063
- <div class="hint-container" *ngIf="props.control.invalid && (props.control.touched || props.control.dirty)">
4088
+ <div class="hint-container" *ngIf="shouldShowErrors">
4064
4089
  <val-text
4065
4090
  *ngFor="let e of Errors"
4066
4091
  [props]="{
@@ -4076,7 +4101,7 @@ class HintComponent {
4076
4101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HintComponent, decorators: [{
4077
4102
  type: Component,
4078
4103
  args: [{ selector: 'val-hint', standalone: true, imports: [CommonModule, TextComponent], template: `
4079
- <div class="hint-container" *ngIf="props.control.invalid && (props.control.touched || props.control.dirty)">
4104
+ <div class="hint-container" *ngIf="shouldShowErrors">
4080
4105
  <val-text
4081
4106
  *ngFor="let e of Errors"
4082
4107
  [props]="{
@@ -5036,7 +5061,52 @@ class NumberFromToComponent {
5036
5061
  ngOnInit() {
5037
5062
  // Apply default values if configured
5038
5063
  if (this.props?.withDefault || this.props?.value) {
5039
- applyDefaultValueToControl(this.props);
5064
+ this.applyDefaultValues();
5065
+ }
5066
+ }
5067
+ applyDefaultValues() {
5068
+ const defaultValue = this.resolveDefaultValue();
5069
+ if (defaultValue !== null) {
5070
+ if (typeof defaultValue === 'object' && defaultValue.from !== undefined) {
5071
+ this.fromControl?.setValue(defaultValue.from);
5072
+ this.toControl?.setValue(defaultValue.to);
5073
+ }
5074
+ else {
5075
+ // Si es un valor simple, aplicarlo a ambos controles
5076
+ this.fromControl?.setValue(defaultValue);
5077
+ this.toControl?.setValue(defaultValue);
5078
+ }
5079
+ this.fromControl?.markAsPristine();
5080
+ this.toControl?.markAsPristine();
5081
+ this.fromControl?.updateValueAndValidity();
5082
+ this.toControl?.updateValueAndValidity();
5083
+ }
5084
+ }
5085
+ resolveDefaultValue() {
5086
+ // Explicit value takes precedence
5087
+ if (this.props.value !== undefined && this.props.value !== null && this.props.value !== '') {
5088
+ return this.parseValue(this.props.value);
5089
+ }
5090
+ // No default configuration
5091
+ if (!this.props.withDefault) {
5092
+ return null;
5093
+ }
5094
+ // Custom default value
5095
+ if (typeof this.props.withDefault === 'string') {
5096
+ return this.parseValue(this.props.withDefault);
5097
+ }
5098
+ // Auto default value (withDefault === true)
5099
+ return { from: 0, to: 0 };
5100
+ }
5101
+ parseValue(value) {
5102
+ try {
5103
+ // Try to parse as JSON first (for object values)
5104
+ return JSON.parse(value);
5105
+ }
5106
+ catch {
5107
+ // If not JSON, treat as number
5108
+ const numValue = parseFloat(value) || 0;
5109
+ return { from: numValue, to: numValue };
5040
5110
  }
5041
5111
  }
5042
5112
  get fromControl() {
@@ -5048,7 +5118,7 @@ class NumberFromToComponent {
5048
5118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberFromToComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5049
5119
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NumberFromToComponent, isStandalone: true, selector: "val-number-from-to", inputs: { props: "props" }, ngImport: i0, template: `
5050
5120
  <div class="number-from-to-container">
5051
- <ion-label position="stacked">{{ props.fromLabel || 'Desde' }}</ion-label>
5121
+ <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
5052
5122
  <ion-input
5053
5123
  [formControl]="fromControl"
5054
5124
  type="number"
@@ -5058,7 +5128,7 @@ class NumberFromToComponent {
5058
5128
  >
5059
5129
  </ion-input>
5060
5130
 
5061
- <ion-label position="stacked">{{ props.toLabel || 'Hasta' }}</ion-label>
5131
+ <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
5062
5132
  <ion-input
5063
5133
  [formControl]="toControl"
5064
5134
  type="number"
@@ -5072,9 +5142,9 @@ class NumberFromToComponent {
5072
5142
  }
5073
5143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NumberFromToComponent, decorators: [{
5074
5144
  type: Component,
5075
- args: [{ selector: 'val-number-from-to', standalone: true, imports: [ReactiveFormsModule, IonInput, IonItem, IonLabel], template: `
5145
+ args: [{ selector: 'val-number-from-to', standalone: true, imports: [ReactiveFormsModule, IonInput, IonLabel], template: `
5076
5146
  <div class="number-from-to-container">
5077
- <ion-label position="stacked">{{ props.fromLabel || 'Desde' }}</ion-label>
5147
+ <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
5078
5148
  <ion-input
5079
5149
  [formControl]="fromControl"
5080
5150
  type="number"
@@ -5084,7 +5154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5084
5154
  >
5085
5155
  </ion-input>
5086
5156
 
5087
- <ion-label position="stacked">{{ props.toLabel || 'Hasta' }}</ion-label>
5157
+ <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
5088
5158
  <ion-input
5089
5159
  [formControl]="toControl"
5090
5160
  type="number"
@@ -7504,6 +7574,7 @@ class FormComponent {
7504
7574
  ...field,
7505
7575
  fromControl,
7506
7576
  toControl,
7577
+ control: undefined, // Remove control for NUMBER_FROM_TO fields
7507
7578
  };
7508
7579
  }
7509
7580
  else {