zek 16.0.23 → 16.0.25

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.
@@ -2,11 +2,6 @@ import { Directive, forwardRef, Input } from "@angular/core";
2
2
  import { NG_VALIDATORS } from "@angular/forms";
3
3
  import { matchValidator, nullValidator, rangeValidator } from "./validator";
4
4
  import * as i0 from "@angular/core";
5
- const RANGE_VALIDATOR = {
6
- provide: NG_VALIDATORS,
7
- useExisting: forwardRef(() => RangeValidator),
8
- multi: true
9
- };
10
5
  function toFloat(value) {
11
6
  return typeof value === 'number' ? value : parseFloat(value);
12
7
  }
@@ -49,6 +44,11 @@ class AbstractValidatorDirective {
49
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
50
45
  type: Directive
51
46
  }] });
47
+ export const RANGE_VALIDATOR = {
48
+ provide: NG_VALIDATORS,
49
+ useExisting: forwardRef(() => RangeValidator),
50
+ multi: true
51
+ };
52
52
  class RangeValidator extends AbstractValidatorDirective {
53
53
  constructor() {
54
54
  super(...arguments);
@@ -79,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
79
79
  */
80
80
  export const MATCH_VALIDATOR = {
81
81
  provide: NG_VALIDATORS,
82
- useExisting: forwardRef(() => matchValidator),
82
+ useExisting: forwardRef(() => MatchValidator),
83
83
  multi: true
84
84
  };
85
85
  class MatchValidator extends AbstractValidatorDirective {
@@ -88,22 +88,22 @@ class MatchValidator extends AbstractValidatorDirective {
88
88
  /** @internal */
89
89
  this.inputName = 'match';
90
90
  /** @internal */
91
- this.normalizeInput = (input) => input.trim();
91
+ this.normalizeInput = (input) => input;
92
92
  /** @internal */
93
- this.createValidator = (target) => matchValidator(target);
93
+ this.createValidator = (input) => matchValidator(input);
94
94
  }
95
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
96
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: MatchValidator, selector: "input[match][formControlName],input[match][formControl],input[match][ngModel]", inputs: { equals: "equals" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
96
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: MatchValidator, selector: "[match][formControlName],match][formControl],[match][ngModel]", inputs: { match: "match" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
97
97
  }
98
98
  export { MatchValidator };
99
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, decorators: [{
100
100
  type: Directive,
101
101
  args: [{
102
- selector: 'input[match][formControlName],input[match][formControl],input[match][ngModel]',
102
+ selector: '[match][formControlName],match][formControl],[match][ngModel]',
103
103
  providers: [MATCH_VALIDATOR],
104
104
  host: { '[attr.match]': '_enabled ? match : null' }
105
105
  }]
106
- }], propDecorators: { equals: [{
106
+ }], propDecorators: { match: [{
107
107
  type: Input
108
108
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFUNUUsTUFBTSxlQUFlLEdBQVE7SUFDekIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsU0FBUyxPQUFPLENBQUMsS0FBc0I7SUFDbkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFHRCxNQUNlLDBCQUEwQjtJQUR6QztRQUVZLGVBQVUsR0FBZ0IsYUFBYSxDQUFDO0tBdUVuRDtJQWhDRyxhQUFhO0lBQ2IsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELGFBQWE7SUFDYixRQUFRLENBQUMsT0FBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO0lBQ2IseUJBQXlCLENBQUMsRUFBYztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLEtBQWM7UUFDbEIsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQzNELENBQUM7OEdBdkVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR4QyxTQUFTOztBQTZFVixNQUthLGNBQWUsU0FBUSwwQkFBMEI7SUFMOUQ7O1FBUUksZ0JBQWdCO1FBQ1AsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUM3QixnQkFBZ0I7UUFDUCxtQkFBYyxHQUFHLENBQUMsS0FBc0IsRUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFnQjtRQUNQLG9CQUFlLEdBQUcsQ0FBQyxLQUFlLEVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0Rjs4R0FUWSxjQUFjO2tHQUFkLGNBQWMsOE9BSFosQ0FBQyxlQUFlLENBQUM7O1NBR25CLGNBQWM7MkZBQWQsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0hBQXNIO29CQUNoSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtpQkFDdEQ7OEJBRVksS0FBSztzQkFBYixLQUFLOztBQW1CVjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVE7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUosTUFLYSxjQUFlLFNBQVEsMEJBQTBCO0lBTDlEOztRQVFJLGdCQUFnQjtRQUNQLGNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsZ0JBQWdCO1FBQ1AsbUJBQWMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xFLGdCQUFnQjtRQUNQLG9CQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0Rjs4R0FUWSxjQUFjO2tHQUFkLGNBQWMseU1BSFosQ0FBQyxlQUFlLENBQUM7O1NBR25CLGNBQWM7MkZBQWQsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0VBQStFO29CQUN6RixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtpQkFDdEQ7OEJBRVksTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUkFOR0VfVkFMSURBVE9SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFuZ2VWYWxpZGF0b3IpLFxyXG4gICAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBtYXRjaFZhbGlkYXRvciwgbnVsbFZhbGlkYXRvciwgcmFuZ2VWYWxpZGF0b3IgfSBmcm9tIFwiLi92YWxpZGF0b3JcIjtcclxuaW1wb3J0IHsgU3RyaW5nSGVscGVyIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcblxyXG5mdW5jdGlvbiB0b0Zsb2F0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IHBhcnNlRmxvYXQodmFsdWUpO1xyXG59XHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGxWYWxpZGF0b3I7XHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZSE6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIGZsYWcgdGhhdCB0cmFja3Mgd2hldGhlciB0aGlzIHZhbGlkYXRvciBpcyBlbmFibGVkLlxyXG4gICAgICpcclxuICAgICAqIE1hcmtpbmcgaXQgYGludGVybmFsYCAodnMgYHByb3RlY3RlZGApLCBzbyB0aGF0IHRoaXMgZmxhZyBjYW4gYmUgdXNlZCBpbiBob3N0IGJpbmRpbmdzIG9mXHJcbiAgICAgKiBkaXJlY3RpdmUgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MuXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgX2VuYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiBhbiBpbnB1dCB0aGF0IG1hdGNoZXMgZGlyZWN0aXZlIHNlbGVjdG9yIGF0dHJpYnV0ZSAoZS5nLiBgbWlubGVuZ3RoYCBmb3JcclxuICAgICAqIGBNaW5MZW5ndGhEaXJlY3RpdmVgKS4gQW4gaW5wdXQgd2l0aCBhIGdpdmVuIG5hbWUgbWlnaHQgY29udGFpbiBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIChsaWtlXHJcbiAgICAgKiBgbWlubGVuZ3RoPScxMCdgKSBvciBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB2YWxpZGF0b3Igc2hvdWxkIGJlIGVuYWJsZWQgKGxpa2VcclxuICAgICAqIGBbcmVxdWlyZWRdPSdmYWxzZSdgKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgaW5wdXROYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGEgdmFsaWRhdG9yIChzcGVjaWZpYyB0byBhIGRpcmVjdGl2ZSB0aGF0IGV4dGVuZHMgdGhpcyBiYXNlIGNsYXNzKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgY3JlYXRlVmFsaWRhdG9yKGlucHV0OiB1bmtub3duKTogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJmb3JtcyB0aGUgbmVjZXNzYXJ5IGlucHV0IG5vcm1hbGl6YXRpb24gYmFzZWQgb24gYSBzcGVjaWZpYyBsb2dpYyBvZiBhIERpcmVjdGl2ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgZnVuY3Rpb24gbWlnaHQgYmUgdXNlZCB0byBjb252ZXJ0IHN0cmluZy1iYXNlZCByZXByZXNlbnRhdGlvbiBvZiB0aGVcclxuICAgICAqIGBtaW5sZW5ndGhgIGlucHV0IHRvIGFuIGludGVnZXIgdmFsdWUgdGhhdCBjYW4gbGF0ZXIgYmUgdXNlZCBpbiB0aGUgYFZhbGlkYXRvcnMubWluTGVuZ3RoYFxyXG4gICAgICogdmFsaWRhdG9yLlxyXG4gICAgICpcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBub3JtYWxpemVJbnB1dChpbnB1dDogdW5rbm93bik6IHVua25vd247XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5ub3JtYWxpemVJbnB1dChjaGFuZ2VzW3RoaXMuaW5wdXROYW1lXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9lbmFibGVkID0gdGhpcy5lbmFibGVkKGlucHV0KTtcclxuICAgICAgICAgICAgdGhpcy5fdmFsaWRhdG9yID0gdGhpcy5fZW5hYmxlZCA/IHRoaXMuY3JlYXRlVmFsaWRhdG9yKGlucHV0KSA6IG51bGxWYWxpZGF0b3I7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihjb250cm9sKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoaXMgdmFsaWRhdG9yIHNob3VsZCBiZSBhY3RpdmUgb3Igbm90IGJhc2VkIG9uIGFuIGlucHV0LlxyXG4gICAgICogQmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiBjaGVja3Mgd2hldGhlciBhbiBpbnB1dCBpcyBkZWZpbmVkIChpZiB0aGUgdmFsdWUgaXMgZGlmZmVyZW50IGZyb21cclxuICAgICAqIGBudWxsYCBhbmQgYHVuZGVmaW5lZGApLiBWYWxpZGF0b3IgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MgY2FuIG92ZXJyaWRlIHRoaXNcclxuICAgICAqIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB2YWxpZGF0b3IgZGlyZWN0aXZlLlxyXG4gICAgICovXHJcbiAgICBlbmFibGVkKGlucHV0OiB1bmtub3duKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGlucHV0ICE9IG51bGwgLyogYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgICovO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPW51bWJlcl1bcmFuZ2VdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFtSQU5HRV9WQUxJREFUT1JdLFxyXG4gICAgaG9zdDogeyAnW2F0dHIucmFuZ2VdJzogJ19lbmFibGVkID8gcmFuZ2UgOiBudWxsJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYW5nZVZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHJhbmdlITogW251bWJlciwgbnVtYmVyXSB8IG51bGw7XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgaW5wdXROYW1lID0gJ3JhbmdlJztcclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgPT4gdG9GbG9hdChpbnB1dCk7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBjcmVhdGVWYWxpZGF0b3IgPSAocmFuZ2U6IFtudW1iZXJdKTogVmFsaWRhdG9yRm4gPT4gcmFuZ2VWYWxpZGF0b3IocmFuZ2UpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFByb3ZpZGVyIHdoaWNoIGFkZHMgYE1hdGNoVmFsaWRhdG9yYCB0byB0aGUgYE5HX1ZBTElEQVRPUlNgIG11bHRpLXByb3ZpZGVyIGxpc3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTUFUQ0hfVkFMSURBVE9SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gbWF0Y2hWYWxpZGF0b3IpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2lucHV0W21hdGNoXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W21hdGNoXVtmb3JtQ29udHJvbF0saW5wdXRbbWF0Y2hdW25nTW9kZWxdJyxcclxuICAgIHByb3ZpZGVyczogW01BVENIX1ZBTElEQVRPUl0sXHJcbiAgICBob3N0OiB7ICdbYXR0ci5tYXRjaF0nOiAnX2VuYWJsZWQgPyBtYXRjaCA6IG51bGwnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGNoVmFsaWRhdG9yIGV4dGVuZHMgQWJzdHJhY3RWYWxpZGF0b3JEaXJlY3RpdmUge1xyXG4gICAgQElucHV0KCkgZXF1YWxzPzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBpbnB1dE5hbWUgPSAnbWF0Y2gnO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgbm9ybWFsaXplSW5wdXQgPSAoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyA9PiBpbnB1dC50cmltKCk7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBjcmVhdGVWYWxpZGF0b3IgPSAodGFyZ2V0OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiA9PiBtYXRjaFZhbGlkYXRvcih0YXJnZXQpO1xyXG59Il19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUUsU0FBUyxPQUFPLENBQUMsS0FBc0I7SUFDbkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFPRCxNQUNlLDBCQUEwQjtJQUR6QztRQUVZLGVBQVUsR0FBZ0IsYUFBYSxDQUFDO0tBdUVuRDtJQWhDRyxhQUFhO0lBQ2IsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELGFBQWE7SUFDYixRQUFRLENBQUMsT0FBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO0lBQ2IseUJBQXlCLENBQUMsRUFBYztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLEtBQWM7UUFDbEIsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQzNELENBQUM7OEdBdkVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR4QyxTQUFTOztBQThFVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVE7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFLYSxjQUFlLFNBQVEsMEJBQTBCO0lBTDlEOztRQVFJLGdCQUFnQjtRQUNQLGNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsZ0JBQWdCO1FBQ1AsbUJBQWMsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RSxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBZSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdEY7OEdBVFksY0FBYztrR0FBZCxjQUFjLDhPQUhaLENBQUMsZUFBZSxDQUFDOztTQUduQixjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNIQUFzSDtvQkFDaEksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM1QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7aUJBQ3REOzhCQUVZLEtBQUs7c0JBQWIsS0FBSzs7QUFtQlY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFRO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BS2EsY0FBZSxTQUFRLDBCQUEwQjtJQUw5RDs7UUFRSSxnQkFBZ0I7UUFDUCxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLGdCQUFnQjtRQUNQLG1CQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMzRCxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBYSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEY7OEdBVFksY0FBYztrR0FBZCxjQUFjLHVMQUhaLENBQUMsZUFBZSxDQUFDOztTQUduQixjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtEQUErRDtvQkFDekUsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM1QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7aUJBQ3REOzhCQUVZLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgbWF0Y2hWYWxpZGF0b3IsIG51bGxWYWxpZGF0b3IsIHJhbmdlVmFsaWRhdG9yIH0gZnJvbSBcIi4vdmFsaWRhdG9yXCI7XHJcblxyXG5mdW5jdGlvbiB0b0Zsb2F0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IHBhcnNlRmxvYXQodmFsdWUpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5hYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuICAgIHByaXZhdGUgX3ZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSBudWxsVmFsaWRhdG9yO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSBmbGFnIHRoYXQgdHJhY2tzIHdoZXRoZXIgdGhpcyB2YWxpZGF0b3IgaXMgZW5hYmxlZC5cclxuICAgICAqXHJcbiAgICAgKiBNYXJraW5nIGl0IGBpbnRlcm5hbGAgKHZzIGBwcm90ZWN0ZWRgKSwgc28gdGhhdCB0aGlzIGZsYWcgY2FuIGJlIHVzZWQgaW4gaG9zdCBiaW5kaW5ncyBvZlxyXG4gICAgICogZGlyZWN0aXZlIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzLlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIF9lbmFibGVkPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE5hbWUgb2YgYW4gaW5wdXQgdGhhdCBtYXRjaGVzIGRpcmVjdGl2ZSBzZWxlY3RvciBhdHRyaWJ1dGUgKGUuZy4gYG1pbmxlbmd0aGAgZm9yXHJcbiAgICAgKiBgTWluTGVuZ3RoRGlyZWN0aXZlYCkuIEFuIGlucHV0IHdpdGggYSBnaXZlbiBuYW1lIG1pZ2h0IGNvbnRhaW4gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiAobGlrZVxyXG4gICAgICogYG1pbmxlbmd0aD0nMTAnYCkgb3IgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdmFsaWRhdG9yIHNob3VsZCBiZSBlbmFibGVkIChsaWtlXHJcbiAgICAgKiBgW3JlcXVpcmVkXT0nZmFsc2UnYCkuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlucHV0TmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBhIHZhbGlkYXRvciAoc3BlY2lmaWMgdG8gYSBkaXJlY3RpdmUgdGhhdCBleHRlbmRzIHRoaXMgYmFzZSBjbGFzcykuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGNyZWF0ZVZhbGlkYXRvcihpbnB1dDogdW5rbm93bik6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybXMgdGhlIG5lY2Vzc2FyeSBpbnB1dCBub3JtYWxpemF0aW9uIGJhc2VkIG9uIGEgc3BlY2lmaWMgbG9naWMgb2YgYSBEaXJlY3RpdmUuXHJcbiAgICAgKiBGb3IgZXhhbXBsZSwgdGhlIGZ1bmN0aW9uIG1pZ2h0IGJlIHVzZWQgdG8gY29udmVydCBzdHJpbmctYmFzZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlXHJcbiAgICAgKiBgbWlubGVuZ3RoYCBpbnB1dCB0byBhbiBpbnRlZ2VyIHZhbHVlIHRoYXQgY2FuIGxhdGVyIGJlIHVzZWQgaW4gdGhlIGBWYWxpZGF0b3JzLm1pbkxlbmd0aGBcclxuICAgICAqIHZhbGlkYXRvci5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3Qgbm9ybWFsaXplSW5wdXQoaW5wdXQ6IHVua25vd24pOiB1bmtub3duO1xyXG5cclxuICAgIC8qKiBAbm9kb2MgKi9cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dE5hbWUgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMubm9ybWFsaXplSW5wdXQoY2hhbmdlc1t0aGlzLmlucHV0TmFtZV0uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRoaXMuZW5hYmxlZChpbnB1dCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvciA9IHRoaXMuX2VuYWJsZWQgPyB0aGlzLmNyZWF0ZVZhbGlkYXRvcihpbnB1dCkgOiBudWxsVmFsaWRhdG9yO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3IoY29udHJvbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIHZhbGlkYXRvciBzaG91bGQgYmUgYWN0aXZlIG9yIG5vdCBiYXNlZCBvbiBhbiBpbnB1dC5cclxuICAgICAqIEJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gY2hlY2tzIHdoZXRoZXIgYW4gaW5wdXQgaXMgZGVmaW5lZCAoaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tXHJcbiAgICAgKiBgbnVsbGAgYW5kIGB1bmRlZmluZWRgKS4gVmFsaWRhdG9yIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzIGNhbiBvdmVycmlkZSB0aGlzXHJcbiAgICAgKiBmdW5jdGlvbiB3aXRoIHRoZSBsb2dpYyBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgdmFsaWRhdG9yIGRpcmVjdGl2ZS5cclxuICAgICAqL1xyXG4gICAgZW5hYmxlZChpbnB1dDogdW5rbm93bik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsIC8qIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYCAqLztcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFJBTkdFX1ZBTElEQVRPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlVmFsaWRhdG9yKSxcclxuICAgIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbUkFOR0VfVkFMSURBVE9SXSxcclxuICAgIGhvc3Q6IHsgJ1thdHRyLnJhbmdlXSc6ICdfZW5hYmxlZCA/IHJhbmdlIDogbnVsbCcgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFuZ2VWYWxpZGF0b3IgZXh0ZW5kcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSB7XHJcbiAgICBASW5wdXQoKSByYW5nZSE6IFtudW1iZXIsIG51bWJlcl0gfCBudWxsO1xyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIGlucHV0TmFtZSA9ICdyYW5nZSc7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBub3JtYWxpemVJbnB1dCA9IChpbnB1dDogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyID0+IHRvRmxvYXQoaW5wdXQpO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgY3JlYXRlVmFsaWRhdG9yID0gKHJhbmdlOiBbbnVtYmVyXSk6IFZhbGlkYXRvckZuID0+IHJhbmdlVmFsaWRhdG9yKHJhbmdlKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBQcm92aWRlciB3aGljaCBhZGRzIGBNYXRjaFZhbGlkYXRvcmAgdG8gdGhlIGBOR19WQUxJREFUT1JTYCBtdWx0aS1wcm92aWRlciBsaXN0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE1BVENIX1ZBTElEQVRPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdGNoVmFsaWRhdG9yKSxcclxuICAgIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW21hdGNoXVtmb3JtQ29udHJvbE5hbWVdLG1hdGNoXVtmb3JtQ29udHJvbF0sW21hdGNoXVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFtNQVRDSF9WQUxJREFUT1JdLFxyXG4gICAgaG9zdDogeyAnW2F0dHIubWF0Y2hdJzogJ19lbmFibGVkID8gbWF0Y2ggOiBudWxsJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRjaFZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIG1hdGNoITogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIGlucHV0TmFtZSA9ICdtYXRjaCc7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBub3JtYWxpemVJbnB1dCA9IChpbnB1dDogc3RyaW5nKTogc3RyaW5nID0+IGlucHV0O1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgY3JlYXRlVmFsaWRhdG9yID0gKGlucHV0OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiA9PiBtYXRjaFZhbGlkYXRvcihpbnB1dCk7XHJcbn0iXX0=
@@ -5,7 +5,8 @@ import * as i0 from "@angular/core";
5
5
  class ValidatorsModule {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
7
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator,
8
- MatchValidator], imports: [CommonModule], exports: [RangeValidator] }); }
8
+ MatchValidator], imports: [CommonModule], exports: [RangeValidator,
9
+ MatchValidator] }); }
9
10
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
10
11
  }
