valtech-components 2.0.535 → 2.0.537

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, inject, Input } from '@angular/core';
2
2
  import { IonText } from '@ionic/angular/standalone';
3
+ import { I18nService } from '../../../services/i18n';
3
4
  import { resolveColor } from '../../../shared/utils/styles';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
@@ -16,6 +17,7 @@ export class ExpandableTextComponent {
16
17
  constructor() {
17
18
  this.expanded = false;
18
19
  this.defaultColor = 'primary';
20
+ this.i18n = inject(I18nService);
19
21
  }
20
22
  get truncatedText() {
21
23
  const maxLength = this.props.limit || 100;
@@ -25,7 +27,7 @@ export class ExpandableTextComponent {
25
27
  return this.props.content?.length > (this.props.limit || 100);
26
28
  }
27
29
  getExpandText() {
28
- return this.props.expandText || 'ver más';
30
+ return this.props.expandText || this.i18n.t('seeMore');
29
31
  }
30
32
  toggleExpand() {
31
33
  this.expanded = !this.expanded;
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
72
74
  }], propDecorators: { props: [{
73
75
  type: Input
74
76
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUE4RDVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFyRXBDO1FBK0VFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxTQUFTLENBQUM7S0FzQjFCO0lBcEJDLElBQUksYUFBYTtRQUNmLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUN0SCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FoQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsMkdBakV4Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsZ21CQWhCUyxPQUFPOzs0RkFrRU4sdUJBQXVCO2tCQXJFbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1I7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzhCQTJEUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25UZXh0IH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyByZXNvbHZlQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc3R5bGVzJztcbmltcG9ydCB7IEV4cGFuZGFibGVUZXh0SW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWV4cGFuZGFibGUtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tY29udGFpbmVyXCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCIgW2NsYXNzLmhhcy1ncmFkaWVudF09XCIhZXhwYW5kZWQgJiYgaXNUcnVuY2F0ZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudFwiPnt7IGV4cGFuZGVkID8gcHJvcHMuY29udGVudCA6IHRydW5jYXRlZFRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKCFleHBhbmRlZCAmJiBpc1RydW5jYXRlZCkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInNlZS1tb3JlXCIgW3N0eWxlLmNvbG9yXT1cInRoaXMuY29sb3IoKVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmQoKVwiPlxuICAgICAgICAgIHt7IGdldEV4cGFuZFRleHQoKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lcjpub3QoLmV4cGFuZGVkKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwcmVtOyAvKiBBbHR1cmEgcGFyYSB0ZXh0byB0cnVuY2FkbyAqL1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyLmV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgLyogU2luIGzDrW1pdGUgZGUgYWx0dXJhIGFsIGV4cGFuZGlyICovXG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAvKiBNYXNrIGdyYWRpZW50IC0gZnVuY2lvbmEgZW4gY3VhbHF1aWVyIGNvbG9yIGRlIGZvbmRvICovXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyOm5vdCguZXhwYW5kZWQpLmhhcy1ncmFkaWVudCAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWUtbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuLyoqXG4gKiB2YWwtZXhwYW5kYWJsZS10ZXh0XG4gKlxuICogQSB0ZXh0IGNvbXBvbmVudCB0aGF0IGNhbiBiZSBleHBhbmRlZC9jb2xsYXBzZWQgdG8gc2hvdyBtb3JlIG9yIGxlc3MgY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1leHBhbmRhYmxlLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogJy4uLicsIGxpbWl0OiAxODAsIGNvbG9yOiAncHJpbWFyeScsIGV4cGFuZFRleHQ6ICdtw6FzJyB9XCI+PC92YWwtZXhwYW5kYWJsZS10ZXh0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBleHBhbmRhYmxlIHRleHQgKGNvbnRlbnQsIGxpbWl0LCBjb2xvciwgZXhwYW5kVGV4dClcbiAqL1xuZXhwb3J0IGNsYXNzIEV4cGFuZGFibGVUZXh0Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgdGV4dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0V4cGFuZGFibGVUZXh0SW5wdXR9XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcHJvcGVydHkgbGltaXQgLSBUaGUgY2hhcmFjdGVyIGxpbWl0IGJlZm9yZSB0cnVuY2F0aW9uLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgY29sb3IgZm9yIHRoZSBcInNlZSBtb3JlXCIgbGluay5cbiAgICogQHByb3BlcnR5IGV4cGFuZFRleHQgLSBUaGUgdGV4dCBmb3IgdGhlIGV4cGFuZCBsaW5rIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dDtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgZGVmYXVsdENvbG9yID0gJ3ByaW1hcnknO1xuXG4gIGdldCB0cnVuY2F0ZWRUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5wcm9wcy5saW1pdCB8fCAxMDA7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY29udGVudD8ubGVuZ3RoID4gbWF4TGVuZ3RoID8gdGhpcy5wcm9wcy5jb250ZW50LnNsaWNlKDAsIG1heExlbmd0aCkgKyAnLi4uJyA6IHRoaXMucHJvcHMuY29udGVudDtcbiAgfVxuXG4gIGdldCBpc1RydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb250ZW50Py5sZW5ndGggPiAodGhpcy5wcm9wcy5saW1pdCB8fCAxMDApO1xuICB9XG5cbiAgZ2V0RXhwYW5kVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmV4cGFuZFRleHQgfHwgJ3ZlciBtw6FzJztcbiAgfVxuXG4gIHRvZ2dsZUV4cGFuZCgpIHtcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gIH1cblxuICBjb2xvcigpIHtcbiAgICByZXR1cm4gcmVzb2x2ZUNvbG9yKHRoaXMucHJvcHMuY29sb3IgfHwgdGhpcy5kZWZhdWx0Q29sb3IpO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kYWJsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQThENUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQXJFcEM7UUErRUUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBc0JwQztJQXBCQyxJQUFJLGFBQWE7UUFDZixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdEgsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FsQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsMkdBakV4Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQsZ21CQWhCUyxPQUFPOzs0RkFrRU4sdUJBQXVCO2tCQXJFbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1I7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzhCQTJEUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyByZXNvbHZlQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc3R5bGVzJztcbmltcG9ydCB7IEV4cGFuZGFibGVUZXh0SW5wdXQgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWV4cGFuZGFibGUtdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25UZXh0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tY29udGFpbmVyXCIgW2NsYXNzLmV4cGFuZGVkXT1cImV4cGFuZGVkXCIgW2NsYXNzLmhhcy1ncmFkaWVudF09XCIhZXhwYW5kZWQgJiYgaXNUcnVuY2F0ZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgPGlvbi10ZXh0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGVudFwiPnt7IGV4cGFuZGVkID8gcHJvcHMuY29udGVudCA6IHRydW5jYXRlZFRleHQgfX08L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2lvbi10ZXh0PlxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKCFleHBhbmRlZCAmJiBpc1RydW5jYXRlZCkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInNlZS1tb3JlXCIgW3N0eWxlLmNvbG9yXT1cInRoaXMuY29sb3IoKVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmQoKVwiPlxuICAgICAgICAgIHt7IGdldEV4cGFuZFRleHQoKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lcjpub3QoLmV4cGFuZGVkKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwcmVtOyAvKiBBbHR1cmEgcGFyYSB0ZXh0byB0cnVuY2FkbyAqL1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyLmV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTsgLyogU2luIGzDrW1pdGUgZGUgYWx0dXJhIGFsIGV4cGFuZGlyICovXG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAvKiBNYXNrIGdyYWRpZW50IC0gZnVuY2lvbmEgZW4gY3VhbHF1aWVyIGNvbG9yIGRlIGZvbmRvICovXG4gICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyOm5vdCguZXhwYW5kZWQpLmhhcy1ncmFkaWVudCAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWUtbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuLyoqXG4gKiB2YWwtZXhwYW5kYWJsZS10ZXh0XG4gKlxuICogQSB0ZXh0IGNvbXBvbmVudCB0aGF0IGNhbiBiZSBleHBhbmRlZC9jb2xsYXBzZWQgdG8gc2hvdyBtb3JlIG9yIGxlc3MgY29udGVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1leHBhbmRhYmxlLXRleHQgW3Byb3BzXT1cInsgY29udGVudDogJy4uLicsIGxpbWl0OiAxODAsIGNvbG9yOiAncHJpbWFyeScsIGV4cGFuZFRleHQ6ICdtw6FzJyB9XCI+PC92YWwtZXhwYW5kYWJsZS10ZXh0PlxuICpcbiAqIEBpbnB1dCBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBleHBhbmRhYmxlIHRleHQgKGNvbnRlbnQsIGxpbWl0LCBjb2xvciwgZXhwYW5kVGV4dClcbiAqL1xuZXhwb3J0IGNsYXNzIEV4cGFuZGFibGVUZXh0Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgdGV4dCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0V4cGFuZGFibGVUZXh0SW5wdXR9XG4gICAqIEBwcm9wZXJ0eSBjb250ZW50IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcHJvcGVydHkgbGltaXQgLSBUaGUgY2hhcmFjdGVyIGxpbWl0IGJlZm9yZSB0cnVuY2F0aW9uLlxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgY29sb3IgZm9yIHRoZSBcInNlZSBtb3JlXCIgbGluay5cbiAgICogQHByb3BlcnR5IGV4cGFuZFRleHQgLSBUaGUgdGV4dCBmb3IgdGhlIGV4cGFuZCBsaW5rIChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogRXhwYW5kYWJsZVRleHRJbnB1dDtcbiAgZXhwYW5kZWQgPSBmYWxzZTtcbiAgZGVmYXVsdENvbG9yID0gJ3ByaW1hcnknO1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgZ2V0IHRydW5jYXRlZFRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLnByb3BzLmxpbWl0IHx8IDEwMDtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb250ZW50Py5sZW5ndGggPiBtYXhMZW5ndGggPyB0aGlzLnByb3BzLmNvbnRlbnQuc2xpY2UoMCwgbWF4TGVuZ3RoKSArICcuLi4nIDogdGhpcy5wcm9wcy5jb250ZW50O1xuICB9XG5cbiAgZ2V0IGlzVHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbnRlbnQ/Lmxlbmd0aCA+ICh0aGlzLnByb3BzLmxpbWl0IHx8IDEwMCk7XG4gIH1cblxuICBnZXRFeHBhbmRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZXhwYW5kVGV4dCB8fCB0aGlzLmkxOG4udCgnc2VlTW9yZScpO1xuICB9XG5cbiAgdG9nZ2xlRXhwYW5kKCkge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIGNvbG9yKCkge1xuICAgIHJldHVybiByZXNvbHZlQ29sb3IodGhpcy5wcm9wcy5jb2xvciB8fCB0aGlzLmRlZmF1bHRDb2xvcik7XG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,7 @@ import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
3
3
  import { IonIcon } from '@ionic/angular/standalone';
4
4
  import { addIcons } from 'ionicons';
5
5
  import { arrowForwardOutline } from 'ionicons/icons';
6
+ import { I18nService } from '../../../services/i18n';
6
7
  import { NavigationService } from '../../../services/navigation.service';
7
8
  import { ThemeService } from '../../../services/theme.service';
8
9
  import * as i0 from "@angular/core";
@@ -30,6 +31,7 @@ import * as i0 from "@angular/core";
30
31
  export class GlowCardComponent {
31
32
  constructor() {
32
33
  this.onClick = new EventEmitter();
34
+ this.i18n = inject(I18nService);
33
35
  this.navigationService = inject(NavigationService);
34
36
  this.themeService = inject(ThemeService);
35
37
  this.ionicColors = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger', 'light', 'medium', 'dark'];
@@ -54,7 +56,7 @@ export class GlowCardComponent {
54
56
  return this.props.description || this.props.descriptionFallback || '';
55
57
  }
56
58
  getCtaText() {
57
- return this.props.cta.text || this.props.cta.contentFallback || 'Ver más';
59
+ return this.props.cta.text || this.props.cta.contentFallback || this.i18n.t('seeMore');
58
60
  }
59
61
  getGlowColor() {
60
62
  const color = this.props.glow?.color;
@@ -281,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
281
283
  }], onClick: [{
282
284
  type: Output
283
285
  }] } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvdy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZ2xvdy1jYXJkL2dsb3ctY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHL0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBb0VILE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCO1FBakJBLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUV6QyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQixnQkFBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUvSCxvRUFBb0U7UUFDbkQsZ0JBQVcsR0FBMkI7WUFDckQsT0FBTyxFQUFFLFlBQVk7WUFDckIsU0FBUyxFQUFFLGFBQWE7WUFD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QUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQ7d0RBS0QsS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFycm93Rm9yd2FyZE91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb3dDYXJkQ2xpY2tFdmVudCwgR2xvd0NhcmRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1nbG93LWNhcmRcbiAqXG4gKiBBIGNhcmQgY29tcG9uZW50IGZlYXR1cmluZyBhbiBpbWFnZSB3aXRoIHpvb20tb24taG92ZXIsIGFuaW1hdGVkIENUQSBsaW5rLFxuICogYW5kIGR5bmFtaWMgZ2xvdyBlZmZlY3QgdGhhdCBhZGFwdHMgdG8gbGlnaHQvZGFyayBtb2RlLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWdsb3ctY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGltYWdlU3JjOiAnaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5qcGcnLFxuICogICAgIGltYWdlQWx0OiAnRXhhbXBsZSBpbWFnZScsXG4gKiAgICAgdGl0bGU6ICdDYXJkIFRpdGxlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ0NhcmQgZGVzY3JpcHRpb24gdGV4dCcsXG4gKiAgICAgY3RhOiB7IHRleHQ6ICdMZWFybiBNb3JlJywgdXJsOiAnL2RldGFpbHMnLCB0eXBlOiAnaW50ZXJuYWwnIH1cbiAqICAgfVwiXG4gKiAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICogPjwvdmFsLWdsb3ctY2FyZD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEdsb3dDYXJkTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgY2FyZFxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgR2xvd0NhcmRDbGlja0V2ZW50IHdoZW4gY2FyZCwgaW1hZ2UsIG9yIENUQSBpcyBjbGlja2VkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1nbG93LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXJ0aWNsZVxuICAgICAgY2xhc3M9XCJnbG93LWNhcmRcIlxuICAgICAgW2NsYXNzLmdsb3ctZW5hYmxlZF09XCJwcm9wcy5nbG93Py5lbmFibGVkICE9PSBmYWxzZVwiXG4gICAgICBbY2xhc3MuZ2xvdy1zdWJ0bGVdPVwicHJvcHMuZ2xvdz8uaW50ZW5zaXR5ID09PSAnc3VidGxlJ1wiXG4gICAgICBbY2xhc3MuZ2xvdy1tZWRpdW1dPVwiIXByb3BzLmdsb3c/LmludGVuc2l0eSB8fCBwcm9wcy5nbG93Py5pbnRlbnNpdHkgPT09ICdtZWRpdW0nXCJcbiAgICAgIFtjbGFzcy5nbG93LWludGVuc2VdPVwicHJvcHMuZ2xvdz8uaW50ZW5zaXR5ID09PSAnaW50ZW5zZSdcIlxuICAgICAgW2NsYXNzLmRhcmstbW9kZV09XCJpc0RhcmtcIlxuICAgICAgW2NsYXNzLmJvcmRlcmVkXT1cInByb3BzLmJvcmRlcmVkXCJcbiAgICAgIFtjbGFzcy5uby1pbWFnZV09XCIhcHJvcHMuaW1hZ2VTcmNcIlxuICAgICAgW3N0eWxlLi0tZ2xvdy1jb2xvcl09XCJnZXRHbG93Q29sb3IoKVwiXG4gICAgICBbc3R5bGUuLS1nbG93LWNvbG9yLXJnYl09XCJnZXRHbG93Q29sb3JSZ2IoKVwiXG4gICAgICBbc3R5bGUuLS1hc3BlY3QtcmF0aW9dPVwiZ2V0QXNwZWN0UmF0aW9WYWx1ZSgpXCJcbiAgICAgIFtzdHlsZS4tLWJvcmRlci1jb2xvcl09XCJnZXRCb3JkZXJDb2xvcigpXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImdldEJhY2tncm91bmRTdHlsZSgpXCJcbiAgICAgIChjbGljayk9XCJvbkNhcmRDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tIEltYWdlIENvbnRhaW5lciB3aXRoIG92ZXJmbG93IGhpZGRlbiBmb3Igem9vbSBlZmZlY3QgLS0+XG4gICAgICBAaWYgKHByb3BzLmltYWdlU3JjKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnbG93LWNhcmRfX2ltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwiZ2xvdy1jYXJkX19pbWFnZVwiXG4gICAgICAgICAgICBbc3JjXT1cInByb3BzLmltYWdlU3JjXCJcbiAgICAgICAgICAgIFthbHRdPVwicHJvcHMuaW1hZ2VBbHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBDb250ZW50IFNlY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ2xvdy1jYXJkX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTGFiZWwgKHBpbGwgc3R5bGUpIC0tPlxuICAgICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbG93LWNhcmRfX2xhYmVsXCI+e3sgcHJvcHMubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgICA8aDMgY2xhc3M9XCJnbG93LWNhcmRfX3RpdGxlXCI+XG4gICAgICAgICAge3sgZ2V0VGl0bGUoKSB9fVxuICAgICAgICA8L2gzPlxuXG4gICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XG4gICAgICAgIDxwIGNsYXNzPVwiZ2xvdy1jYXJkX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IGdldERlc2NyaXB0aW9uKCkgfX1cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDwhLS0gQ1RBIExpbmsgd2l0aCBleHBhbmRpbmcgYW5pbWF0aW9uIC0tPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzPVwiZ2xvdy1jYXJkX19jdGFcIlxuICAgICAgICAgIFtocmVmXT1cInByb3BzLmN0YS51cmxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkN0YUNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbG93LWNhcmRfX2N0YS10ZXh0XCI+e3sgZ2V0Q3RhVGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJnbG93LWNhcmRfX2N0YS1pY29uXCJcbiAgICAgICAgICAgIFtuYW1lXT1cInByb3BzLmN0YS5pY29uIHx8ICdhcnJvdy1mb3J3YXJkLW91dGxpbmUnXCJcbiAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9nbG93LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2xvd0NhcmRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwcm9wcyE6IEdsb3dDYXJkTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEdsb3dDYXJkQ2xpY2tFdmVudD4oKTtcblxuICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoVGhlbWVTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlvbmljQ29sb3JzID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbiAgLy8gUkdCIHZhbHVlcyB3aXRoIFNQQUNFIHNlcGFyYXRvciBmb3IgQ1NTIHJnYih2YXIoKSAvIGFscGhhKSBzeW50YXhcbiAgcHJpdmF0ZSByZWFkb25seSBjb2xvclJnYk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwcmltYXJ5OiAnMTEyIDM4IDIyMycsXG4gICAgc2Vjb25kYXJ5OiAnMjI2IDIwNCAyNTUnLFxuICAgIHRlcnRpYXJ5OiAnODIgOTYgMjU1JyxcbiAgICBzdWNjZXNzOiAnNDUgMjExIDExMScsXG4gICAgd2FybmluZzogJzI1NSAxOTYgOScsXG4gICAgZGFuZ2VyOiAnMjM1IDY4IDkwJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IGFycm93Rm9yd2FyZE91dGxpbmUgfSk7XG4gIH1cblxuICBnZXQgaXNEYXJrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRoZW1lU2VydmljZS5Jc0Rhcms7XG4gIH1cblxuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnRpdGxlIHx8IHRoaXMucHJvcHMudGl0bGVGYWxsYmFjayB8fCAnJztcbiAgfVxuXG4gIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb24gfHwgdGhpcy5wcm9wcy5kZXNjcmlwdGlvbkZhbGxiYWNrIHx8ICcnO1xuICB9XG5cbiAgZ2V0Q3RhVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmN0YS50ZXh0IHx8IHRoaXMucHJvcHMuY3RhLmNvbnRlbnRGYWxsYmFjayB8fCAnVmVyIG3DoXMnO1xuICB9XG5cbiAgZ2V0R2xvd0NvbG9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLmdsb3c/LmNvbG9yO1xuICAgIGlmICghY29sb3IpIHtcbiAgICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xvciBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXRHbG93Q29sb3JSZ2IoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMucHJvcHMuZ2xvdz8uY29sb3I7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgcmV0dXJuICcxMTIgMzggMjIzJzsgLy8gRGVmYXVsdCBwcmltYXJ5IGNvbG9yIChzcGFjZS1zZXBhcmF0ZWQgZm9yIENTUylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICBjb25zdCByZ2IgPSB0aGlzLmNvbG9yUmdiTWFwW2NvbG9yIGFzIHN0cmluZ107XG4gICAgICByZXR1cm4gcmdiID8gcmdiIDogJzExMiAzOCAyMjMnO1xuICAgIH1cblxuICAgIC8vIEZvciBjdXN0b20gaGV4IGNvbG9ycywgdHJ5IHRvIGNvbnZlcnRcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJyAmJiBjb2xvci5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmhleFRvUmdiKGNvbG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJzExMiAzOCAyMjMnO1xuICB9XG5cbiAgcHJpdmF0ZSBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgLy8gU3BhY2Utc2VwYXJhdGVkIGZvciBDU1MgcmdiKHZhcigpIC8gYWxwaGEpIHN5bnRheFxuICAgICAgcmV0dXJuIGAke3BhcnNlSW50KHJlc3VsdFsxXSwgMTYpfSAke3BhcnNlSW50KHJlc3VsdFsyXSwgMTYpfSAke3BhcnNlSW50KHJlc3VsdFszXSwgMTYpfWA7XG4gICAgfVxuICAgIHJldHVybiAnMTEyIDM4IDIyMyc7XG4gIH1cblxuICBnZXRBc3BlY3RSYXRpb1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF0aW9NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnMTY6OSc6ICcxNiAvIDknLFxuICAgICAgJzQ6Myc6ICc0IC8gMycsXG4gICAgICAnMToxJzogJzEgLyAxJyxcbiAgICAgICczOjInOiAnMyAvIDInLFxuICAgICAgJzIxOjknOiAnMjEgLyA5JyxcbiAgICB9O1xuICAgIHJldHVybiByYXRpb01hcFt0aGlzLnByb3BzLmFzcGVjdFJhdGlvIHx8ICcxNjo5J107XG4gIH1cblxuICBnZXRCb3JkZXJDb2xvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5wcm9wcy5ib3JkZXJDb2xvcjtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm4gJ3ZhcigtLWlvbi1jb2xvci1tZWRpdW0pJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xvciBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kU3R5bGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYmcgPSB0aGlzLnByb3BzLmJhY2tncm91bmRDb2xvcjtcbiAgICBpZiAoIWJnKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIFNpIGVzIHVuIGNvbG9yIElvbmljLCB1c2FyIGxhIHZhcmlhYmxlIENTU1xuICAgIGlmICh0aGlzLmlvbmljQ29sb3JzLmluY2x1ZGVzKGJnIGFzIHN0cmluZykpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7Ymd9KWA7XG4gICAgfVxuXG4gICAgLy8gU2kgZXMgdW4gc3RyaW5nIENTUyAoY29sb3IgaGV4LCBncmFkaWVudGUsIGV0YyksIHVzYXIgZGlyZWN0YW1lbnRlXG4gICAgcmV0dXJuIGJnIGFzIHN0cmluZztcbiAgfVxuXG4gIG9uQ2FyZENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5nbG93LWNhcmRfX2N0YSwgLmdsb3ctY2FyZF9faW1hZ2UnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IHRhcmdldDogJ2NhcmQnLCB0b2tlbjogdGhpcy5wcm9wcy50b2tlbiB9KTtcbiAgfVxuXG4gIG9uSW1hZ2VDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgdGFyZ2V0OiAnaW1hZ2UnLCB0b2tlbjogdGhpcy5wcm9wcy50b2tlbiB9KTtcbiAgfVxuXG4gIG9uQ3RhQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgdGFyZ2V0OiAnY3RhJyxcbiAgICAgIHRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgICAgdXJsOiB0aGlzLnByb3BzLmN0YS51cmwsXG4gICAgfSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMucHJvcHMuY3RhLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2ludGVybmFsJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMuY3RhLnVybCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYnJvd3NlJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZUluQXBwKHRoaXMucHJvcHMuY3RhLnVybCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5vcGVuSW5OZXdUYWIodGhpcy5wcm9wcy5jdGEudXJsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvdy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZ2xvdy1jYXJkL2dsb3ctY2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRy9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQW9FSCxNQUFNLE9BQU8saUJBQWlCO0lBdUI1QjtRQWxCQSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFFekMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzQixnQkFBVyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERULGsyT0E3RFMsWUFBWSwrQkFBRSxPQUFPOzs0RkFnRXBCLGlCQUFpQjtrQkFuRTdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDt3REFLRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgYXJyb3dGb3J3YXJkT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb3dDYXJkQ2xpY2tFdmVudCwgR2xvd0NhcmRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIHZhbC1nbG93LWNhcmRcbiAqXG4gKiBBIGNhcmQgY29tcG9uZW50IGZlYXR1cmluZyBhbiBpbWFnZSB3aXRoIHpvb20tb24taG92ZXIsIGFuaW1hdGVkIENUQSBsaW5rLFxuICogYW5kIGR5bmFtaWMgZ2xvdyBlZmZlY3QgdGhhdCBhZGFwdHMgdG8gbGlnaHQvZGFyayBtb2RlLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWdsb3ctY2FyZFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGltYWdlU3JjOiAnaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5qcGcnLFxuICogICAgIGltYWdlQWx0OiAnRXhhbXBsZSBpbWFnZScsXG4gKiAgICAgdGl0bGU6ICdDYXJkIFRpdGxlJyxcbiAqICAgICBkZXNjcmlwdGlvbjogJ0NhcmQgZGVzY3JpcHRpb24gdGV4dCcsXG4gKiAgICAgY3RhOiB7IHRleHQ6ICdMZWFybiBNb3JlJywgdXJsOiAnL2RldGFpbHMnLCB0eXBlOiAnaW50ZXJuYWwnIH1cbiAqICAgfVwiXG4gKiAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICogPjwvdmFsLWdsb3ctY2FyZD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEdsb3dDYXJkTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgY2FyZFxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgR2xvd0NhcmRDbGlja0V2ZW50IHdoZW4gY2FyZCwgaW1hZ2UsIG9yIENUQSBpcyBjbGlja2VkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1nbG93LWNhcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXJ0aWNsZVxuICAgICAgY2xhc3M9XCJnbG93LWNhcmRcIlxuICAgICAgW2NsYXNzLmdsb3ctZW5hYmxlZF09XCJwcm9wcy5nbG93Py5lbmFibGVkICE9PSBmYWxzZVwiXG4gICAgICBbY2xhc3MuZ2xvdy1zdWJ0bGVdPVwicHJvcHMuZ2xvdz8uaW50ZW5zaXR5ID09PSAnc3VidGxlJ1wiXG4gICAgICBbY2xhc3MuZ2xvdy1tZWRpdW1dPVwiIXByb3BzLmdsb3c/LmludGVuc2l0eSB8fCBwcm9wcy5nbG93Py5pbnRlbnNpdHkgPT09ICdtZWRpdW0nXCJcbiAgICAgIFtjbGFzcy5nbG93LWludGVuc2VdPVwicHJvcHMuZ2xvdz8uaW50ZW5zaXR5ID09PSAnaW50ZW5zZSdcIlxuICAgICAgW2NsYXNzLmRhcmstbW9kZV09XCJpc0RhcmtcIlxuICAgICAgW2NsYXNzLmJvcmRlcmVkXT1cInByb3BzLmJvcmRlcmVkXCJcbiAgICAgIFtjbGFzcy5uby1pbWFnZV09XCIhcHJvcHMuaW1hZ2VTcmNcIlxuICAgICAgW3N0eWxlLi0tZ2xvdy1jb2xvcl09XCJnZXRHbG93Q29sb3IoKVwiXG4gICAgICBbc3R5bGUuLS1nbG93LWNvbG9yLXJnYl09XCJnZXRHbG93Q29sb3JSZ2IoKVwiXG4gICAgICBbc3R5bGUuLS1hc3BlY3QtcmF0aW9dPVwiZ2V0QXNwZWN0UmF0aW9WYWx1ZSgpXCJcbiAgICAgIFtzdHlsZS4tLWJvcmRlci1jb2xvcl09XCJnZXRCb3JkZXJDb2xvcigpXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImdldEJhY2tncm91bmRTdHlsZSgpXCJcbiAgICAgIChjbGljayk9XCJvbkNhcmRDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tIEltYWdlIENvbnRhaW5lciB3aXRoIG92ZXJmbG93IGhpZGRlbiBmb3Igem9vbSBlZmZlY3QgLS0+XG4gICAgICBAaWYgKHByb3BzLmltYWdlU3JjKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnbG93LWNhcmRfX2ltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwiZ2xvdy1jYXJkX19pbWFnZVwiXG4gICAgICAgICAgICBbc3JjXT1cInByb3BzLmltYWdlU3JjXCJcbiAgICAgICAgICAgIFthbHRdPVwicHJvcHMuaW1hZ2VBbHRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSW1hZ2VDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBDb250ZW50IFNlY3Rpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ2xvdy1jYXJkX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTGFiZWwgKHBpbGwgc3R5bGUpIC0tPlxuICAgICAgICBAaWYgKHByb3BzLmxhYmVsKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbG93LWNhcmRfX2xhYmVsXCI+e3sgcHJvcHMubGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgICA8aDMgY2xhc3M9XCJnbG93LWNhcmRfX3RpdGxlXCI+XG4gICAgICAgICAge3sgZ2V0VGl0bGUoKSB9fVxuICAgICAgICA8L2gzPlxuXG4gICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XG4gICAgICAgIDxwIGNsYXNzPVwiZ2xvdy1jYXJkX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IGdldERlc2NyaXB0aW9uKCkgfX1cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDwhLS0gQ1RBIExpbmsgd2l0aCBleHBhbmRpbmcgYW5pbWF0aW9uIC0tPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzPVwiZ2xvdy1jYXJkX19jdGFcIlxuICAgICAgICAgIFtocmVmXT1cInByb3BzLmN0YS51cmxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkN0YUNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbG93LWNhcmRfX2N0YS10ZXh0XCI+e3sgZ2V0Q3RhVGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgY2xhc3M9XCJnbG93LWNhcmRfX2N0YS1pY29uXCJcbiAgICAgICAgICAgIFtuYW1lXT1cInByb3BzLmN0YS5pY29uIHx8ICdhcnJvdy1mb3J3YXJkLW91dGxpbmUnXCJcbiAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9hcnRpY2xlPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9nbG93LWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2xvd0NhcmRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwcm9wcyE6IEdsb3dDYXJkTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEdsb3dDYXJkQ2xpY2tFdmVudD4oKTtcblxuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0aGVtZVNlcnZpY2UgPSBpbmplY3QoVGhlbWVTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGlvbmljQ29sb3JzID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICd0ZXJ0aWFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZGFuZ2VyJywgJ2xpZ2h0JywgJ21lZGl1bScsICdkYXJrJ107XG5cbiAgLy8gUkdCIHZhbHVlcyB3aXRoIFNQQUNFIHNlcGFyYXRvciBmb3IgQ1NTIHJnYih2YXIoKSAvIGFscGhhKSBzeW50YXhcbiAgcHJpdmF0ZSByZWFkb25seSBjb2xvclJnYk1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwcmltYXJ5OiAnMTEyIDM4IDIyMycsXG4gICAgc2Vjb25kYXJ5OiAnMjI2IDIwNCAyNTUnLFxuICAgIHRlcnRpYXJ5OiAnODIgOTYgMjU1JyxcbiAgICBzdWNjZXNzOiAnNDUgMjExIDExMScsXG4gICAgd2FybmluZzogJzI1NSAxOTYgOScsXG4gICAgZGFuZ2VyOiAnMjM1IDY4IDkwJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZGRJY29ucyh7IGFycm93Rm9yd2FyZE91dGxpbmUgfSk7XG4gIH1cblxuICBnZXQgaXNEYXJrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRoZW1lU2VydmljZS5Jc0Rhcms7XG4gIH1cblxuICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnRpdGxlIHx8IHRoaXMucHJvcHMudGl0bGVGYWxsYmFjayB8fCAnJztcbiAgfVxuXG4gIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb24gfHwgdGhpcy5wcm9wcy5kZXNjcmlwdGlvbkZhbGxiYWNrIHx8ICcnO1xuICB9XG5cbiAgZ2V0Q3RhVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmN0YS50ZXh0IHx8IHRoaXMucHJvcHMuY3RhLmNvbnRlbnRGYWxsYmFjayB8fCB0aGlzLmkxOG4udCgnc2VlTW9yZScpO1xuICB9XG5cbiAgZ2V0R2xvd0NvbG9yKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLmdsb3c/LmNvbG9yO1xuICAgIGlmICghY29sb3IpIHtcbiAgICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xvciBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXRHbG93Q29sb3JSZ2IoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMucHJvcHMuZ2xvdz8uY29sb3I7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgcmV0dXJuICcxMTIgMzggMjIzJzsgLy8gRGVmYXVsdCBwcmltYXJ5IGNvbG9yIChzcGFjZS1zZXBhcmF0ZWQgZm9yIENTUylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICBjb25zdCByZ2IgPSB0aGlzLmNvbG9yUmdiTWFwW2NvbG9yIGFzIHN0cmluZ107XG4gICAgICByZXR1cm4gcmdiID8gcmdiIDogJzExMiAzOCAyMjMnO1xuICAgIH1cblxuICAgIC8vIEZvciBjdXN0b20gaGV4IGNvbG9ycywgdHJ5IHRvIGNvbnZlcnRcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJyAmJiBjb2xvci5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmhleFRvUmdiKGNvbG9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJzExMiAzOCAyMjMnO1xuICB9XG5cbiAgcHJpdmF0ZSBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgLy8gU3BhY2Utc2VwYXJhdGVkIGZvciBDU1MgcmdiKHZhcigpIC8gYWxwaGEpIHN5bnRheFxuICAgICAgcmV0dXJuIGAke3BhcnNlSW50KHJlc3VsdFsxXSwgMTYpfSAke3BhcnNlSW50KHJlc3VsdFsyXSwgMTYpfSAke3BhcnNlSW50KHJlc3VsdFszXSwgMTYpfWA7XG4gICAgfVxuICAgIHJldHVybiAnMTEyIDM4IDIyMyc7XG4gIH1cblxuICBnZXRBc3BlY3RSYXRpb1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF0aW9NYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnMTY6OSc6ICcxNiAvIDknLFxuICAgICAgJzQ6Myc6ICc0IC8gMycsXG4gICAgICAnMToxJzogJzEgLyAxJyxcbiAgICAgICczOjInOiAnMyAvIDInLFxuICAgICAgJzIxOjknOiAnMjEgLyA5JyxcbiAgICB9O1xuICAgIHJldHVybiByYXRpb01hcFt0aGlzLnByb3BzLmFzcGVjdFJhdGlvIHx8ICcxNjo5J107XG4gIH1cblxuICBnZXRCb3JkZXJDb2xvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5wcm9wcy5ib3JkZXJDb2xvcjtcbiAgICBpZiAoIWNvbG9yKSB7XG4gICAgICByZXR1cm4gJ3ZhcigtLWlvbi1jb2xvci1tZWRpdW0pJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvciBhcyBzdHJpbmcpKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xvciBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kU3R5bGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYmcgPSB0aGlzLnByb3BzLmJhY2tncm91bmRDb2xvcjtcbiAgICBpZiAoIWJnKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIFNpIGVzIHVuIGNvbG9yIElvbmljLCB1c2FyIGxhIHZhcmlhYmxlIENTU1xuICAgIGlmICh0aGlzLmlvbmljQ29sb3JzLmluY2x1ZGVzKGJnIGFzIHN0cmluZykpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7Ymd9KWA7XG4gICAgfVxuXG4gICAgLy8gU2kgZXMgdW4gc3RyaW5nIENTUyAoY29sb3IgaGV4LCBncmFkaWVudGUsIGV0YyksIHVzYXIgZGlyZWN0YW1lbnRlXG4gICAgcmV0dXJuIGJnIGFzIHN0cmluZztcbiAgfVxuXG4gIG9uQ2FyZENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5nbG93LWNhcmRfX2N0YSwgLmdsb3ctY2FyZF9faW1hZ2UnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IHRhcmdldDogJ2NhcmQnLCB0b2tlbjogdGhpcy5wcm9wcy50b2tlbiB9KTtcbiAgfVxuXG4gIG9uSW1hZ2VDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgdGFyZ2V0OiAnaW1hZ2UnLCB0b2tlbjogdGhpcy5wcm9wcy50b2tlbiB9KTtcbiAgfVxuXG4gIG9uQ3RhQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgdGFyZ2V0OiAnY3RhJyxcbiAgICAgIHRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgICAgdXJsOiB0aGlzLnByb3BzLmN0YS51cmwsXG4gICAgfSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMucHJvcHMuY3RhLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2ludGVybmFsJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMuY3RhLnVybCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYnJvd3NlJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5uYXZpZ2F0ZUluQXBwKHRoaXMucHJvcHMuY3RhLnVybCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5vcGVuSW5OZXdUYWIodGhpcy5wcm9wcy5jdGEudXJsKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, inject, Input } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { IonInput, IonLabel } from '@ionic/angular/standalone';
4
+ import { I18nService } from '../../../services/i18n';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/forms";
6
7
  /**
@@ -14,7 +15,17 @@ import * as i1 from "@angular/forms";
14
15
  * @input props: NumberFromToMetadata - Configuration for the number range input.
15
16
  */
16
17
  export class NumberFromToComponent {
17
- constructor() { }
18
+ /** Get from label with i18n fallback */
19
+ getFromLabel() {
20
+ return this.props.fromLabel || this.i18n.t('from');
21
+ }
22
+ /** Get to label with i18n fallback */
23
+ getToLabel() {
24
+ return this.props.toLabel || this.i18n.t('to');
25
+ }
26
+ constructor() {
27
+ this.i18n = inject(I18nService);
28
+ }
18
29
  ngOnInit() {
19
30
  // Apply default values if configured
20
31
  if (this.props?.withDefault || this.props?.value) {
@@ -75,7 +86,7 @@ export class NumberFromToComponent {
75
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFromToComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
87
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NumberFromToComponent, isStandalone: true, selector: "val-number-from-to", inputs: { props: "props" }, ngImport: i0, template: `
77
88
  <div class="number-from-to-container">
78
- <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
89
+ <ion-label position="stacked">{{ getFromLabel() }}</ion-label>
79
90
  <ion-input
80
91
  [formControl]="fromControl"
81
92
  type="number"
@@ -86,7 +97,7 @@ export class NumberFromToComponent {
86
97
  >
87
98
  </ion-input>
88
99
 
89
- <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
100
+ <ion-label position="stacked">{{ getToLabel() }}</ion-label>
90
101
  <ion-input
91
102
  [formControl]="toControl"
92
103
  type="number"
@@ -103,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
103
114
  type: Component,
104
115
  args: [{ selector: 'val-number-from-to', standalone: true, imports: [ReactiveFormsModule, IonInput, IonLabel], template: `
105
116
  <div class="number-from-to-container">
106
- <ion-label position="stacked">{{ props.fromLabel || 'Inicial' }}</ion-label>
117
+ <ion-label position="stacked">{{ getFromLabel() }}</ion-label>
107
118
  <ion-input
108
119
  [formControl]="fromControl"
109
120
  type="number"
@@ -114,7 +125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
114
125
  >
115
126
  </ion-input>
116
127
 
117
- <ion-label position="stacked">{{ props.toLabel || 'Final' }}</ion-label>
128
+ <ion-label position="stacked">{{ getToLabel() }}</ion-label>
118
129
  <ion-input
119
130
  [formControl]="toControl"
120
131
  type="number"
@@ -129,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
129
140
  }], ctorParameters: () => [], propDecorators: { props: [{
130
141
  type: Input
131
142
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZyb20tdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItZnJvbS10by9udW1iZXItZnJvbS10by5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBa0MvRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLHFDQUFxQztRQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHFEQUFxRDtnQkFDckQsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDO1lBQ0gsaURBQWlEO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsK0JBQStCO1lBQy9CLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDOytHQXpFVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiwwR0FyQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3QlQseUVBekJTLG1CQUFtQiwwVEFBRSxRQUFRLDhlQUFFLFFBQVE7OzRGQXNDdEMscUJBQXFCO2tCQXpDakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxZQUN4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUO3dEQW9CUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uSW5wdXQsIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBOdW1iZXJGcm9tVG9NZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbnVtYmVyLWZyb20tdG8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSW5wdXQsIElvbkxhYmVsXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibnVtYmVyLWZyb20tdG8tY29udGFpbmVyXCI+XG4gICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwic3RhY2tlZFwiPnt7IHByb3BzLmZyb21MYWJlbCB8fCAnSW5pY2lhbCcgfX08L2lvbi1sYWJlbD5cbiAgICAgIDxpb24taW5wdXRcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZyb21Db250cm9sXCJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy5mcm9tUGxhY2Vob2xkZXIgfHwgcHJvcHMucGxhY2Vob2xkZXJcIlxuICAgICAgICBbbWluXT1cInByb3BzLm1pblwiXG4gICAgICAgIFttYXhdPVwicHJvcHMubWF4XCJcbiAgICAgICAgW3N0ZXBdPVwicHJvcHMuc3RlcFwiXG4gICAgICA+XG4gICAgICA8L2lvbi1pbnB1dD5cblxuICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cInN0YWNrZWRcIj57eyBwcm9wcy50b0xhYmVsIHx8ICdGaW5hbCcgfX08L2lvbi1sYWJlbD5cbiAgICAgIDxpb24taW5wdXRcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInRvQ29udHJvbFwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMudG9QbGFjZWhvbGRlciB8fCBwcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFttaW5dPVwicHJvcHMubWluXCJcbiAgICAgICAgW21heF09XCJwcm9wcy5tYXhcIlxuICAgICAgICBbc3RlcF09XCJwcm9wcy5zdGVwXCJcbiAgICAgID5cbiAgICAgIDwvaW9uLWlucHV0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9udW1iZXItZnJvbS10by5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLW51bWJlci1mcm9tLXRvXG4gKlxuICogQSBkdWFsIG51bWJlciBpbnB1dCBmb3Igc3BlY2lmeWluZyBhIHJhbmdlIChmcm9tL3RvIHZhbHVlcyksIGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLW51bWJlci1mcm9tLXRvIFtwcm9wc109XCJ7IGZyb21Db250cm9sOiBmcm9tQ3RybCwgdG9Db250cm9sOiB0b0N0cmwsIG1pbjogMCwgbWF4OiAxMDAgfVwiPjwvdmFsLW51bWJlci1mcm9tLXRvPlxuICpcbiAqIEBpbnB1dCBwcm9wczogTnVtYmVyRnJvbVRvTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgbnVtYmVyIHJhbmdlIGlucHV0LlxuICovXG5leHBvcnQgY2xhc3MgTnVtYmVyRnJvbVRvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAdHlwZSB7TnVtYmVyRnJvbVRvTWV0YWRhdGF9XG4gICAqIEBwcm9wZXJ0eSBmcm9tQ29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgXCJmcm9tXCIgdmFsdWUuXG4gICAqIEBwcm9wZXJ0eSB0b0NvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIFwidG9cIiB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBOdW1iZXJGcm9tVG9NZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gQXBwbHkgZGVmYXVsdCB2YWx1ZXMgaWYgY29uZmlndXJlZFxuICAgIGlmICh0aGlzLnByb3BzPy53aXRoRGVmYXVsdCB8fCB0aGlzLnByb3BzPy52YWx1ZSkge1xuICAgICAgdGhpcy5hcHBseURlZmF1bHRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdFZhbHVlcygpIHtcbiAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSB0aGlzLnJlc29sdmVEZWZhdWx0VmFsdWUoKTtcbiAgICBpZiAoZGVmYXVsdFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZW9mIGRlZmF1bHRWYWx1ZSA9PT0gJ29iamVjdCcgJiYgZGVmYXVsdFZhbHVlLmZyb20gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmZyb21Db250cm9sPy5zZXRWYWx1ZShkZWZhdWx0VmFsdWUuZnJvbSk7XG4gICAgICAgIHRoaXMudG9Db250cm9sPy5zZXRWYWx1ZShkZWZhdWx0VmFsdWUudG8pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgZXMgdW4gdmFsb3Igc2ltcGxlLCBhcGxpY2FybG8gYSBhbWJvcyBjb250cm9sZXNcbiAgICAgICAgdGhpcy5mcm9tQ29udHJvbD8uc2V0VmFsdWUoZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgdGhpcy50b0NvbnRyb2w/LnNldFZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmZyb21Db250cm9sPy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgdGhpcy50b0NvbnRyb2w/Lm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB0aGlzLmZyb21Db250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB0aGlzLnRvQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZURlZmF1bHRWYWx1ZSgpOiBhbnkge1xuICAgIC8vIEV4cGxpY2l0IHZhbHVlIHRha2VzIHByZWNlZGVuY2VcbiAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucHJvcHMudmFsdWUgIT09IG51bGwgJiYgdGhpcy5wcm9wcy52YWx1ZSAhPT0gJycpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlVmFsdWUodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gTm8gZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAgaWYgKCF0aGlzLnByb3BzLndpdGhEZWZhdWx0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBDdXN0b20gZGVmYXVsdCB2YWx1ZVxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy53aXRoRGVmYXVsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlVmFsdWUodGhpcy5wcm9wcy53aXRoRGVmYXVsdCk7XG4gICAgfVxuXG4gICAgLy8gQXV0byBkZWZhdWx0IHZhbHVlICh3aXRoRGVmYXVsdCA9PT0gdHJ1ZSlcbiAgICByZXR1cm4geyBmcm9tOiAwLCB0bzogMCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICAvLyBUcnkgdG8gcGFyc2UgYXMgSlNPTiBmaXJzdCAoZm9yIG9iamVjdCB2YWx1ZXMpXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJZiBub3QgSlNPTiwgdHJlYXQgYXMgbnVtYmVyXG4gICAgICBjb25zdCBudW1WYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpIHx8IDA7XG4gICAgICByZXR1cm4geyBmcm9tOiBudW1WYWx1ZSwgdG86IG51bVZhbHVlIH07XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZyb21Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5mcm9tQ29udHJvbDtcbiAgfVxuXG4gIGdldCB0b0NvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnRvQ29udHJvbDtcbiAgfVxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZyb20tdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItZnJvbS10by9udW1iZXItZnJvbS10by5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFrQ3JEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsd0NBQXdDO0lBQ3hDLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEO1FBWlEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQVlwQixDQUFDO0lBRWhCLFFBQVE7UUFDTixxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRU8sa0JBQWtC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Ozs7Ozs7Ozs7OztHQXdCVDt3REFvQlEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uSW5wdXQsIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTnVtYmVyRnJvbVRvTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLW51bWJlci1mcm9tLXRvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIElvbklucHV0LCBJb25MYWJlbF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm51bWJlci1mcm9tLXRvLWNvbnRhaW5lclwiPlxuICAgICAgPGlvbi1sYWJlbCBwb3NpdGlvbj1cInN0YWNrZWRcIj57eyBnZXRGcm9tTGFiZWwoKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZnJvbUNvbnRyb2xcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLmZyb21QbGFjZWhvbGRlciB8fCBwcm9wcy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFttaW5dPVwicHJvcHMubWluXCJcbiAgICAgICAgW21heF09XCJwcm9wcy5tYXhcIlxuICAgICAgICBbc3RlcF09XCJwcm9wcy5zdGVwXCJcbiAgICAgID5cbiAgICAgIDwvaW9uLWlucHV0PlxuXG4gICAgICA8aW9uLWxhYmVsIHBvc2l0aW9uPVwic3RhY2tlZFwiPnt7IGdldFRvTGFiZWwoKSB9fTwvaW9uLWxhYmVsPlxuICAgICAgPGlvbi1pbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwidG9Db250cm9sXCJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy50b1BsYWNlaG9sZGVyIHx8IHByb3BzLnBsYWNlaG9sZGVyXCJcbiAgICAgICAgW21pbl09XCJwcm9wcy5taW5cIlxuICAgICAgICBbbWF4XT1cInByb3BzLm1heFwiXG4gICAgICAgIFtzdGVwXT1cInByb3BzLnN0ZXBcIlxuICAgICAgPlxuICAgICAgPC9pb24taW5wdXQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1mcm9tLXRvLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtbnVtYmVyLWZyb20tdG9cbiAqXG4gKiBBIGR1YWwgbnVtYmVyIGlucHV0IGZvciBzcGVjaWZ5aW5nIGEgcmFuZ2UgKGZyb20vdG8gdmFsdWVzKSwgaW50ZWdyYXRlZCB3aXRoIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtbnVtYmVyLWZyb20tdG8gW3Byb3BzXT1cInsgZnJvbUNvbnRyb2w6IGZyb21DdHJsLCB0b0NvbnRyb2w6IHRvQ3RybCwgbWluOiAwLCBtYXg6IDEwMCB9XCI+PC92YWwtbnVtYmVyLWZyb20tdG8+XG4gKlxuICogQGlucHV0IHByb3BzOiBOdW1iZXJGcm9tVG9NZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBudW1iZXIgcmFuZ2UgaW5wdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBOdW1iZXJGcm9tVG9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSW5wdXQgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtOdW1iZXJGcm9tVG9NZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGZyb21Db250cm9sIC0gVGhlIEFuZ3VsYXIgRm9ybUNvbnRyb2wgZm9yIHRoZSBcImZyb21cIiB2YWx1ZS5cbiAgICogQHByb3BlcnR5IHRvQ29udHJvbCAtIFRoZSBBbmd1bGFyIEZvcm1Db250cm9sIGZvciB0aGUgXCJ0b1wiIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IE51bWJlckZyb21Ub01ldGFkYXRhO1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIEdldCBmcm9tIGxhYmVsIHdpdGggaTE4biBmYWxsYmFjayAqL1xuICBnZXRGcm9tTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5mcm9tTGFiZWwgfHwgdGhpcy5pMThuLnQoJ2Zyb20nKTtcbiAgfVxuXG4gIC8qKiBHZXQgdG8gbGFiZWwgd2l0aCBpMThuIGZhbGxiYWNrICovXG4gIGdldFRvTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50b0xhYmVsIHx8IHRoaXMuaTE4bi50KCd0bycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIEFwcGx5IGRlZmF1bHQgdmFsdWVzIGlmIGNvbmZpZ3VyZWRcbiAgICBpZiAodGhpcy5wcm9wcz8ud2l0aERlZmF1bHQgfHwgdGhpcy5wcm9wcz8udmFsdWUpIHtcbiAgICAgIHRoaXMuYXBwbHlEZWZhdWx0VmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURlZmF1bHRWYWx1ZXMoKSB7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0gdGhpcy5yZXNvbHZlRGVmYXVsdFZhbHVlKCk7XG4gICAgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnICYmIGRlZmF1bHRWYWx1ZS5mcm9tICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5mcm9tQ29udHJvbD8uc2V0VmFsdWUoZGVmYXVsdFZhbHVlLmZyb20pO1xuICAgICAgICB0aGlzLnRvQ29udHJvbD8uc2V0VmFsdWUoZGVmYXVsdFZhbHVlLnRvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpIGVzIHVuIHZhbG9yIHNpbXBsZSwgYXBsaWNhcmxvIGEgYW1ib3MgY29udHJvbGVzXG4gICAgICAgIHRoaXMuZnJvbUNvbnRyb2w/LnNldFZhbHVlKGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIHRoaXMudG9Db250cm9sPy5zZXRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5mcm9tQ29udHJvbD8ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIHRoaXMudG9Db250cm9sPy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgdGhpcy5mcm9tQ29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy50b0NvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVEZWZhdWx0VmFsdWUoKTogYW55IHtcbiAgICAvLyBFeHBsaWNpdCB2YWx1ZSB0YWtlcyBwcmVjZWRlbmNlXG4gICAgaWYgKHRoaXMucHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnByb3BzLnZhbHVlICE9PSBudWxsICYmIHRoaXMucHJvcHMudmFsdWUgIT09ICcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVZhbHVlKHRoaXMucHJvcHMudmFsdWUpO1xuICAgIH1cblxuICAgIC8vIE5vIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgIGlmICghdGhpcy5wcm9wcy53aXRoRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIGRlZmF1bHQgdmFsdWVcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMud2l0aERlZmF1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVZhbHVlKHRoaXMucHJvcHMud2l0aERlZmF1bHQpO1xuICAgIH1cblxuICAgIC8vIEF1dG8gZGVmYXVsdCB2YWx1ZSAod2l0aERlZmF1bHQgPT09IHRydWUpXG4gICAgcmV0dXJuIHsgZnJvbTogMCwgdG86IDAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VWYWx1ZSh2YWx1ZTogc3RyaW5nKTogYW55IHtcbiAgICB0cnkge1xuICAgICAgLy8gVHJ5IHRvIHBhcnNlIGFzIEpTT04gZmlyc3QgKGZvciBvYmplY3QgdmFsdWVzKVxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSWYgbm90IEpTT04sIHRyZWF0IGFzIG51bWJlclxuICAgICAgY29uc3QgbnVtVmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKSB8fCAwO1xuICAgICAgcmV0dXJuIHsgZnJvbTogbnVtVmFsdWUsIHRvOiBudW1WYWx1ZSB9O1xuICAgIH1cbiAgfVxuXG4gIGdldCBmcm9tQ29udHJvbCgpOiBGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZnJvbUNvbnRyb2w7XG4gIH1cblxuICBnZXQgdG9Db250cm9sKCk6IEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50b0NvbnRyb2w7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,10 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Component, inject, Input, Output, EventEmitter } from '@angular/core';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { IonButton, IonIcon, IonInput } from '@ionic/angular/standalone';
5
5
  import { addIcons } from 'ionicons';
6
6
  import { addOutline, removeOutline } from 'ionicons/icons';
7
+ import { I18nService } from '../../../services/i18n';
7
8
  import { ComponentStates } from '../../types';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/forms";
@@ -64,8 +65,17 @@ export class NumberStepperComponent {
64
65
  constructor() {
65
66
  this.valueChange = new EventEmitter();
66
67
  this.states = ComponentStates;
68
+ this.i18n = inject(I18nService);
67
69
  this.valueSubscription = null;
68
70
  }
71
+ /** Get decrement button aria-label with i18n fallback */
72
+ getDecrementLabel() {
73
+ return this.props.decrementLabel || this.i18n.t('decrease');
74
+ }
75
+ /** Get increment button aria-label with i18n fallback */
76
+ getIncrementLabel() {
77
+ return this.props.incrementLabel || this.i18n.t('increase');
78
+ }
69
79
  ngOnInit() {
70
80
  // Ensure initial value is within bounds
71
81
  this.clampValue();
@@ -206,7 +216,7 @@ export class NumberStepperComponent {
206
216
  [shape]="props.buttonShape || 'round'"
207
217
  [disabled]="isAtMin || props.state === states.DISABLED"
208
218
  (click)="decrement()"
209
- [attr.aria-label]="props.decrementLabel || 'Disminuir'"
219
+ [attr.aria-label]="getDecrementLabel()"
210
220
  >
211
221
  <ion-icon slot="icon-only" name="remove-outline"></ion-icon>
212
222
  </ion-button>
@@ -239,7 +249,7 @@ export class NumberStepperComponent {
239
249
  [shape]="props.buttonShape || 'round'"
240
250
  [disabled]="isAtMax || props.state === states.DISABLED"
241
251
  (click)="increment()"
242
- [attr.aria-label]="props.incrementLabel || 'Aumentar'"
252
+ [attr.aria-label]="getIncrementLabel()"
243
253
  >
244
254
  <ion-icon slot="icon-only" name="add-outline"></ion-icon>
245
255
  </ion-button>
@@ -306,7 +316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
306
316
  [shape]="props.buttonShape || 'round'"
307
317
  [disabled]="isAtMin || props.state === states.DISABLED"
308
318
  (click)="decrement()"
309
- [attr.aria-label]="props.decrementLabel || 'Disminuir'"
319
+ [attr.aria-label]="getDecrementLabel()"
310
320
  >
311
321
  <ion-icon slot="icon-only" name="remove-outline"></ion-icon>
312
322
  </ion-button>
@@ -339,7 +349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
339
349
  [shape]="props.buttonShape || 'round'"
340
350
  [disabled]="isAtMax || props.state === states.DISABLED"
341
351
  (click)="increment()"
342
- [attr.aria-label]="props.incrementLabel || 'Aumentar'"
352
+ [attr.aria-label]="getIncrementLabel()"
343
353
  >
344
354
  <ion-icon slot="icon-only" name="add-outline"></ion-icon>
345
355
  </ion-button>
@@ -366,4 +376,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
366
376
  }], valueChange: [{
367
377
  type: Output
368
378
  }] } });
369
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItc3RlcHBlci9udW1iZXItc3RlcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHOUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7QUF5R3hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtREc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBM0puQztRQThKWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRXJFLFdBQU0sR0FBRyxlQUFlLENBQUM7UUFFakIsc0JBQWlCLEdBQXdCLElBQUksQ0FBQztLQW1IdkQ7SUFqSEMsUUFBUTtRQUNOLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENB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T0FBTyxFQUFFO1lBQy9DLHFCQUFxQixFQUFFLENBQUM7WUFDeEIscUJBQXFCLEVBQUUsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQzsrR0F6SFUsc0JBQXNCO21HQUF0QixzQkFBc0IsbUpBdkp2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0dULDY3RkFqR1MsWUFBWSw4QkFBRSxtQkFBbUIsMFRBQUUsU0FBUyxvUEFBRSxPQUFPLDJKQUFFLFFBQVE7OzRGQXdKOUQsc0JBQXNCO2tCQTNKbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQ2hFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR1Q7OEJBd0RRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uSW5wdXQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBhZGRPdXRsaW5lLCByZW1vdmVPdXRsaW5lIH0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTnVtYmVyU3RlcHBlck1ldGFkYXRhLCBOdW1iZXJTdGVwcGVyQ2hhbmdlRXZlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBhZGRPdXRsaW5lLCByZW1vdmVPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbnVtYmVyLXN0ZXBwZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm51bWJlci1zdGVwcGVyLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW2NsYXNzLnNpemUtc21hbGxdPVwicHJvcHMuc2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1tZWRpdW1dPVwicHJvcHMuc2l6ZSA9PT0gJ21lZGl1bScgfHwgIXByb3BzLnNpemVcIlxuICAgICAgW2NsYXNzLnNpemUtbGFyZ2VdPVwicHJvcHMuc2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3MubGF5b3V0LXZlcnRpY2FsXT1cInByb3BzLmxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICBbc3R5bGUuLS1zdGVwcGVyLWNvbG9yXT1cImdldENvbG9yKClcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXNldCBidXR0b25zIC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93UHJlc2V0cyAmJiBwcm9wcy5wcmVzZXRzPy5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXNldC1idXR0b25zXCI+XG4gICAgICAgICAgQGZvciAocHJlc2V0IG9mIHByb3BzLnByZXNldHM7IHRyYWNrIHByZXNldC52YWx1ZSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwcmVzZXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VmFsdWUgPT09IHByZXNldC52YWx1ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wb3B1bGFyXT1cInByZXNldC5wb3B1bGFyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFZhbHVlKHByZXNldC52YWx1ZSlcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHByZXNldC5sYWJlbCB8fCBwcmVzZXQudmFsdWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gU3RlcHBlciBjb250cm9scyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWNvbnRyb2xzXCI+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVyLWJ1dHRvbiBkZWNyZW1lbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBbc2hhcGVdPVwicHJvcHMuYnV0dG9uU2hhcGUgfHwgJ3JvdW5kJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQXRNaW4gfHwgcHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlY3JlbWVudCgpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmRlY3JlbWVudExhYmVsIHx8ICdEaXNtaW51aXInXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cInJlbW92ZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZS1kaXNwbGF5XCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5zaG93SW5wdXQgIT09IGZhbHNlICYmIHByb3BzLmVkaXRhYmxlSW5wdXQpIHtcbiAgICAgICAgICAgIDxpb24taW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJwcm9wcy5jb250cm9sXCJcbiAgICAgICAgICAgICAgW21pbl09XCJwcm9wcy5taW5cIlxuICAgICAgICAgICAgICBbbWF4XT1cInByb3BzLm1heFwiXG4gICAgICAgICAgICAgIFtzdGVwXT1cInByb3BzLnN0ZXAgfHwgMVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZS1pbnB1dFwiXG4gICAgICAgICAgICAgIChpb25CbHVyKT1cIm9uSW5wdXRCbHVyKClcIlxuICAgICAgICAgICAgPjwvaW9uLWlucHV0PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZS10ZXh0XCI+e3sgY3VycmVudFZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAocHJvcHMudW5pdExhYmVsKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVuaXQtbGFiZWxcIj57eyBnZXRVbml0TGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVyLWJ1dHRvbiBpbmNyZW1lbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBbc2hhcGVdPVwicHJvcHMuYnV0dG9uU2hhcGUgfHwgJ3JvdW5kJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQXRNYXggfHwgcHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgKGNsaWNrKT1cImluY3JlbWVudCgpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByb3BzLmluY3JlbWVudExhYmVsIHx8ICdBdW1lbnRhcidcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiYWRkLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBQcmljZSBkaXNwbGF5IC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93VG90YWwgJiYgcHJvcHMudW5pdFByaWNlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1kaXNwbGF5XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmljZS1jYWxjdWxhdGlvblwiPlxuICAgICAgICAgICAge3sgY3VycmVudFZhbHVlIH19IMOXIHt7IGZvcm1hdFByaWNlKHByb3BzLnVuaXRQcmljZSkgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmljZS1lcXVhbHNcIj49PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2UtdG90YWxcIj57eyBmb3JtYXRQcmljZSh0b3RhbFByaWNlKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuaGludCkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItaGludFwiPnt7IHByb3BzLmhpbnQgfX08L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL251bWJlci1zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtbnVtYmVyLXN0ZXBwZXJcbiAqXG4gKiBBIG51bWJlciBpbnB1dCB3aXRoIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucywgaWRlYWwgZm9yIHF1YW50aXR5IHNlbGVjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1udW1iZXItc3RlcHBlclxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHF1YW50aXR5Q29udHJvbCxcbiAqICAgICBtaW46IDEsXG4gKiAgICAgbWF4OiAxMDBcbiAqICAgfVwiXG4gKiA+PC92YWwtbnVtYmVyLXN0ZXBwZXI+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByaWNpbmdcbiAqIGBgYGh0bWxcbiAqIDx2YWwtbnVtYmVyLXN0ZXBwZXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiB0aWNrZXRDb250cm9sLFxuICogICAgIG1pbjogMSxcbiAqICAgICBtYXg6IDUwLFxuICogICAgIHVuaXRQcmljZTogMTAsXG4gKiAgICAgY3VycmVuY3k6ICdNWE4nLFxuICogICAgIGN1cnJlbmN5U3ltYm9sOiAnJCcsXG4gKiAgICAgc2hvd1RvdGFsOiB0cnVlLFxuICogICAgIHVuaXRMYWJlbDogJ2JvbGV0b3MnLFxuICogICAgIHVuaXRMYWJlbFNpbmd1bGFyOiAnYm9sZXRvJ1xuICogICB9XCJcbiAqICAgKHZhbHVlQ2hhbmdlKT1cIm9uUXVhbnRpdHlDaGFuZ2UoJGV2ZW50KVwiXG4gKiA+PC92YWwtbnVtYmVyLXN0ZXBwZXI+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldHNcbiAqIGBgYGh0bWxcbiAqIDx2YWwtbnVtYmVyLXN0ZXBwZXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb250cm9sOiB0aWNrZXRDb250cm9sLFxuICogICAgIG1pbjogMSxcbiAqICAgICBtYXg6IDEwMCxcbiAqICAgICBzaG93UHJlc2V0czogdHJ1ZSxcbiAqICAgICBwcmVzZXRzOiBbXG4gKiAgICAgICB7IHZhbHVlOiAxIH0sXG4gKiAgICAgICB7IHZhbHVlOiA1LCBwb3B1bGFyOiB0cnVlIH0sXG4gKiAgICAgICB7IHZhbHVlOiAxMCB9LFxuICogICAgICAgeyB2YWx1ZTogMjUgfVxuICogICAgIF1cbiAqICAgfVwiXG4gKiA+PC92YWwtbnVtYmVyLXN0ZXBwZXI+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIE51bWJlclN0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHByb3BzOiBOdW1iZXJTdGVwcGVyTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJTdGVwcGVyQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIHByaXZhdGUgdmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSBpbml0aWFsIHZhbHVlIGlzIHdpdGhpbiBib3VuZHNcbiAgICB0aGlzLmNsYW1wVmFsdWUoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB2YWx1ZSBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xhbXBWYWx1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb250cm9sLnZhbHVlID8/IHRoaXMucHJvcHMubWluID8/IDA7XG4gIH1cblxuICBnZXQgaXNBdE1pbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcm9wcy5taW4gPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZSA8PSB0aGlzLnByb3BzLm1pbjtcbiAgfVxuXG4gIGdldCBpc0F0TWF4KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnByb3BzLm1heCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID49IHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0IHRvdGFsUHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWUgKiAodGhpcy5wcm9wcy51bml0UHJpY2UgfHwgMCk7XG4gIH1cblxuICBpbmNyZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMucHJvcHMuc3RlcCB8fCAxO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWUgKyBzdGVwO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgZGVjcmVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnByb3BzLnN0ZXAgfHwgMTtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlIC0gc3RlcDtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgY29uc3QgY2xhbXBlZFZhbHVlID0gdGhpcy5jbGFtcCh2YWx1ZSk7XG5cbiAgICBpZiAoY2xhbXBlZFZhbHVlICE9PSBwcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLnByb3BzLmNvbnRyb2wuc2V0VmFsdWUoY2xhbXBlZFZhbHVlKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZShjbGFtcGVkVmFsdWUsIHByZXZpb3VzVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhbXBWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGFtcFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWwgPSB0aGlzLnByb3BzLmNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgY2xhbXBlZFZhbCA9IHRoaXMuY2xhbXAoY3VycmVudFZhbCk7XG4gICAgaWYgKGN1cnJlbnRWYWwgIT09IGNsYW1wZWRWYWwpIHtcbiAgICAgIHRoaXMucHJvcHMuY29udHJvbC5zZXRWYWx1ZShjbGFtcGVkVmFsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsYW1wKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCByZXN1bHQgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5wcm9wcy5taW4gIT09IHVuZGVmaW5lZCAmJiByZXN1bHQgPCB0aGlzLnByb3BzLm1pbikge1xuICAgICAgcmVzdWx0ID0gdGhpcy5wcm9wcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLm1heCAhPT0gdW5kZWZpbmVkICYmIHJlc3VsdCA+IHRoaXMucHJvcHMubWF4KSB7XG4gICAgICByZXN1bHQgPSB0aGlzLnByb3BzLm1heDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZSh2YWx1ZTogbnVtYmVyLCBwcmV2aW91c1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoe1xuICAgICAgdmFsdWUsXG4gICAgICBwcmV2aW91c1ZhbHVlLFxuICAgICAgdG90YWxQcmljZTogdGhpcy5wcm9wcy51bml0UHJpY2UgPyB2YWx1ZSAqIHRoaXMucHJvcHMudW5pdFByaWNlIDogdW5kZWZpbmVkLFxuICAgICAgYXRNaW46IHRoaXMuaXNBdE1pbixcbiAgICAgIGF0TWF4OiB0aGlzLmlzQXRNYXgsXG4gICAgfSk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0VW5pdExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlID09PSAxICYmIHRoaXMucHJvcHMudW5pdExhYmVsU2luZ3VsYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLnVuaXRMYWJlbFNpbmd1bGFyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy51bml0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBmb3JtYXRQcmljZShhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgc3ltYm9sID0gdGhpcy5wcm9wcy5jdXJyZW5jeVN5bWJvbCB8fCAnJCc7XG4gICAgY29uc3QgZm9ybWF0dGVkID0gYW1vdW50LnRvTG9jYWxlU3RyaW5nKCdlcy1NWCcsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICB9KTtcbiAgICByZXR1cm4gYCR7c3ltYm9sfSR7Zm9ybWF0dGVkfWA7XG4gIH1cblxuICBnZXRDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLmNvbG9yKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke3RoaXMucHJvcHMuY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxufVxuIl19
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItc3RlcHBlci9udW1iZXItc3RlcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUc5QyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQXlHeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1ERztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUEzSm5DO1FBOEpZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFFckUsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQUVqQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLHNCQUFpQixHQUF3QixJQUFJLENBQUM7S0E2SHZEO0lBM0hDLHlE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RSxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQ2hFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR1Q7OEJBd0RRLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBJb25JbnB1dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7IGFkZE91dGxpbmUsIHJlbW92ZU91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTnVtYmVyU3RlcHBlck1ldGFkYXRhLCBOdW1iZXJTdGVwcGVyQ2hhbmdlRXZlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBhZGRPdXRsaW5lLCByZW1vdmVPdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbnVtYmVyLXN0ZXBwZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvbklucHV0XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm51bWJlci1zdGVwcGVyLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW2NsYXNzLnNpemUtc21hbGxdPVwicHJvcHMuc2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1tZWRpdW1dPVwicHJvcHMuc2l6ZSA9PT0gJ21lZGl1bScgfHwgIXByb3BzLnNpemVcIlxuICAgICAgW2NsYXNzLnNpemUtbGFyZ2VdPVwicHJvcHMuc2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3MubGF5b3V0LXZlcnRpY2FsXT1cInByb3BzLmxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICBbc3R5bGUuLS1zdGVwcGVyLWNvbG9yXT1cImdldENvbG9yKClcIlxuICAgID5cbiAgICAgIEBpZiAocHJvcHMubGFiZWwpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPnt7IGdldExhYmVsKCkgfX08L2xhYmVsPlxuICAgICAgfVxuXG4gICAgICA8IS0tIFByZXNldCBidXR0b25zIC0tPlxuICAgICAgQGlmIChwcm9wcy5zaG93UHJlc2V0cyAmJiBwcm9wcy5wcmVzZXRzPy5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXNldC1idXR0b25zXCI+XG4gICAgICAgICAgQGZvciAocHJlc2V0IG9mIHByb3BzLnByZXNldHM7IHRyYWNrIHByZXNldC52YWx1ZSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwcmVzZXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VmFsdWUgPT09IHByZXNldC52YWx1ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wb3B1bGFyXT1cInByZXNldC5wb3B1bGFyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFZhbHVlKHByZXNldC52YWx1ZSlcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHByZXNldC5sYWJlbCB8fCBwcmVzZXQudmFsdWUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gU3RlcHBlciBjb250cm9scyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWNvbnRyb2xzXCI+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdGVwcGVyLWJ1dHRvbiBkZWNyZW1lbnRcIlxuICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICBbc2hhcGVdPVwicHJvcHMuYnV0dG9uU2hhcGUgfHwgJ3JvdW5kJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQXRNaW4gfHwgcHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlY3JlbWVudCgpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldERlY3JlbWVudExhYmVsKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwicmVtb3ZlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWRpc3BsYXlcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLnNob3dJbnB1dCAhPT0gZmFsc2UgJiYgcHJvcHMuZWRpdGFibGVJbnB1dCkge1xuICAgICAgICAgICAgPGlvbi1pbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInByb3BzLmNvbnRyb2xcIlxuICAgICAgICAgICAgICBbbWluXT1cInByb3BzLm1pblwiXG4gICAgICAgICAgICAgIFttYXhdPVwicHJvcHMubWF4XCJcbiAgICAgICAgICAgICAgW3N0ZXBdPVwicHJvcHMuc3RlcCB8fCAxXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlLWlucHV0XCJcbiAgICAgICAgICAgICAgKGlvbkJsdXIpPVwib25JbnB1dEJsdXIoKVwiXG4gICAgICAgICAgICA+PC9pb24taW5wdXQ+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlLXRleHRcIj57eyBjdXJyZW50VmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChwcm9wcy51bml0TGFiZWwpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidW5pdC1sYWJlbFwiPnt7IGdldFVuaXRMYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInN0ZXBwZXItYnV0dG9uIGluY3JlbWVudFwiXG4gICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgIFtzaGFwZV09XCJwcm9wcy5idXR0b25TaGFwZSB8fCAncm91bmQnXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNBdE1heCB8fCBwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50KClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0SW5jcmVtZW50TGFiZWwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhZGQtb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFByaWNlIGRpc3BsYXkgLS0+XG4gICAgICBAaWYgKHByb3BzLnNob3dUb3RhbCAmJiBwcm9wcy51bml0UHJpY2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLWRpc3BsYXlcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLWNhbGN1bGF0aW9uXCI+XG4gICAgICAgICAgICB7eyBjdXJyZW50VmFsdWUgfX0gw5cge3sgZm9ybWF0UHJpY2UocHJvcHMudW5pdFByaWNlKSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLWVxdWFsc1wiPj08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmljZS10b3RhbFwiPnt7IGZvcm1hdFByaWNlKHRvdGFsUHJpY2UpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmIChwcm9wcy5oaW50KSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcHBlci1oaW50XCI+e3sgcHJvcHMuaGludCB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1udW1iZXItc3RlcHBlclxuICpcbiAqIEEgbnVtYmVyIGlucHV0IHdpdGggaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLCBpZGVhbCBmb3IgcXVhbnRpdHkgc2VsZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLW51bWJlci1zdGVwcGVyXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogcXVhbnRpdHlDb250cm9sLFxuICogICAgIG1pbjogMSxcbiAqICAgICBtYXg6IDEwMFxuICogICB9XCJcbiAqID48L3ZhbC1udW1iZXItc3RlcHBlcj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJpY2luZ1xuICogYGBgaHRtbFxuICogPHZhbC1udW1iZXItc3RlcHBlclxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHRpY2tldENvbnRyb2wsXG4gKiAgICAgbWluOiAxLFxuICogICAgIG1heDogNTAsXG4gKiAgICAgdW5pdFByaWNlOiAxMCxcbiAqICAgICBjdXJyZW5jeTogJ01YTicsXG4gKiAgICAgY3VycmVuY3lTeW1ib2w6ICckJyxcbiAqICAgICBzaG93VG90YWw6IHRydWUsXG4gKiAgICAgdW5pdExhYmVsOiAnYm9sZXRvcycsXG4gKiAgICAgdW5pdExhYmVsU2luZ3VsYXI6ICdib2xldG8nXG4gKiAgIH1cIlxuICogICAodmFsdWVDaGFuZ2UpPVwib25RdWFudGl0eUNoYW5nZSgkZXZlbnQpXCJcbiAqID48L3ZhbC1udW1iZXItc3RlcHBlcj5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggcHJlc2V0c1xuICogYGBgaHRtbFxuICogPHZhbC1udW1iZXItc3RlcHBlclxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHRpY2tldENvbnRyb2wsXG4gKiAgICAgbWluOiAxLFxuICogICAgIG1heDogMTAwLFxuICogICAgIHNob3dQcmVzZXRzOiB0cnVlLFxuICogICAgIHByZXNldHM6IFtcbiAqICAgICAgIHsgdmFsdWU6IDEgfSxcbiAqICAgICAgIHsgdmFsdWU6IDUsIHBvcHVsYXI6IHRydWUgfSxcbiAqICAgICAgIHsgdmFsdWU6IDEwIH0sXG4gKiAgICAgICB7IHZhbHVlOiAyNSB9XG4gKiAgICAgXVxuICogICB9XCJcbiAqID48L3ZhbC1udW1iZXItc3RlcHBlcj5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgTnVtYmVyU3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHJvcHM6IE51bWJlclN0ZXBwZXJNZXRhZGF0YTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE51bWJlclN0ZXBwZXJDaGFuZ2VFdmVudD4oKTtcblxuICBzdGF0ZXMgPSBDb21wb25lbnRTdGF0ZXM7XG5cbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB2YWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEdldCBkZWNyZW1lbnQgYnV0dG9uIGFyaWEtbGFiZWwgd2l0aCBpMThuIGZhbGxiYWNrICovXG4gIGdldERlY3JlbWVudExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVjcmVtZW50TGFiZWwgfHwgdGhpcy5pMThuLnQoJ2RlY3JlYXNlJyk7XG4gIH1cblxuICAvKiogR2V0IGluY3JlbWVudCBidXR0b24gYXJpYS1sYWJlbCB3aXRoIGkxOG4gZmFsbGJhY2sgKi9cbiAgZ2V0SW5jcmVtZW50TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbmNyZW1lbnRMYWJlbCB8fCB0aGlzLmkxOG4udCgnaW5jcmVhc2UnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSBpbml0aWFsIHZhbHVlIGlzIHdpdGhpbiBib3VuZHNcbiAgICB0aGlzLmNsYW1wVmFsdWUoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB2YWx1ZSBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMucHJvcHMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xhbXBWYWx1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb250cm9sLnZhbHVlID8/IHRoaXMucHJvcHMubWluID8/IDA7XG4gIH1cblxuICBnZXQgaXNBdE1pbigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5wcm9wcy5taW4gPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRWYWx1ZSA8PSB0aGlzLnByb3BzLm1pbjtcbiAgfVxuXG4gIGdldCBpc0F0TWF4KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnByb3BzLm1heCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID49IHRoaXMucHJvcHMubWF4O1xuICB9XG5cbiAgZ2V0IHRvdGFsUHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWUgKiAodGhpcy5wcm9wcy51bml0UHJpY2UgfHwgMCk7XG4gIH1cblxuICBpbmNyZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMucHJvcHMuc3RlcCB8fCAxO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWUgKyBzdGVwO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgZGVjcmVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnByb3BzLnN0ZXAgfHwgMTtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlIC0gc3RlcDtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWU7XG4gICAgY29uc3QgY2xhbXBlZFZhbHVlID0gdGhpcy5jbGFtcCh2YWx1ZSk7XG5cbiAgICBpZiAoY2xhbXBlZFZhbHVlICE9PSBwcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLnByb3BzLmNvbnRyb2wuc2V0VmFsdWUoY2xhbXBlZFZhbHVlKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZShjbGFtcGVkVmFsdWUsIHByZXZpb3VzVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2xhbXBWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGFtcFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWwgPSB0aGlzLnByb3BzLmNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgY2xhbXBlZFZhbCA9IHRoaXMuY2xhbXAoY3VycmVudFZhbCk7XG4gICAgaWYgKGN1cnJlbnRWYWwgIT09IGNsYW1wZWRWYWwpIHtcbiAgICAgIHRoaXMucHJvcHMuY29udHJvbC5zZXRWYWx1ZShjbGFtcGVkVmFsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsYW1wKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCByZXN1bHQgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5wcm9wcy5taW4gIT09IHVuZGVmaW5lZCAmJiByZXN1bHQgPCB0aGlzLnByb3BzLm1pbikge1xuICAgICAgcmVzdWx0ID0gdGhpcy5wcm9wcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLm1heCAhPT0gdW5kZWZpbmVkICYmIHJlc3VsdCA+IHRoaXMucHJvcHMubWF4KSB7XG4gICAgICByZXN1bHQgPSB0aGlzLnByb3BzLm1heDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZSh2YWx1ZTogbnVtYmVyLCBwcmV2aW91c1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoe1xuICAgICAgdmFsdWUsXG4gICAgICBwcmV2aW91c1ZhbHVlLFxuICAgICAgdG90YWxQcmljZTogdGhpcy5wcm9wcy51bml0UHJpY2UgPyB2YWx1ZSAqIHRoaXMucHJvcHMudW5pdFByaWNlIDogdW5kZWZpbmVkLFxuICAgICAgYXRNaW46IHRoaXMuaXNBdE1pbixcbiAgICAgIGF0TWF4OiB0aGlzLmlzQXRNYXgsXG4gICAgfSk7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmxhYmVsIHx8ICcnO1xuICB9XG5cbiAgZ2V0VW5pdExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlID09PSAxICYmIHRoaXMucHJvcHMudW5pdExhYmVsU2luZ3VsYXIpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLnVuaXRMYWJlbFNpbmd1bGFyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy51bml0TGFiZWwgfHwgJyc7XG4gIH1cblxuICBmb3JtYXRQcmljZShhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3Qgc3ltYm9sID0gdGhpcy5wcm9wcy5jdXJyZW5jeVN5bWJvbCB8fCAnJCc7XG4gICAgY29uc3QgZm9ybWF0dGVkID0gYW1vdW50LnRvTG9jYWxlU3RyaW5nKCdlcy1NWCcsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICB9KTtcbiAgICByZXR1cm4gYCR7c3ltYm9sfSR7Zm9ybWF0dGVkfWA7XG4gIH1cblxuICBnZXRDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLmNvbG9yKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke3RoaXMucHJvcHMuY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
- import { Component, Input, Output, EventEmitter, signal, ViewChild, ContentChild, } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter, signal, ViewChild, ContentChild, inject, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { IonRefresher, IonRefresherContent, IonSpinner, IonText, } from '@ionic/angular/standalone';
4
+ import { I18nService } from '../../../services/i18n';
4
5
  import { DEFAULT_REFRESHER_METADATA, } from './types';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
@@ -43,14 +44,28 @@ export class RefresherComponent {
43
44
  this.pullProgressChange = new EventEmitter();
44
45
  /** Evento de cambio de estado */
45
46
  this.stateChange = new EventEmitter();
47
+ this.i18n = inject(I18nService);
46
48
  /** Estado actual del refresher */
47
49
  this.state = signal('idle');
48
50
  /** Progreso actual del pull (0-1) */
49
51
  this.pullProgress = signal(0);
50
52
  }
53
+ /** Get pulling text with i18n fallback */
54
+ getPullingText() {
55
+ return this.props.pullingText || this.i18n.t('pullToRefresh');
56
+ }
57
+ /** Get refreshing text with i18n fallback */
58
+ getRefreshingText() {
59
+ return this.props.refreshingText || this.i18n.t('loading');
60
+ }
51
61
  /** Props combinados con defaults */
52
62
  get mergedProps() {
53
- return { ...DEFAULT_REFRESHER_METADATA, ...this.props };
63
+ return {
64
+ ...DEFAULT_REFRESHER_METADATA,
65
+ ...this.props,
66
+ pullingText: this.getPullingText(),
67
+ refreshingText: this.getRefreshingText(),
68
+ };
54
69
  }
55
70
  /** Si hay indicadores personalizados */
56
71
  get hasCustomIndicator() {
@@ -251,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
251
266
  }], stateChange: [{
252
267
  type: Output
253
268
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmVmcmVzaGVyL3JlZnJlc2hlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUVULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFLTCwwQkFBMEIsR0FDM0IsTUFBTSxTQUFTLENBQUM7OztBQUVqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQThFSCxNQUFNLE9BQU8sa0JBQWtCO0lBN0UvQjtRQXFGRSxrQ0FBa0M7UUFDekIsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFFdkMsaURBQWlEO1FBQ3ZDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUVyRCx5Q0FBeUM7UUFDL0IsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFcEUsaUNBQWlDO1FBQ3ZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFM0Qsa0NBQWtDO1FBQ3pCLFVBQUssR0FBRyxNQUFNLENBQWlCLE1BQU0sQ0FBQyxDQUFDO1FBRWhELHFDQUFxQztRQUM1QixpQkFBWSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztLQWtGM0M7SUFoRkMsb0NBQW9DO0lBQ3BDLElBQUksV0FBVztRQUNiLE9BQU8sRUFBRSxHQUFHLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7R0FzRFQsNk9BdkRTLFlBQVksc01BQUUsWUFBWSxpS0FBRSxtQkFBbUIsaUpBQUUsVUFBVSx5R0FBRSxPQUFPOzs0RkEwRW5FLGtCQUFrQjtrQkE3RTlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxZQUNyRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0RUOzhCQW9CdUIsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXO2dCQUdZLGdCQUFnQjtzQkFBakQsWUFBWTt1QkFBQyxrQkFBa0I7Z0JBQ0ssbUJBQW1CO3NCQUF2RCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFDRSxtQkFBbUI7c0JBQXZELFlBQVk7dUJBQUMscUJBQXFCO2dCQUcxQixLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksT0FBTztzQkFBaEIsTUFBTTtnQkFHRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSW9uUmVmcmVzaGVyLFxuICBJb25SZWZyZXNoZXJDb250ZW50LFxuICBJb25TcGlubmVyLFxuICBJb25UZXh0LFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7XG4gIFJlZnJlc2hlck1ldGFkYXRhLFxuICBSZWZyZXNoZXJTdGF0ZSxcbiAgUmVmcmVzaEV2ZW50LFxuICBSZWZyZXNoUHVsbEV2ZW50LFxuICBERUZBVUxUX1JFRlJFU0hFUl9NRVRBREFUQSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBkZSBwdWxsLXRvLXJlZnJlc2ggcGFyYSBtb3ZpbCB5IHdlYi5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBVc28gYmFzaWNvIC0tPlxuICogPHZhbC1yZWZyZXNoZXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICogICAgIHB1bGxpbmdUZXh0OiAnQXJyYXN0cmEgcGFyYSBhY3R1YWxpemFyJyxcbiAqICAgICByZWZyZXNoaW5nVGV4dDogJ0NhcmdhbmRvLi4uJ1xuICogICB9XCJcbiAqICAgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIlxuICogPlxuICogICA8aW9uLWNvbnRlbnQ+XG4gKiAgICAgPCEtLSBDb250ZW5pZG8gc2Nyb2xsZWFibGUgLS0+XG4gKiAgIDwvaW9uLWNvbnRlbnQ+XG4gKiA8L3ZhbC1yZWZyZXNoZXI+XG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gQ29uIGluZGljYWRvciBwZXJzb25hbGl6YWRvIC0tPlxuICogPHZhbC1yZWZyZXNoZXIgW3Byb3BzXT1cInsgY29sb3I6ICdwcmltYXJ5JyB9XCIgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIj5cbiAqICAgPG5nLXRlbXBsYXRlICNwdWxsaW5nSW5kaWNhdG9yIGxldC1wcm9ncmVzcz1cInByb2dyZXNzXCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1pbmRpY2F0b3JcIj5cbiAqICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIFtzdHlsZS50cmFuc2Zvcm1dPVwiJ3JvdGF0ZSgnICsgcHJvZ3Jlc3MgKiAxODAgKyAnZGVnKSdcIj48L2lvbi1pY29uPlxuICogICAgIDwvZGl2PlxuICogICA8L25nLXRlbXBsYXRlPlxuICogICA8aW9uLWNvbnRlbnQ+Li4uPC9pb24tY29udGVudD5cbiAqIDwvdmFsLXJlZnJlc2hlcj5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJlZnJlc2hlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblJlZnJlc2hlciwgSW9uUmVmcmVzaGVyQ29udGVudCwgSW9uU3Bpbm5lciwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1yZWZyZXNoZXJcbiAgICAgICNyZWZyZXNoZXJcbiAgICAgIHNsb3Q9XCJmaXhlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwibWVyZ2VkUHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW3B1bGxNaW5dPVwibWVyZ2VkUHJvcHMucHVsbFRocmVzaG9sZFwiXG4gICAgICBbcHVsbE1heF09XCJtZXJnZWRQcm9wcy5wdWxsTWF4XCJcbiAgICAgIFtwdWxsRmFjdG9yXT1cIm1lcmdlZFByb3BzLnB1bGxGYWN0b3JcIlxuICAgICAgW3NuYXBiYWNrRHVyYXRpb25dPVwibWVyZ2VkUHJvcHMuc25hcGJhY2tEdXJhdGlvblwiXG4gICAgICBbY2xvc2VEdXJhdGlvbl09XCJtZXJnZWRQcm9wcy5jbG9zZUR1cmF0aW9uXCJcbiAgICAgIChpb25SZWZyZXNoKT1cIm9uSW9uUmVmcmVzaCgkZXZlbnQpXCJcbiAgICAgIChpb25QdWxsKT1cIm9uSW9uUHVsbCgkZXZlbnQpXCJcbiAgICAgIChpb25TdGFydCk9XCJvbklvblN0YXJ0KClcIlxuICAgID5cbiAgICAgIEBpZiAoaGFzQ3VzdG9tSW5kaWNhdG9yKSB7XG4gICAgICAgIDwhLS0gQ3VzdG9tIGluZGljYXRvciB0ZW1wbGF0ZXMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWZyZXNoZXItY3VzdG9tLWNvbnRlbnRcIj5cbiAgICAgICAgICBAc3dpdGNoIChzdGF0ZSgpKSB7XG4gICAgICAgICAgICBAY2FzZSAoJ3B1bGxpbmcnKSB7XG4gICAgICAgICAgICAgIEBpZiAocHVsbGluZ0luZGljYXRvcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHVsbGluZ0luZGljYXRvcjsgY29udGV4dDogeyBwcm9ncmVzczogcHVsbFByb2dyZXNzKCkgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoJ3JlZnJlc2hpbmcnKSB7XG4gICAgICAgICAgICAgIEBpZiAocmVmcmVzaGluZ0luZGljYXRvcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWZyZXNoaW5nSW5kaWNhdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBbbmFtZV09XCJtZXJnZWRQcm9wcy5zcGlubmVyVHlwZVwiIFtjb2xvcl09XCJtZXJnZWRQcm9wcy5jb2xvclwiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgQGlmIChtZXJnZWRQcm9wcy5yZWZyZXNoaW5nVGV4dCkge1xuICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0IFtjb2xvcl09XCJtZXJnZWRQcm9wcy5jb2xvclwiPnt7IG1lcmdlZFByb3BzLnJlZnJlc2hpbmdUZXh0IH19PC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnY29tcGxldGluZycpIHtcbiAgICAgICAgICAgICAgQGlmIChjb21wbGV0aW5nSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRpbmdJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPCEtLSBEZWZhdWx0IElvbmljIHJlZnJlc2hlciBjb250ZW50IC0tPlxuICAgICAgICA8aW9uLXJlZnJlc2hlci1jb250ZW50XG4gICAgICAgICAgW3B1bGxpbmdJY29uXT1cIm1lcmdlZFByb3BzLnNwaW5uZXJUeXBlID09PSAnY3Jlc2NlbnQnID8gJ2NoZXZyb24tZG93bi1jaXJjbGUtb3V0bGluZScgOiB1bmRlZmluZWRcIlxuICAgICAgICAgIFtwdWxsaW5nVGV4dF09XCJtZXJnZWRQcm9wcy5wdWxsaW5nVGV4dFwiXG4gICAgICAgICAgW3JlZnJlc2hpbmdTcGlubmVyXT1cIm1lcmdlZFByb3BzLnNwaW5uZXJUeXBlXCJcbiAgICAgICAgICBbcmVmcmVzaGluZ1RleHRdPVwibWVyZ2VkUHJvcHMucmVmcmVzaGluZ1RleHRcIlxuICAgICAgICA+PC9pb24tcmVmcmVzaGVyLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9pb24tcmVmcmVzaGVyPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5yZWZyZXNoZXItY3VzdG9tLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVmcmVzaGVyQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgncmVmcmVzaGVyJykgaW9uUmVmcmVzaGVyITogSW9uUmVmcmVzaGVyO1xuXG4gIC8qKiBUZW1wbGF0ZXMgcGVyc29uYWxpemFkb3MgdmlhIGNvbnRlbnQgcHJvamVjdGlvbiAqL1xuICBAQ29udGVudENoaWxkKCdwdWxsaW5nSW5kaWNhdG9yJykgcHVsbGluZ0luZGljYXRvcj86IFRlbXBsYXRlUmVmPHsgcHJvZ3Jlc3M6IG51bWJlciB9PjtcbiAgQENvbnRlbnRDaGlsZCgncmVmcmVzaGluZ0luZGljYXRvcicpIHJlZnJlc2hpbmdJbmRpY2F0b3I/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQENvbnRlbnRDaGlsZCgnY29tcGxldGluZ0luZGljYXRvcicpIGNvbXBsZXRpbmdJbmRpY2F0b3I/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAvKiogQ29uZmlndXJhY2lvbiBkZWwgcmVmcmVzaGVyICovXG4gIEBJbnB1dCgpIHByb3BzOiBSZWZyZXNoZXJNZXRhZGF0YSA9IHt9O1xuXG4gIC8qKiBFdmVudG8gZW1pdGlkbyBjdWFuZG8gc2UgYWN0aXZhIGVsIHJlZnJlc2ggKi9cbiAgQE91dHB1dCgpIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPFJlZnJlc2hFdmVudD4oKTtcblxuICAvKiogRXZlbnRvIGRlIHByb2dyZXNvIGR1cmFudGUgZWwgcHVsbCAqL1xuICBAT3V0cHV0KCkgcHVsbFByb2dyZXNzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWZyZXNoUHVsbEV2ZW50PigpO1xuXG4gIC8qKiBFdmVudG8gZGUgY2FtYmlvIGRlIGVzdGFkbyAqL1xuICBAT3V0cHV0KCkgc3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlZnJlc2hlclN0YXRlPigpO1xuXG4gIC8qKiBFc3RhZG8gYWN0dWFsIGRlbCByZWZyZXNoZXIgKi9cbiAgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWw8UmVmcmVzaGVyU3RhdGU+KCdpZGxlJyk7XG5cbiAgLyoqIFByb2dyZXNvIGFjdHVhbCBkZWwgcHVsbCAoMC0xKSAqL1xuICByZWFkb25seSBwdWxsUHJvZ3Jlc3MgPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICAvKiogUHJvcHMgY29tYmluYWRvcyBjb24gZGVmYXVsdHMgKi9cbiAgZ2V0IG1lcmdlZFByb3BzKCk6IFJlZnJlc2hlck1ldGFkYXRhIHtcbiAgICByZXR1cm4geyAuLi5ERUZBVUxUX1JFRlJFU0hFUl9NRVRBREFUQSwgLi4udGhpcy5wcm9wcyB9O1xuICB9XG5cbiAgLyoqIFNpIGhheSBpbmRpY2Fkb3JlcyBwZXJzb25hbGl6YWRvcyAqL1xuICBnZXQgaGFzQ3VzdG9tSW5kaWNhdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHRoaXMucHVsbGluZ0luZGljYXRvciB8fFxuICAgICAgdGhpcy5yZWZyZXNoaW5nSW5kaWNhdG9yIHx8XG4gICAgICB0aGlzLmNvbXBsZXRpbmdJbmRpY2F0b3IgfHxcbiAgICAgIHRoaXMucHJvcHMuaW5kaWNhdG9yQ29uZmlnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmEgcHJvZ3JhbWF0aWNhbWVudGUgZWwgcmVmcmVzaC5cbiAgICovXG4gIHRyaWdnZXJSZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUuc2V0KCdyZWZyZXNoaW5nJyk7XG4gICAgdGhpcy5lbWl0UmVmcmVzaEV2ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGxldGEgbGEgb3BlcmFjaW9uIGRlIHJlZnJlc2ggYWN0dWFsLlxuICAgKi9cbiAgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ2NvbXBsZXRpbmcnKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoJ2NvbXBsZXRpbmcnKTtcbiAgICB0aGlzLmlvblJlZnJlc2hlcj8uY29tcGxldGUoKTtcblxuICAgIC8vIFJlc2V0ZWFyIGEgaWRsZSBkZXNwdWVzIGRlIGxhIGFuaW1hY2lvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnaWRsZScpO1xuICAgIH0sIHRoaXMubWVyZ2VkUHJvcHMuY2xvc2VEdXJhdGlvbiA/PyAyODApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbGEgbGEgb3BlcmFjaW9uIGRlIHJlZnJlc2ggYWN0dWFsLlxuICAgKi9cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaW9uUmVmcmVzaGVyPy5jYW5jZWwoKTtcbiAgICB0aGlzLnN0YXRlLnNldCgnaWRsZScpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnaWRsZScpO1xuICB9XG5cbiAgLyoqIEhhbmRsZXIgcGFyYSBldmVudG8gaW9uUmVmcmVzaCAqL1xuICBvbklvblJlZnJlc2goZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ3JlZnJlc2hpbmcnKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoJ3JlZnJlc2hpbmcnKTtcbiAgICB0aGlzLmVtaXRSZWZyZXNoRXZlbnQoKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGVyIHBhcmEgZXZlbnRvIGlvblB1bGwgKi9cbiAgb25Jb25QdWxsKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRldGFpbCA9IGV2ZW50LmRldGFpbDtcbiAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKGRldGFpbC5wcm9ncmVzcywgMSk7XG4gICAgdGhpcy5wdWxsUHJvZ3Jlc3Muc2V0KHByb2dyZXNzKTtcblxuICAgIHRoaXMucHVsbFByb2dyZXNzQ2hhbmdlLmVtaXQoe1xuICAgICAgcHJvZ3Jlc3MsXG4gICAgICB0aHJlc2hvbGRSZWFjaGVkOiBwcm9ncmVzcyA+PSAxLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIEhhbmRsZXIgcGFyYSBldmVudG8gaW9uU3RhcnQgKi9cbiAgb25Jb25TdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnNldCgncHVsbGluZycpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgncHVsbGluZycpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0UmVmcmVzaEV2ZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50OiBSZWZyZXNoRXZlbnQgPSB7XG4gICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5jb21wbGV0ZSgpLFxuICAgICAgY2FuY2VsOiAoKSA9PiB0aGlzLmNhbmNlbCgpLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICAgIH07XG4gICAgdGhpcy5yZWZyZXNoLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcmVmcmVzaGVyL3JlZnJlc2hlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUtMLDBCQUEwQixHQUMzQixNQUFNLFNBQVMsQ0FBQzs7O0FBRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBOEVILE1BQU0sT0FBTyxrQkFBa0I7SUE3RS9CO1FBcUZFLGtDQUFrQztRQUN6QixVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUV2QyxpREFBaUQ7UUFDdkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRXJELHlDQUF5QztRQUMvQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVwRSxpQ0FBaUM7UUFDdkIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUVuRCxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DLGtDQUFrQztRQUN6QixVQUFLLEdBQUcsTUFBTSxDQUFpQixNQUFNLENBQUMsQ0FBQztRQUVoRCxxQ0FBcUM7UUFDNUIsaUJBQVksR0FBRyxNQUFNLENBQVMsQ0FB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cEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJb25SZWZyZXNoZXIsXG4gIElvblJlZnJlc2hlckNvbnRlbnQsXG4gIElvblNwaW5uZXIsXG4gIElvblRleHQsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7XG4gIFJlZnJlc2hlck1ldGFkYXRhLFxuICBSZWZyZXNoZXJTdGF0ZSxcbiAgUmVmcmVzaEV2ZW50LFxuICBSZWZyZXNoUHVsbEV2ZW50LFxuICBERUZBVUxUX1JFRlJFU0hFUl9NRVRBREFUQSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBkZSBwdWxsLXRvLXJlZnJlc2ggcGFyYSBtb3ZpbCB5IHdlYi5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBVc28gYmFzaWNvIC0tPlxuICogPHZhbC1yZWZyZXNoZXJcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBjb2xvcjogJ3ByaW1hcnknLFxuICogICAgIHB1bGxpbmdUZXh0OiAnQXJyYXN0cmEgcGFyYSBhY3R1YWxpemFyJyxcbiAqICAgICByZWZyZXNoaW5nVGV4dDogJ0NhcmdhbmRvLi4uJ1xuICogICB9XCJcbiAqICAgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIlxuICogPlxuICogICA8aW9uLWNvbnRlbnQ+XG4gKiAgICAgPCEtLSBDb250ZW5pZG8gc2Nyb2xsZWFibGUgLS0+XG4gKiAgIDwvaW9uLWNvbnRlbnQ+XG4gKiA8L3ZhbC1yZWZyZXNoZXI+XG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gQ29uIGluZGljYWRvciBwZXJzb25hbGl6YWRvIC0tPlxuICogPHZhbC1yZWZyZXNoZXIgW3Byb3BzXT1cInsgY29sb3I6ICdwcmltYXJ5JyB9XCIgKHJlZnJlc2gpPVwib25SZWZyZXNoKCRldmVudClcIj5cbiAqICAgPG5nLXRlbXBsYXRlICNwdWxsaW5nSW5kaWNhdG9yIGxldC1wcm9ncmVzcz1cInByb2dyZXNzXCI+XG4gKiAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1pbmRpY2F0b3JcIj5cbiAqICAgICAgIDxpb24taWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIFtzdHlsZS50cmFuc2Zvcm1dPVwiJ3JvdGF0ZSgnICsgcHJvZ3Jlc3MgKiAxODAgKyAnZGVnKSdcIj48L2lvbi1pY29uPlxuICogICAgIDwvZGl2PlxuICogICA8L25nLXRlbXBsYXRlPlxuICogICA8aW9uLWNvbnRlbnQ+Li4uPC9pb24tY29udGVudD5cbiAqIDwvdmFsLXJlZnJlc2hlcj5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJlZnJlc2hlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvblJlZnJlc2hlciwgSW9uUmVmcmVzaGVyQ29udGVudCwgSW9uU3Bpbm5lciwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1yZWZyZXNoZXJcbiAgICAgICNyZWZyZXNoZXJcbiAgICAgIHNsb3Q9XCJmaXhlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwibWVyZ2VkUHJvcHMuZGlzYWJsZWRcIlxuICAgICAgW3B1bGxNaW5dPVwibWVyZ2VkUHJvcHMucHVsbFRocmVzaG9sZFwiXG4gICAgICBbcHVsbE1heF09XCJtZXJnZWRQcm9wcy5wdWxsTWF4XCJcbiAgICAgIFtwdWxsRmFjdG9yXT1cIm1lcmdlZFByb3BzLnB1bGxGYWN0b3JcIlxuICAgICAgW3NuYXBiYWNrRHVyYXRpb25dPVwibWVyZ2VkUHJvcHMuc25hcGJhY2tEdXJhdGlvblwiXG4gICAgICBbY2xvc2VEdXJhdGlvbl09XCJtZXJnZWRQcm9wcy5jbG9zZUR1cmF0aW9uXCJcbiAgICAgIChpb25SZWZyZXNoKT1cIm9uSW9uUmVmcmVzaCgkZXZlbnQpXCJcbiAgICAgIChpb25QdWxsKT1cIm9uSW9uUHVsbCgkZXZlbnQpXCJcbiAgICAgIChpb25TdGFydCk9XCJvbklvblN0YXJ0KClcIlxuICAgID5cbiAgICAgIEBpZiAoaGFzQ3VzdG9tSW5kaWNhdG9yKSB7XG4gICAgICAgIDwhLS0gQ3VzdG9tIGluZGljYXRvciB0ZW1wbGF0ZXMgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWZyZXNoZXItY3VzdG9tLWNvbnRlbnRcIj5cbiAgICAgICAgICBAc3dpdGNoIChzdGF0ZSgpKSB7XG4gICAgICAgICAgICBAY2FzZSAoJ3B1bGxpbmcnKSB7XG4gICAgICAgICAgICAgIEBpZiAocHVsbGluZ0luZGljYXRvcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicHVsbGluZ0luZGljYXRvcjsgY29udGV4dDogeyBwcm9ncmVzczogcHVsbFByb2dyZXNzKCkgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoJ3JlZnJlc2hpbmcnKSB7XG4gICAgICAgICAgICAgIEBpZiAocmVmcmVzaGluZ0luZGljYXRvcikge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWZyZXNoaW5nSW5kaWNhdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBbbmFtZV09XCJtZXJnZWRQcm9wcy5zcGlubmVyVHlwZVwiIFtjb2xvcl09XCJtZXJnZWRQcm9wcy5jb2xvclwiPjwvaW9uLXNwaW5uZXI+XG4gICAgICAgICAgICAgICAgQGlmIChtZXJnZWRQcm9wcy5yZWZyZXNoaW5nVGV4dCkge1xuICAgICAgICAgICAgICAgICAgPGlvbi10ZXh0IFtjb2xvcl09XCJtZXJnZWRQcm9wcy5jb2xvclwiPnt7IG1lcmdlZFByb3BzLnJlZnJlc2hpbmdUZXh0IH19PC9pb24tdGV4dD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnY29tcGxldGluZycpIHtcbiAgICAgICAgICAgICAgQGlmIChjb21wbGV0aW5nSW5kaWNhdG9yKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRpbmdJbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPCEtLSBEZWZhdWx0IElvbmljIHJlZnJlc2hlciBjb250ZW50IC0tPlxuICAgICAgICA8aW9uLXJlZnJlc2hlci1jb250ZW50XG4gICAgICAgICAgW3B1bGxpbmdJY29uXT1cIm1lcmdlZFByb3BzLnNwaW5uZXJUeXBlID09PSAnY3Jlc2NlbnQnID8gJ2NoZXZyb24tZG93bi1jaXJjbGUtb3V0bGluZScgOiB1bmRlZmluZWRcIlxuICAgICAgICAgIFtwdWxsaW5nVGV4dF09XCJtZXJnZWRQcm9wcy5wdWxsaW5nVGV4dFwiXG4gICAgICAgICAgW3JlZnJlc2hpbmdTcGlubmVyXT1cIm1lcmdlZFByb3BzLnNwaW5uZXJUeXBlXCJcbiAgICAgICAgICBbcmVmcmVzaGluZ1RleHRdPVwibWVyZ2VkUHJvcHMucmVmcmVzaGluZ1RleHRcIlxuICAgICAgICA+PC9pb24tcmVmcmVzaGVyLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9pb24tcmVmcmVzaGVyPlxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIC5yZWZyZXNoZXItY3VzdG9tLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVmcmVzaGVyQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgncmVmcmVzaGVyJykgaW9uUmVmcmVzaGVyITogSW9uUmVmcmVzaGVyO1xuXG4gIC8qKiBUZW1wbGF0ZXMgcGVyc29uYWxpemFkb3MgdmlhIGNvbnRlbnQgcHJvamVjdGlvbiAqL1xuICBAQ29udGVudENoaWxkKCdwdWxsaW5nSW5kaWNhdG9yJykgcHVsbGluZ0luZGljYXRvcj86IFRlbXBsYXRlUmVmPHsgcHJvZ3Jlc3M6IG51bWJlciB9PjtcbiAgQENvbnRlbnRDaGlsZCgncmVmcmVzaGluZ0luZGljYXRvcicpIHJlZnJlc2hpbmdJbmRpY2F0b3I/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQENvbnRlbnRDaGlsZCgnY29tcGxldGluZ0luZGljYXRvcicpIGNvbXBsZXRpbmdJbmRpY2F0b3I/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAvKiogQ29uZmlndXJhY2lvbiBkZWwgcmVmcmVzaGVyICovXG4gIEBJbnB1dCgpIHByb3BzOiBSZWZyZXNoZXJNZXRhZGF0YSA9IHt9O1xuXG4gIC8qKiBFdmVudG8gZW1pdGlkbyBjdWFuZG8gc2UgYWN0aXZhIGVsIHJlZnJlc2ggKi9cbiAgQE91dHB1dCgpIHJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyPFJlZnJlc2hFdmVudD4oKTtcblxuICAvKiogRXZlbnRvIGRlIHByb2dyZXNvIGR1cmFudGUgZWwgcHVsbCAqL1xuICBAT3V0cHV0KCkgcHVsbFByb2dyZXNzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWZyZXNoUHVsbEV2ZW50PigpO1xuXG4gIC8qKiBFdmVudG8gZGUgY2FtYmlvIGRlIGVzdGFkbyAqL1xuICBAT3V0cHV0KCkgc3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlZnJlc2hlclN0YXRlPigpO1xuXG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqIEVzdGFkbyBhY3R1YWwgZGVsIHJlZnJlc2hlciAqL1xuICByZWFkb25seSBzdGF0ZSA9IHNpZ25hbDxSZWZyZXNoZXJTdGF0ZT4oJ2lkbGUnKTtcblxuICAvKiogUHJvZ3Jlc28gYWN0dWFsIGRlbCBwdWxsICgwLTEpICovXG4gIHJlYWRvbmx5IHB1bGxQcm9ncmVzcyA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG4gIC8qKiBHZXQgcHVsbGluZyB0ZXh0IHdpdGggaTE4biBmYWxsYmFjayAqL1xuICBnZXRQdWxsaW5nVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnB1bGxpbmdUZXh0IHx8IHRoaXMuaTE4bi50KCdwdWxsVG9SZWZyZXNoJyk7XG4gIH1cblxuICAvKiogR2V0IHJlZnJlc2hpbmcgdGV4dCB3aXRoIGkxOG4gZmFsbGJhY2sgKi9cbiAgZ2V0UmVmcmVzaGluZ1RleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZWZyZXNoaW5nVGV4dCB8fCB0aGlzLmkxOG4udCgnbG9hZGluZycpO1xuICB9XG5cbiAgLyoqIFByb3BzIGNvbWJpbmFkb3MgY29uIGRlZmF1bHRzICovXG4gIGdldCBtZXJnZWRQcm9wcygpOiBSZWZyZXNoZXJNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkRFRkFVTFRfUkVGUkVTSEVSX01FVEFEQVRBLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgIHB1bGxpbmdUZXh0OiB0aGlzLmdldFB1bGxpbmdUZXh0KCksXG4gICAgICByZWZyZXNoaW5nVGV4dDogdGhpcy5nZXRSZWZyZXNoaW5nVGV4dCgpLFxuICAgIH07XG4gIH1cblxuICAvKiogU2kgaGF5IGluZGljYWRvcmVzIHBlcnNvbmFsaXphZG9zICovXG4gIGdldCBoYXNDdXN0b21JbmRpY2F0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdGhpcy5wdWxsaW5nSW5kaWNhdG9yIHx8XG4gICAgICB0aGlzLnJlZnJlc2hpbmdJbmRpY2F0b3IgfHxcbiAgICAgIHRoaXMuY29tcGxldGluZ0luZGljYXRvciB8fFxuICAgICAgdGhpcy5wcm9wcy5pbmRpY2F0b3JDb25maWdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YSBwcm9ncmFtYXRpY2FtZW50ZSBlbCByZWZyZXNoLlxuICAgKi9cbiAgdHJpZ2dlclJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS5zZXQoJ3JlZnJlc2hpbmcnKTtcbiAgICB0aGlzLmVtaXRSZWZyZXNoRXZlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wbGV0YSBsYSBvcGVyYWNpb24gZGUgcmVmcmVzaCBhY3R1YWwuXG4gICAqL1xuICBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnNldCgnY29tcGxldGluZycpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgnY29tcGxldGluZycpO1xuICAgIHRoaXMuaW9uUmVmcmVzaGVyPy5jb21wbGV0ZSgpO1xuXG4gICAgLy8gUmVzZXRlYXIgYSBpZGxlIGRlc3B1ZXMgZGUgbGEgYW5pbWFjaW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN0YXRlLnNldCgnaWRsZScpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KCdpZGxlJyk7XG4gICAgfSwgdGhpcy5tZXJnZWRQcm9wcy5jbG9zZUR1cmF0aW9uID8/IDI4MCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VsYSBsYSBvcGVyYWNpb24gZGUgcmVmcmVzaCBhY3R1YWwuXG4gICAqL1xuICBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pb25SZWZyZXNoZXI/LmNhbmNlbCgpO1xuICAgIHRoaXMuc3RhdGUuc2V0KCdpZGxlJyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KCdpZGxlJyk7XG4gIH1cblxuICAvKiogSGFuZGxlciBwYXJhIGV2ZW50byBpb25SZWZyZXNoICovXG4gIG9uSW9uUmVmcmVzaChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnNldCgncmVmcmVzaGluZycpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCgncmVmcmVzaGluZycpO1xuICAgIHRoaXMuZW1pdFJlZnJlc2hFdmVudCgpO1xuICB9XG5cbiAgLyoqIEhhbmRsZXIgcGFyYSBldmVudG8gaW9uUHVsbCAqL1xuICBvbklvblB1bGwoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZGV0YWlsID0gZXZlbnQuZGV0YWlsO1xuICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4oZGV0YWlsLnByb2dyZXNzLCAxKTtcbiAgICB0aGlzLnB1bGxQcm9ncmVzcy5zZXQocHJvZ3Jlc3MpO1xuXG4gICAgdGhpcy5wdWxsUHJvZ3Jlc3NDaGFuZ2UuZW1pdCh7XG4gICAgICBwcm9ncmVzcyxcbiAgICAgIHRocmVzaG9sZFJlYWNoZWQ6IHByb2dyZXNzID49IDEsXG4gICAgfSk7XG4gIH1cblxuICAvKiogSGFuZGxlciBwYXJhIGV2ZW50byBpb25TdGFydCAqL1xuICBvbklvblN0YXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUuc2V0KCdwdWxsaW5nJyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KCdwdWxsaW5nJyk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRSZWZyZXNoRXZlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnQ6IFJlZnJlc2hFdmVudCA9IHtcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLmNvbXBsZXRlKCksXG4gICAgICBjYW5jZWw6ICgpID0+IHRoaXMuY2FuY2VsKCksXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gICAgfTtcbiAgICB0aGlzLnJlZnJlc2guZW1pdChldmVudCk7XG4gIH1cbn1cbiJdfQ==