11
12
  export { ValidatorsModule };
@@ -19,7 +20,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
19
20
  RangeValidator,
20
21
  MatchValidator,
21
22
  ],
22
- exports: [RangeValidator]
23
+ exports: [
24
+ RangeValidator,
25
+ MatchValidator
26
+ ]
23
27
  }]
24
28
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFN0QsTUFVYSxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUxyQixjQUFjO1lBQ2QsY0FBYyxhQUpkLFlBQVksYUFNTixjQUFjOytHQUVmLGdCQUFnQixZQVJyQixZQUFZOztTQVFQLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDVixjQUFjO3dCQUNkLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRjaFZhbGlkYXRvciwgUmFuZ2VWYWxpZGF0b3IgfSBmcm9tICcuL2RpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFJhbmdlVmFsaWRhdG9yLFxyXG4gICAgICAgIE1hdGNoVmFsaWRhdG9yLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtSYW5nZVZhbGlkYXRvcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvcnNNb2R1bGUgeyB9Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFN0QsTUFhYSxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVJyQixjQUFjO1lBQ2QsY0FBYyxhQUpkLFlBQVksYUFPWixjQUFjO1lBQ2QsY0FBYzsrR0FHVCxnQkFBZ0IsWUFYckIsWUFBWTs7U0FXUCxnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdGNoVmFsaWRhdG9yLCBSYW5nZVZhbGlkYXRvciB9IGZyb20gJy4vZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUmFuZ2VWYWxpZGF0b3IsXHJcbiAgICAgICAgTWF0Y2hWYWxpZGF0b3IsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFJhbmdlVmFsaWRhdG9yLFxyXG4gICAgICAgIE1hdGNoVmFsaWRhdG9yXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JzTW9kdWxlIHsgfSJdfQ==
@@ -1,4 +1,3 @@
1
- // import { AbstractControl, Validators, ValidatorFn, ValidationErrors } from '@angular/forms'
2
1
  // export const range = (range?: Array<number> | null): ValidatorFn => {
3
2
  // return (control: AbstractControl): { [key: string]: any } | null => {
4
3
  // if (!range) return null;
@@ -92,20 +91,29 @@ export function rangeValidator(range) {
92
91
  return null;
93
92
  };
94
93
  }
95
- export function matchValidator(target) {
94
+ export function matchValidator(input) {
96
95
  return (control) => {
97
96
  if (isEmptyInputValue(control.value)) {
98
97
  return null; // don't validate empty values to allow optional controls
99
98
  }
100
- const targetCtrl = control.get(target);
101
- if (!targetCtrl)
102
- return null;
103
- const value = control.value;
104
- const targetValue = targetCtrl.value;
105
- if (targetValue !== value) {
106
- return { 'mismatch': { 'target': targetValue, 'actual': control.value } };
99
+ const targetCtrl = control.get(input);
100
+ let targetValue;
101
+ if (!targetCtrl) {
102
+ let el = document.getElementById(input);
103
+ if (el) {
104
+ targetValue = el.value;
105
+ }
106
+ else {
107
+ return null;
108
+ }
109
+ }
110
+ else {
111
+ targetValue = targetCtrl.value;
112
+ }
113
+ if (targetValue !== control.value) {
114
+ return { 'mismatch': { 'requiredValue': targetValue, 'actual': control.value } };
107
115
  }
108
116
  return null;
109
117
  };
110
118
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RkFBOEY7QUFLOUYsd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUU1RSxtQ0FBbUM7QUFDbkMseURBQXlEO0FBRXpELDBDQUEwQztBQUMxQyxnSEFBZ0g7QUFDaEgsU0FBUztBQUNULEtBQUs7QUFDTCx3Q0FBd0M7QUFDeEMsMEVBQTBFO0FBQzFFLGtEQUFrRDtBQUNsRCxzREFBc0Q7QUFDdEQsSUFBSTtBQUdKLFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNqQzs7OztPQUlHO0lBQ0gsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3hJLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBd0I7SUFDbEQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUdELE1BQU0sT0FBTyxVQUFVO0lBRW5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUJFO0lBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLGNBQWMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFHRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRjtJQUNFLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBYTtRQUN0QixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0o7QUFHRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQW9CO0lBQy9DLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQ3pELElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xGLE9BQU8sSUFBSSxDQUFDLENBQUUseURBQXlEO1NBQzFFO1FBQ0QsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsRUFBRTtZQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUMzRTtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFHRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWM7SUFDekMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDekQsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMsQ0FBRSx5REFBeUQ7U0FDMUU7UUFFRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFFaEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM1QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksV0FBVyxLQUFLLEtBQUssRUFBRTtZQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDN0U7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5cclxuaW1wb3J0IHsgdHJhbnNpdGlvbiB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIGV4cG9ydCBjb25zdCByYW5nZSA9IChyYW5nZT86IEFycmF5PG51bWJlcj4gfCBudWxsKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4vLyAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcblxyXG4vLyAgICAgICAgIGlmICghcmFuZ2UpIHJldHVybiBudWxsO1xyXG4vLyAgICAgICAgIGlmIChWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpKSByZXR1cm4gbnVsbDtcclxuXHJcbi8vICAgICAgICAgbGV0IHY6IG51bWJlciA9ICtjb250cm9sLnZhbHVlO1xyXG4vLyAgICAgICAgIHJldHVybiB2ID49IHJhbmdlWzBdICYmIHYgPD0gcmFuZ2VbMV0gPyBudWxsIDogeyBhY3R1YWxWYWx1ZTogdiwgcmVxdWlyZWRWYWx1ZTogcmFuZ2UsIHJhbmdlOiB0cnVlIH07XHJcbi8vICAgICB9O1xyXG4vLyB9O1xyXG4vLyBleHBvcnQgZnVuY3Rpb24gYmx1ZSgpOiBWYWxpZGF0b3JGbiB7XHJcbi8vICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+XHJcbi8vICAgICAgICAgY29udHJvbC52YWx1ZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2JsdWUnXHJcbi8vICAgICAgICAgICAgID8gbnVsbCA6IHsgd3JvbmdDb2xvcjogY29udHJvbC52YWx1ZSB9O1xyXG4vLyB9XHJcblxyXG5cclxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgc3RyaW5nIG9yIGFycmF5IGJlZm9yZSBldmFsdWF0aW5nIHRoZSBsZW5ndGggYXR0cmlidXRlLlxyXG4gICAgICogVGhpcyBhdm9pZHMgZmFsc2VseSByZWplY3Rpbmcgb2JqZWN0cyB0aGF0IGNvbnRhaW4gYSBjdXN0b20gbGVuZ3RoIGF0dHJpYnV0ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgb2JqZWN0IHtpZDogMSwgbGVuZ3RoOiAwLCB3aWR0aDogMH0gc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBlbXB0eS5cclxuICAgICAqL1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCAoKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGhhcyBgVmFsaWRhdG9yRm5gIHNoYXBlLCBidXQgcGVyZm9ybXMgbm8gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcHJvdmlkZWQgbnVtYmVyLlxyXG4gICAgKlxyXG4gICAgKiBAdXNhZ2VOb3Rlc1xyXG4gICAgKlxyXG4gICAgKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4gICAgKlxyXG4gICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4gICAgKlxyXG4gICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHtyYW5nZToge21pbjogMCwgbWF4OiAxNSwgYWN0dWFsOiAxNn19XHJcbiAgICAqIGBgYFxyXG4gICAgKlxyXG4gICAgKiBAcmV0dXJucyBBIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gZXJyb3IgbWFwIHdpdGggdGhlXHJcbiAgICAqIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbiAgICAqXHJcbiAgICAqIEBzZWUgYHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKWBcclxuICAgICpcclxuICAgICovXHJcbiAgICBzdGF0aWMgcmFuZ2UobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiByYW5nZVZhbGlkYXRvcihbbWluLCBtYXhdKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiogQGRlc2NyaXB0aW9uXHJcbiogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cclxuKlxyXG4qIEB1c2FnZU5vdGVzXHJcbipcclxuKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4qXHJcbiogYGBgdHlwZXNjcmlwdFxyXG4qIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4qXHJcbiogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7cmFuZ2U6IHttaW46IDAsIG1heDogMTUsIGFjdHVhbDogMTZ9fVxyXG4qIGBgYFxyXG4qXHJcbiogQHJldHVybnMgQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGVycm9yIG1hcCB3aXRoIHRoZVxyXG4qIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbipcclxuKiBAc2VlIGB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClgXHJcbipcclxuKi9cclxuICAgIHN0YXRpYyBtYXRjaCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiBtYXRjaFZhbGlkYXRvcih2YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBiZXR3ZWVuIHByb3ZpZGVkIG51bWJlcnMuXHJcbiAqIFNlZSBgVmFsaWRhdG9ycy5yYW5nZWAgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmFuZ2VWYWxpZGF0b3IocmFuZ2U6IEFycmF5PG51bWJlcj4pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgICBpZiAoaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkgfHwgaXNFbXB0eUlucHV0VmFsdWUocmFuZ2UpIHx8IHJhbmdlLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7ICAvLyBkb24ndCB2YWxpZGF0ZSBlbXB0eSB2YWx1ZXMgdG8gYWxsb3cgb3B0aW9uYWwgY29udHJvbHNcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAgIGxldCBtYXggPSByYW5nZVswXTtcclxuICAgICAgICBsZXQgbWluID0gcmFuZ2VbMV07XHJcbiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkgJiYgKHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAncmFuZ2UnOiB7ICdtaW4nOiBtaW4sICdtYXgnOiBtYXgsICdhY3R1YWwnOiBjb250cm9sLnZhbHVlIH0gfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFZhbGlkYXRvcih0YXJnZXQ6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDsgIC8vIGRvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGFyZ2V0Q3RybCA9IGNvbnRyb2wuZ2V0KHRhcmdldCk7XHJcbiAgICAgICAgaWYgKCF0YXJnZXRDdHJsKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHRhcmdldFZhbHVlID0gdGFyZ2V0Q3RybC52YWx1ZTtcclxuICAgICAgICBpZiAodGFyZ2V0VmFsdWUgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdtaXNtYXRjaCc6IHsgJ3RhcmdldCc6IHRhcmdldFZhbHVlLCAnYWN0dWFsJzogY29udHJvbC52YWx1ZSB9IH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxufSJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx3RUFBd0U7QUFDeEUsNEVBQTRFO0FBRTVFLG1DQUFtQztBQUNuQyx5REFBeUQ7QUFFekQsMENBQTBDO0FBQzFDLGdIQUFnSDtBQUNoSCxTQUFTO0FBQ1QsS0FBSztBQUNMLHdDQUF3QztBQUN4QywwRUFBMEU7QUFDMUUsa0RBQWtEO0FBQ2xELHNEQUFzRDtBQUN0RCxJQUFJO0FBR0osU0FBUyxpQkFBaUIsQ0FBQyxLQUFVO0lBQ2pDOzs7O09BSUc7SUFDSCxPQUFPLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDeEksQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUF3QjtJQUNsRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBR0QsTUFBTSxPQUFPLFVBQVU7SUFFbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFtQkU7SUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ2pDLE9BQU8sY0FBYyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJGO0lBQ0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDSjtBQUdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBb0I7SUFDL0MsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDekQsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEYsT0FBTyxJQUFJLENBQUMsQ0FBRSx5REFBeUQ7U0FDMUU7UUFDRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQzNFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUdELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYTtJQUN4QyxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQyxDQUFFLHlEQUF5RDtTQUMxRTtRQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxXQUFnQixDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDYixJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBUSxDQUFDO1lBQy9DLElBQUksRUFBRSxFQUFFO2dCQUNKLFdBQVcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7U0FDSjthQUFNO1lBQ0gsV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDbEM7UUFFRCxJQUFJLFdBQVcsS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUNwRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIGV4cG9ydCBjb25zdCByYW5nZSA9IChyYW5nZT86IEFycmF5PG51bWJlcj4gfCBudWxsKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4vLyAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcblxyXG4vLyAgICAgICAgIGlmICghcmFuZ2UpIHJldHVybiBudWxsO1xyXG4vLyAgICAgICAgIGlmIChWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpKSByZXR1cm4gbnVsbDtcclxuXHJcbi8vICAgICAgICAgbGV0IHY6IG51bWJlciA9ICtjb250cm9sLnZhbHVlO1xyXG4vLyAgICAgICAgIHJldHVybiB2ID49IHJhbmdlWzBdICYmIHYgPD0gcmFuZ2VbMV0gPyBudWxsIDogeyBhY3R1YWxWYWx1ZTogdiwgcmVxdWlyZWRWYWx1ZTogcmFuZ2UsIHJhbmdlOiB0cnVlIH07XHJcbi8vICAgICB9O1xyXG4vLyB9O1xyXG4vLyBleHBvcnQgZnVuY3Rpb24gYmx1ZSgpOiBWYWxpZGF0b3JGbiB7XHJcbi8vICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+XHJcbi8vICAgICAgICAgY29udHJvbC52YWx1ZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2JsdWUnXHJcbi8vICAgICAgICAgICAgID8gbnVsbCA6IHsgd3JvbmdDb2xvcjogY29udHJvbC52YWx1ZSB9O1xyXG4vLyB9XHJcblxyXG5cclxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgc3RyaW5nIG9yIGFycmF5IGJlZm9yZSBldmFsdWF0aW5nIHRoZSBsZW5ndGggYXR0cmlidXRlLlxyXG4gICAgICogVGhpcyBhdm9pZHMgZmFsc2VseSByZWplY3Rpbmcgb2JqZWN0cyB0aGF0IGNvbnRhaW4gYSBjdXN0b20gbGVuZ3RoIGF0dHJpYnV0ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgb2JqZWN0IHtpZDogMSwgbGVuZ3RoOiAwLCB3aWR0aDogMH0gc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBlbXB0eS5cclxuICAgICAqL1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCAoKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGhhcyBgVmFsaWRhdG9yRm5gIHNoYXBlLCBidXQgcGVyZm9ybXMgbm8gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcHJvdmlkZWQgbnVtYmVyLlxyXG4gICAgKlxyXG4gICAgKiBAdXNhZ2VOb3Rlc1xyXG4gICAgKlxyXG4gICAgKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4gICAgKlxyXG4gICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4gICAgKlxyXG4gICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHtyYW5nZToge21pbjogMCwgbWF4OiAxNSwgYWN0dWFsOiAxNn19XHJcbiAgICAqIGBgYFxyXG4gICAgKlxyXG4gICAgKiBAcmV0dXJucyBBIHZhbGlkYXRvciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gZXJyb3IgbWFwIHdpdGggdGhlXHJcbiAgICAqIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbiAgICAqXHJcbiAgICAqIEBzZWUgYHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKWBcclxuICAgICpcclxuICAgICovXHJcbiAgICBzdGF0aWMgcmFuZ2UobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiByYW5nZVZhbGlkYXRvcihbbWluLCBtYXhdKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiogQGRlc2NyaXB0aW9uXHJcbiogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cclxuKlxyXG4qIEB1c2FnZU5vdGVzXHJcbipcclxuKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4qXHJcbiogYGBgdHlwZXNjcmlwdFxyXG4qIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4qXHJcbiogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7cmFuZ2U6IHttaW46IDAsIG1heDogMTUsIGFjdHVhbDogMTZ9fVxyXG4qIGBgYFxyXG4qXHJcbiogQHJldHVybnMgQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGVycm9yIG1hcCB3aXRoIHRoZVxyXG4qIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbipcclxuKiBAc2VlIGB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClgXHJcbipcclxuKi9cclxuICAgIHN0YXRpYyBtYXRjaCh2YWx1ZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgICAgIHJldHVybiBtYXRjaFZhbGlkYXRvcih2YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBiZXR3ZWVuIHByb3ZpZGVkIG51bWJlcnMuXHJcbiAqIFNlZSBgVmFsaWRhdG9ycy5yYW5nZWAgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmFuZ2VWYWxpZGF0b3IocmFuZ2U6IEFycmF5PG51bWJlcj4pOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgICBpZiAoaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkgfHwgaXNFbXB0eUlucHV0VmFsdWUocmFuZ2UpIHx8IHJhbmdlLmxlbmd0aCA8IDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7ICAvLyBkb24ndCB2YWxpZGF0ZSBlbXB0eSB2YWx1ZXMgdG8gYWxsb3cgb3B0aW9uYWwgY29udHJvbHNcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZsb2F0KGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICAgIGxldCBtYXggPSByYW5nZVswXTtcclxuICAgICAgICBsZXQgbWluID0gcmFuZ2VbMV07XHJcbiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkgJiYgKHZhbHVlIDwgbWluIHx8IHZhbHVlID4gbWF4KSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAncmFuZ2UnOiB7ICdtaW4nOiBtaW4sICdtYXgnOiBtYXgsICdhY3R1YWwnOiBjb250cm9sLnZhbHVlIH0gfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFZhbGlkYXRvcihpbnB1dDogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgaWYgKGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsOyAgLy8gZG9uJ3QgdmFsaWRhdGUgZW1wdHkgdmFsdWVzIHRvIGFsbG93IG9wdGlvbmFsIGNvbnRyb2xzXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0YXJnZXRDdHJsID0gY29udHJvbC5nZXQoaW5wdXQpO1xyXG4gICAgICAgIGxldCB0YXJnZXRWYWx1ZTogYW55O1xyXG4gICAgICAgIGlmICghdGFyZ2V0Q3RybCkge1xyXG4gICAgICAgICAgICBsZXQgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbnB1dCkgYXMgYW55O1xyXG4gICAgICAgICAgICBpZiAoZWwpIHtcclxuICAgICAgICAgICAgICAgIHRhcmdldFZhbHVlID0gZWwudmFsdWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRhcmdldFZhbHVlID0gdGFyZ2V0Q3RybC52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0YXJnZXRWYWx1ZSAhPT0gY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAnbWlzbWF0Y2gnOiB7ICdyZXF1aXJlZFZhbHVlJzogdGFyZ2V0VmFsdWUsICdhY3R1YWwnOiBjb250cm9sLnZhbHVlIH0gfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG59Il19
package/fesm2022/zek.mjs CHANGED
@@ -6370,7 +6370,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
6370
6370
  type: Input
6371
6371
  }] } });
6372
6372
 
6373
- // import { AbstractControl, Validators, ValidatorFn, ValidationErrors } from '@angular/forms'
6374
6373
  // export const range = (range?: Array<number> | null): ValidatorFn => {
6375
6374
  // return (control: AbstractControl): { [key: string]: any } | null => {
6376
6375
  // if (!range) return null;
@@ -6464,28 +6463,32 @@ function rangeValidator(range) {
6464
6463
  return null;
6465
6464
  };
6466
6465
  }
6467
- function matchValidator(target) {
6466
+ function matchValidator(input) {
6468
6467
  return (control) => {
6469
6468
  if (isEmptyInputValue(control.value)) {
6470
6469
  return null; // don't validate empty values to allow optional controls
6471
6470
  }
6472
- const targetCtrl = control.get(target);
6473
- if (!targetCtrl)
6474
- return null;
6475
- const value = control.value;
6476
- const targetValue = targetCtrl.value;
6477
- if (targetValue !== value) {
6478
- return { 'mismatch': { 'target': targetValue, 'actual': control.value } };
6471
+ const targetCtrl = control.get(input);
6472
+ let targetValue;
6473
+ if (!targetCtrl) {
6474
+ let el = document.getElementById(input);
6475
+ if (el) {
6476
+ targetValue = el.value;
6477
+ }
6478
+ else {
6479
+ return null;
6480
+ }
6481
+ }
6482
+ else {
6483
+ targetValue = targetCtrl.value;
6484
+ }
6485
+ if (targetValue !== control.value) {
6486
+ return { 'mismatch': { 'requiredValue': targetValue, 'actual': control.value } };
6479
6487
  }
6480
6488
  return null;
6481
6489
  };
6482
6490
  }
6483
6491
 
6484
- const RANGE_VALIDATOR = {
6485
- provide: NG_VALIDATORS,
6486
- useExisting: forwardRef(() => RangeValidator),
6487
- multi: true
6488
- };
6489
6492
  function toFloat(value) {
6490
6493
  return typeof value === 'number' ? value : parseFloat(value);
6491
6494
  }
@@ -6528,6 +6531,11 @@ class AbstractValidatorDirective {
6528
6531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
6529
6532
  type: Directive
6530
6533
  }] });
6534
+ const RANGE_VALIDATOR = {
6535
+ provide: NG_VALIDATORS,
6536
+ useExisting: forwardRef(() => RangeValidator),
6537
+ multi: true
6538
+ };
6531
6539
  class RangeValidator extends AbstractValidatorDirective {
6532
6540
  constructor() {
6533
6541
  super(...arguments);
@@ -6557,7 +6565,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
6557
6565
  */
6558
6566
  const MATCH_VALIDATOR = {
6559
6567
  provide: NG_VALIDATORS,
6560
- useExisting: forwardRef(() => matchValidator),
6568
+ useExisting: forwardRef(() => MatchValidator),
6561
6569
  multi: true
6562
6570
  };
6563
6571
  class MatchValidator extends AbstractValidatorDirective {
@@ -6566,28 +6574,29 @@ class MatchValidator extends AbstractValidatorDirective {
6566
6574
  /** @internal */
6567
6575
  this.inputName = 'match';
6568
6576
  /** @internal */
6569
- this.normalizeInput = (input) => input.trim();
6577
+ this.normalizeInput = (input) => input;
6570
6578
  /** @internal */
6571
- this.createValidator = (target) => matchValidator(target);
6579
+ this.createValidator = (input) => matchValidator(input);
6572
6580
  }
6573
6581
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
6574
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: MatchValidator, selector: "input[match][formControlName],input[match][formControl],input[match][ngModel]", inputs: { equals: "equals" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
6582
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: MatchValidator, selector: "[match][formControlName],match][formControl],[match][ngModel]", inputs: { match: "match" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
6575
6583
  }
6576
6584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, decorators: [{
6577
6585
  type: Directive,
6578
6586
  args: [{
6579
- selector: 'input[match][formControlName],input[match][formControl],input[match][ngModel]',
6587
+ selector: '[match][formControlName],match][formControl],[match][ngModel]',
6580
6588
  providers: [MATCH_VALIDATOR],
6581
6589
  host: { '[attr.match]': '_enabled ? match : null' }
6582
6590
  }]
6583
- }], propDecorators: { equals: [{
6591
+ }], propDecorators: { match: [{
6584
6592
  type: Input
6585
6593
  }] } });
6586
6594
 
6587
6595
  class ValidatorsModule {
6588
6596
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6589
6597
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator,
6590
- MatchValidator], imports: [CommonModule], exports: [RangeValidator] }); }
6598
+ MatchValidator], imports: [CommonModule], exports: [RangeValidator,
6599
+ MatchValidator] }); }
6591
6600
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
6592
6601
  }
6593
6602
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, decorators: [{
@@ -6600,7 +6609,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
6600
6609
  RangeValidator,
6601
6610
  MatchValidator,
6602
6611
  ],
6603
- exports: [RangeValidator]
6612
+ exports: [
6613
+ RangeValidator,
6614
+ MatchValidator
6615
+ ]
6604
6616
  }]
6605
6617
  }] });
6606
6618
 
@@ -6711,5 +6723,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
6711
6723
  * Generated bundle index. Do not edit.
6712
6724
  */
6713
6725
 
6714
- export { API_BASE_URL, AgeModule, AgePipe, Alert, AlertModule, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, AutoCompleteDirective, AutoCompleteModule, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseComponent, ButtonBrowseModalBaseComponent, ButtonBrowseModalToolbarComponent, ButtonBrowseModule, CallbackModule, CallbackPipe, CardComponent, CardModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoModule, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, EditToolbarComponent, EditToolbarModule, FileBase, FileBytes, FileHelper, FileModule, FileSizePipe, FileString, FileViewerModule, FilterBase, FilterHelper, Gender, GridToolbarBarComponent, GridToolbarComponent, GridToolbarModule, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, ListToolbarComponent, ListToolbarModule, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PageTitleComponent, PageTitleModule, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PasswordModule, PeriodRelation, PrintType, ProgressModule, RECAPTCHA_SITE_KEY, RadioComponent, RadioModule, RandomHelper, RangeValidator, ReCaptchaService, ReadOnlyDirective, ReadOnlyModule, RecaptchaModule, Select2Component, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, ValidatorModule, Validators, ValidatorsModule, WebApiClient, WebApiModule, WizardComponent, WizardComponent2, WizardModule, ZekAlert, ZekApproveModal, ZekDeleteModal, ZekDisapproveModal, ZekFieldValidator, ZekFileViewer, ZekFilterModal, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPager, ZekPagerModule, ZekPassword, ZekProgress, ZekRestoreModal, ZekSafeModule, ZekSafePipe, ZekSelect2Multiple, ZekSelect2MultipleModule, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSortModule, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, firstBy, handler, matchValidator, nullValidator, rangeValidator };
6726
+ export { API_BASE_URL, AgeModule, AgePipe, Alert, AlertModule, AlertService, AppBaseModule, ArrayHelper, AuthGuardService, AuthService, AutoCompleteDirective, AutoCompleteModule, Base64Helper, BaseAlert, BaseComponent, BaseService, BitwiseHelper, BootstrapHelper, ButtonBrowseComponent, ButtonBrowseModalBaseComponent, ButtonBrowseModalToolbarComponent, ButtonBrowseModule, CallbackModule, CallbackPipe, CardComponent, CardModule, Color, ComponentType, Convert, CoreComponent, CoreUiComponent, CrudService, CssHelper, CustomHttpParamEncoder, DATE_FORMAT, DateAgoModule, DateAgoPipe, DateHelper, DateValueAccessor, DatepickerModule, EditBase, EditBaseComponent, EditComponent, EditFormComponent, EditToolbarComponent, EditToolbarModule, FileBase, FileBytes, FileHelper, FileModule, FileSizePipe, FileString, FileViewerModule, FilterBase, FilterHelper, Gender, GridToolbarBarComponent, GridToolbarComponent, GridToolbarModule, HtmlHelper, HttpErrorHandler, JwtHelper, KeyPair, KeyPairChecked, KeyPairEx, KeyPairRequired, LANGUAGE, ListBase, ListBaseComponent, ListToolbarComponent, ListToolbarModule, MATCH_VALIDATOR, MatchValidator, MathHelper, Month, ObjectHelper, OverlapHelper, PageTitleComponent, PageTitleModule, PagedList, PagedListBase, Pager, PagerBase, PagerHelper, PasswordModule, PeriodRelation, PrintType, ProgressModule, RANGE_VALIDATOR, RECAPTCHA_SITE_KEY, RadioComponent, RadioModule, RandomHelper, RangeValidator, ReCaptchaService, ReadOnlyDirective, ReadOnlyModule, RecaptchaModule, Select2Component, Select2Module, StorageHelper, StringHelper, TimeHelper, TimeModule, TimePipe, TimerService, Toast, Tree, UrlHelper, ValidEventArgs, ValidationHelper, ValidatorModule, Validators, ValidatorsModule, WebApiClient, WebApiModule, WizardComponent, WizardComponent2, WizardModule, ZekAlert, ZekApproveModal, ZekDeleteModal, ZekDisapproveModal, ZekFieldValidator, ZekFileViewer, ZekFilterModal, ZekLoading, ZekLoadingModule, ZekModal, ZekModalModule, ZekPager, ZekPagerModule, ZekPassword, ZekProgress, ZekRestoreModal, ZekSafeModule, ZekSafePipe, ZekSelect2Multiple, ZekSelect2MultipleModule, ZekSelectModule, ZekSelectMultiple, ZekSort, ZekSortButtonGroup, ZekSortModule, ZekSubmitModal, ZekSumModal, ZekToast, ZekValidation, firstBy, handler, matchValidator, nullValidator, rangeValidator };
6715
6727
  //# sourceMappingURL=zek.mjs.map