valtech-components 2.0.836 → 2.0.838

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.
@@ -57,6 +57,8 @@ export class PhoneInputComponent {
57
57
  this.internalNumberControl = new FormControl('');
58
58
  this.valueSubscription = null;
59
59
  this.isInternalUpdate = false;
60
+ /** Último valor del control externo ya reflejado en el input. */
61
+ this.lastSyncedValue = null;
60
62
  }
61
63
  ngOnInit() {
62
64
  this.resolveProps();
@@ -68,6 +70,20 @@ export class PhoneInputComponent {
68
70
  this.setupComponent();
69
71
  }
70
72
  }
73
+ /**
74
+ * Refleja cambios del control externo que NO emiten `valueChanges` — p. ej.
75
+ * `patchValue(..., { emitEvent: false })` en una carga programática de datos.
76
+ * Sin esto el input quedaría vacío tras un `patchValue` silencioso.
77
+ */
78
+ ngDoCheck() {
79
+ const value = this.resolvedProps.control?.value ?? null;
80
+ if (value !== this.lastSyncedValue && !this.isInternalUpdate) {
81
+ this.lastSyncedValue = value;
82
+ if (value) {
83
+ this.parsePhoneNumber(value);
84
+ }
85
+ }
86
+ }
71
87
  ngOnDestroy() {
72
88
  this.valueSubscription?.unsubscribe();
73
89
  }
@@ -95,6 +111,7 @@ export class PhoneInputComponent {
95
111
  this.internalNumberControl = this.resolvedProps.numberControl;
96
112
  }
97
113
  // Parse initial value from main control
114
+ this.lastSyncedValue = this.resolvedProps.control?.value ?? null;
98
115
  if (this.resolvedProps.control?.value) {
99
116
  this.parsePhoneNumber(this.resolvedProps.control.value);
100
117
  }
@@ -207,6 +224,8 @@ export class PhoneInputComponent {
207
224
  this.isInternalUpdate = true;
208
225
  this.resolvedProps.control?.setValue(fullNumber);
209
226
  this.isInternalUpdate = false;
227
+ // Evita que ngDoCheck re-parsee un cambio originado aquí mismo.
228
+ this.lastSyncedValue = fullNumber;
210
229
  // Emit change event
211
230
  const digitsOnly = number.replace(/\D/g, '');
212
231
  const isValid = this.validateNumber(digitsOnly);
@@ -362,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
362
381
  }], phoneChange: [{
363
382
  type: Output
364
383
  }] } });
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUEwRCxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXZHLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFvRTlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFoR2hDO1FBaUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFXeEM7O1dBRUc7UUFDTSxVQUFLLEdBQWdDLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNILGtCQUFhLEdBQXVCLEVBQXdC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QUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUOzhCQTJDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uLCBJb25Ob3RlLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFBob25lSW5wdXRNZXRhZGF0YSwgUGhvbmVJbnB1dENoYW5nZUV2ZW50LCBDb3VudHJ5Q29kZSwgQ09NTU9OX0NPVU5UUllfQ09ERVMgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYWxsT3V0bGluZSwgY2hldnJvbkRvd25PdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGhvbmUtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiwgSW9uTm90ZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInBob25lLWlucHV0LWNvbnRhaW5lclwiIFtjbGFzc109XCJyZXNvbHZlZFByb3BzLmNzc0NsYXNzXCIgW2NsYXNzLmhhcy1lcnJvcl09XCJoYXNFcnJvclwiPlxuICAgICAgQGlmIChyZXNvbHZlZFByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInBob25lLWxhYmVsXCI+e3sgZ2V0TGFiZWwoKSB9fTwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiPlxuICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0NvdW50cnlTZWxlY3RvciAhPT0gZmFsc2UpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRyeS1zZWxlY3RvclwiPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ291bnRyeUNvbnRyb2xcIlxuICAgICAgICAgICAgICBpbnRlcmZhY2U9XCJwb3BvdmVyXCJcbiAgICAgICAgICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwieyBjc3NDbGFzczogJ2NvdW50cnktc2VsZWN0LXBvcG92ZXInIH1cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJvbkNvdW50cnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBmb3IgKGNvdW50cnkgb2YgZ2V0Q291bnRyeUxpc3QoKTsgdHJhY2sgY291bnRyeS5jb2RlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJjb3VudHJ5LmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5zaG93RmxhZyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGFnXCI+e3sgY291bnRyeS5mbGFnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgY291bnRyeS5kaWFsQ29kZSB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWwtY29kZS1kaXNwbGF5XCI+XG4gICAgICAgICAgICB7eyBnZXRTZWxlY3RlZENvdW50cnkoKT8uZGlhbENvZGUgfHwgJysxJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlci1pbnB1dFwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsbC1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJwaG9uZS1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwidGVsXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbE51bWJlckNvbnRyb2xcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkcgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cInJlc29sdmVkUHJvcHMubWF4RGlnaXRzIHx8IDE1XCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbk51bWJlcklucHV0TmF0aXZlKCRldmVudClcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJwaG9uZS1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiByZXNvbHZlZFByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1waG9uZS1pbnB1dFxuICpcbiAqIEEgcGhvbmUgbnVtYmVyIGlucHV0IHdpdGggY291bnRyeSBjb2RlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXBob25lLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogcGhvbmVDb250cm9sLFxuICogICAgIHBsYWNlaG9sZGVyOiAnUGhvbmUgbnVtYmVyJyxcbiAqICAgICBkZWZhdWx0Q291bnRyeTogJ01YJ1xuICogICB9XCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIGNvdW50cmllc1xuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1Bob25lJyxcbiAqICAgICBjb3VudHJ5Q29kZXM6IG15Q291bnRyeUNvZGVzLFxuICogICAgIHByZWZlcnJlZENvdW50cmllczogWydNWCcsICdVUycsICdFUyddLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChwaG9uZUNoYW5nZSk9XCJvblBob25lQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLXBob25lLWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUHJlc2V0IG5hbWUgdG8gYXBwbHkuIFByZXNldHMgZGVmaW5lIHJldXNhYmxlIHBob25lIGlucHV0IGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZhbC1waG9uZS1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cInsgY29udHJvbDogY3RybCB9XCI+PC92YWwtcGhvbmUtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIGlucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8UGhvbmVJbnB1dE1ldGFkYXRhPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBwcm9wcyBhZnRlciBtZXJnaW5nIHByZXNldCArIGV4cGxpY2l0IHByb3BzLlxuICAgKi9cbiAgcmVzb2x2ZWRQcm9wczogUGhvbmVJbnB1dE1ldGFkYXRhID0ge30gYXMgUGhvbmVJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBwaG9uZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGhvbmVJbnB1dENoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBpbnRlcm5hbENvdW50cnlDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuICBpbnRlcm5hbE51bWJlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG5cbiAgcHJpdmF0ZSB2YWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgncGhvbmVJbnB1dCcsIHRoaXMucHJlc2V0KSBhcyBQYXJ0aWFsPFBob25lSW5wdXRNZXRhZGF0YT4pIDoge307XG5cbiAgICB0aGlzLnJlc29sdmVkUHJvcHMgPSB7XG4gICAgICAuLi5wcmVzZXRQcm9wcyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfSBhcyBQaG9uZUlucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIC8vIFNldCBkZWZhdWx0IGNvdW50cnkg4oCUIGZhbGxiYWNrIENoaWxlIChtZXJjYWRvIHByaW1hcmlvIGRlbCBmYWN0b3J5IFZhbHRlY2gpLlxuICAgIC8vIEN1YWxxdWllciBjb25zdW1lciBwdWVkZSBzb2JyZXNjcmliaXIgdmlhIGBwcm9wcy5kZWZhdWx0Q291bnRyeWAuXG4gICAgY29uc3QgZGVmYXVsdENvdW50cnkgPSB0aGlzLnJlc29sdmVkUHJvcHMuZGVmYXVsdENvdW50cnkgfHwgJ0NMJztcbiAgICB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdENvdW50cnkpO1xuXG4gICAgLy8gU3luYyB3aXRoIGV4dGVybmFsIGNvbnRyb2xzIGlmIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29udHJvbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb250cm9sO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sID0gdGhpcy5yZXNvbHZlZFByb3BzLm51bWJlckNvbnRyb2w7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgaW5pdGlhbCB2YWx1ZSBmcm9tIG1haW4gY29udHJvbFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcih0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbC52YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG1haW4gY29udHJvbCBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLmlzSW50ZXJuYWxVcGRhdGUpIHtcbiAgICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KSB8fCBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVBob25lTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICAvLyBUcnkgdG8gZXh0cmFjdCBjb3VudHJ5IGNvZGVcbiAgICBjb25zdCBjb3VudHJpZXMgPSB0aGlzLmdldENvdW50cnlMaXN0KCk7XG4gICAgZm9yIChjb25zdCBjb3VudHJ5IG9mIGNvdW50cmllcykge1xuICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoY291bnRyeS5kaWFsQ29kZSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnNldFZhbHVlKGNvdW50cnkuY29kZSk7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlLnN1YnN0cmluZyhjb3VudHJ5LmRpYWxDb2RlLmxlbmd0aCkudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIGNvdW50cnkgY29kZSBmb3VuZCwganVzdCBzZXQgdGhlIG51bWJlclxuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgLy8gVXNlIGZvcm1hdCBmcm9tIHNlbGVjdGVkIGNvdW50cnkgaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KCk7XG4gICAgaWYgKGNvdW50cnk/LmZvcm1hdCAmJiAhdGhpcy5yZXNvbHZlZFByb3BzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gY291bnRyeS5mb3JtYXQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cblxuICBnZXRIaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5oaW50IHx8ICcnO1xuICB9XG5cbiAgZ2V0Q291bnRyeUxpc3QoKTogQ291bnRyeUNvZGVbXSB7XG4gICAgY29uc3QgY291bnRyaWVzID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb2RlcyB8fCBDT01NT05fQ09VTlRSWV9DT0RFUztcblxuICAgIC8vIFNvcnQgYnkgcHJlZmVycmVkIGNvdW50cmllcyBmaXJzdFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMucHJlZmVycmVkQ291bnRyaWVzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHByZWZlcnJlZCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5wcmVmZXJyZWRDb3VudHJpZXM7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb3VudHJpZXMuZmlsdGVyKGMgPT4gcHJlZmVycmVkLmluY2x1ZGVzKGMuY29kZSkpLFxuICAgICAgICAuLi5jb3VudHJpZXMuZmlsdGVyKGMgPT4gIXByZWZlcnJlZC5pbmNsdWRlcyhjLmNvZGUpKSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvdW50cmllcztcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeSgpOiBDb3VudHJ5Q29kZSB8IG51bGwge1xuICAgIGNvbnN0IGNvZGUgPSB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wudmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q291bnRyeUxpc3QoKS5maW5kKGMgPT4gYy5jb2RlID09PSBjb2RlKSB8fCBudWxsO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uaW52YWxpZCk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5lcnJvcnMgfHwgIXRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbC5lcnJvcnMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGVycm9yS2V5cykge1xuICAgICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnNba2V5XSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG9uQ291bnRyeUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0KGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIC8vIEZpbHRlciBub24tbnVtZXJpYyBjaGFyYWN0ZXJzIGV4Y2VwdCBzcGFjZXMgYW5kIGRhc2hlc1xuICAgIGxldCB2YWx1ZSA9IChldmVudC5kZXRhaWwudmFsdWUgfHwgJycpLnJlcGxhY2UoL1teXFxkXFxzXFwtXS9nLCAnJyk7XG5cbiAgICAvLyBBcHBseSBtYXggZGlnaXRzIGxpbWl0XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgIGNvbnN0IGRpZ2l0c09ubHkgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgaWYgKGRpZ2l0c09ubHkubGVuZ3RoID4gdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgICB2YWx1ZSA9IGRpZ2l0c09ubHkuc3Vic3RyaW5nKDAsIHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0TmF0aXZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgLy8gRmlsdGVyIG5vbi1udW1lcmljIGNoYXJhY3RlcnMgZXhjZXB0IHNwYWNlcyBhbmQgZGFzaGVzXG4gICAgbGV0IHZhbHVlID0gKGlucHV0LnZhbHVlIHx8ICcnKS5yZXBsYWNlKC9bXlxcZFxcc1xcLV0vZywgJycpO1xuXG4gICAgLy8gQXBwbHkgbWF4IGRpZ2l0cyBsaW1pdFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICBjb25zdCBkaWdpdHNPbmx5ID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICAgIGlmIChkaWdpdHNPbmx5Lmxlbmd0aCA+IHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgICAgdmFsdWUgPSBkaWdpdHNPbmx5LnN1YnN0cmluZygwLCB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1haW5Db250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpO1xuICAgIGNvbnN0IG51bWJlciA9IHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnZhbHVlIHx8ICcnO1xuICAgIGNvbnN0IGZ1bGxOdW1iZXIgPSBjb3VudHJ5ID8gYCR7Y291bnRyeS5kaWFsQ29kZX0ke251bWJlcn1gIDogbnVtYmVyO1xuXG4gICAgdGhpcy5pc0ludGVybmFsVXBkYXRlID0gdHJ1ZTtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uc2V0VmFsdWUoZnVsbE51bWJlcik7XG4gICAgdGhpcy5pc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG5cbiAgICAvLyBFbWl0IGNoYW5nZSBldmVudFxuICAgIGNvbnN0IGRpZ2l0c09ubHkgPSBudW1iZXIucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy52YWxpZGF0ZU51bWJlcihkaWdpdHNPbmx5KTtcblxuICAgIHRoaXMucGhvbmVDaGFuZ2UuZW1pdCh7XG4gICAgICBmdWxsTnVtYmVyLFxuICAgICAgbnVtYmVyLFxuICAgICAgY291bnRyeSxcbiAgICAgIGlzVmFsaWQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlTnVtYmVyKGRpZ2l0c09ubHk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubWluRGlnaXRzICYmIGRpZ2l0c09ubHkubGVuZ3RoIDwgdGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyAmJiBkaWdpdHNPbmx5Lmxlbmd0aCA+IHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuKSB7XG4gICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAodGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4pO1xuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZGlnaXRzT25seSk7XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IGF0IGxlYXN0IDcgZGlnaXRzXG4gICAgcmV0dXJuIGRpZ2l0c09ubHkubGVuZ3RoID49IDc7XG4gIH1cbn1cbiJdfQ==
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9waG9uZS1pbnB1dC9waG9uZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUEwRCxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXZHLFFBQVEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFvRTlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFoR2hDO1FBaUdVLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFXeEM7O1dBRUc7UUFDTSxVQUFLLEdBQWdDLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNILGtCQUFhLEdBQXVCLEVBQXdC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QztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsNkJBQTZCO1FBQzdCLE9BQU8sVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0FsUVUsbUJBQW1CO21HQUFuQixtQkFBbUIsdUxBNUZwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyRFQsbWpGQTVEUyxZQUFZLDhCQUFFLG1CQUFtQiwwa0JBQUUsU0FBUyxrVkFBRSxlQUFlLDZGQUFFLE9BQU8sZ0ZBQUUsT0FBTzs7NEZBNkY5RSxtQkFBbUI7a0JBaEcvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkRUOzhCQTJDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvblNlbGVjdCwgSW9uU2VsZWN0T3B0aW9uLCBJb25Ob3RlLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHsgY2FsbE91dGxpbmUsIGNoZXZyb25Eb3duT3V0bGluZSB9IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFBob25lSW5wdXRNZXRhZGF0YSwgUGhvbmVJbnB1dENoYW5nZUV2ZW50LCBDb3VudHJ5Q29kZSwgQ09NTU9OX0NPVU5UUllfQ09ERVMgfSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoeyBjYWxsT3V0bGluZSwgY2hldnJvbkRvd25PdXRsaW5lIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcGhvbmUtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiwgSW9uTm90ZSwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInBob25lLWlucHV0LWNvbnRhaW5lclwiIFtjbGFzc109XCJyZXNvbHZlZFByb3BzLmNzc0NsYXNzXCIgW2NsYXNzLmhhcy1lcnJvcl09XCJoYXNFcnJvclwiPlxuICAgICAgQGlmIChyZXNvbHZlZFByb3BzLmxhYmVsKSB7XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cInBob25lLWxhYmVsXCI+e3sgZ2V0TGFiZWwoKSB9fTwvbGFiZWw+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZS1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLmRpc2FibGVkXT1cInJlc29sdmVkUHJvcHMuc3RhdGUgPT09IHN0YXRlcy5ESVNBQkxFRFwiPlxuICAgICAgICBAaWYgKHJlc29sdmVkUHJvcHMuc2hvd0NvdW50cnlTZWxlY3RvciAhPT0gZmFsc2UpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRyeS1zZWxlY3RvclwiPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImludGVybmFsQ291bnRyeUNvbnRyb2xcIlxuICAgICAgICAgICAgICBpbnRlcmZhY2U9XCJwb3BvdmVyXCJcbiAgICAgICAgICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwieyBjc3NDbGFzczogJ2NvdW50cnktc2VsZWN0LXBvcG92ZXInIH1cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJvbkNvdW50cnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBmb3IgKGNvdW50cnkgb2YgZ2V0Q291bnRyeUxpc3QoKTsgdHJhY2sgY291bnRyeS5jb2RlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJjb3VudHJ5LmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5zaG93RmxhZyAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGFnXCI+e3sgY291bnRyeS5mbGFnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgY291bnRyeS5kaWFsQ29kZSB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWwtY29kZS1kaXNwbGF5XCI+XG4gICAgICAgICAgICB7eyBnZXRTZWxlY3RlZENvdW50cnkoKT8uZGlhbENvZGUgfHwgJysxJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm51bWJlci1pbnB1dFwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FsbC1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJwaG9uZS1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZWxcIlxuICAgICAgICAgICAgaW5wdXRtb2RlPVwidGVsXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbE51bWJlckNvbnRyb2xcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVzb2x2ZWRQcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkcgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbbWF4TGVuZ3RoXT1cInJlc29sdmVkUHJvcHMubWF4RGlnaXRzIHx8IDE1XCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbk51bWJlcklucHV0TmF0aXZlKCRldmVudClcIlxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJwaG9uZS1uYXRpdmUtaW5wdXRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRQcm9wcy5oaW50ICYmICFoYXNFcnJvcikge1xuICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJoaW50XCI+e3sgZ2V0SGludCgpIH19PC9pb24tbm90ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChoYXNFcnJvciAmJiByZXNvbHZlZFByb3BzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgPGlvbi1ub3RlIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgICAgICAge3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX1cbiAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1waG9uZS1pbnB1dFxuICpcbiAqIEEgcGhvbmUgbnVtYmVyIGlucHV0IHdpdGggY291bnRyeSBjb2RlIHNlbGVjdG9yLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXBob25lLWlucHV0XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgY29udHJvbDogcGhvbmVDb250cm9sLFxuICogICAgIHBsYWNlaG9sZGVyOiAnUGhvbmUgbnVtYmVyJyxcbiAqICAgICBkZWZhdWx0Q291bnRyeTogJ01YJ1xuICogICB9XCJcbiAqID48L3ZhbC1waG9uZS1pbnB1dD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggY3VzdG9tIGNvdW50cmllc1xuICogYGBgaHRtbFxuICogPHZhbC1waG9uZS1pbnB1dFxuICogICBbcHJvcHNdPVwie1xuICogICAgIGNvbnRyb2w6IHBob25lQ29udHJvbCxcbiAqICAgICBsYWJlbDogJ1Bob25lJyxcbiAqICAgICBjb3VudHJ5Q29kZXM6IG15Q291bnRyeUNvZGVzLFxuICogICAgIHByZWZlcnJlZENvdW50cmllczogWydNWCcsICdVUycsICdFUyddLFxuICogICAgIHNob3dFcnJvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChwaG9uZUNoYW5nZSk9XCJvblBob25lQ2hhbmdlKCRldmVudClcIlxuICogPjwvdmFsLXBob25lLWlucHV0PlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBQaG9uZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjayB7XG4gIHByaXZhdGUgcHJlc2V0cyA9IGluamVjdChQcmVzZXRTZXJ2aWNlKTtcblxuICAvKipcbiAgICogUHJlc2V0IG5hbWUgdG8gYXBwbHkuIFByZXNldHMgZGVmaW5lIHJldXNhYmxlIHBob25lIGlucHV0IGNvbmZpZ3VyYXRpb25zXG4gICAqIHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgYXBwIGxldmVsIHZpYSBwcm92aWRlVmFsdGVjaFByZXNldHMoKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHZhbC1waG9uZS1pbnB1dCBwcmVzZXQ9XCJmb3JtLWZpZWxkXCIgW3Byb3BzXT1cInsgY29udHJvbDogY3RybCB9XCI+PC92YWwtcGhvbmUtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBob25lIGlucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8UGhvbmVJbnB1dE1ldGFkYXRhPiA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBwcm9wcyBhZnRlciBtZXJnaW5nIHByZXNldCArIGV4cGxpY2l0IHByb3BzLlxuICAgKi9cbiAgcmVzb2x2ZWRQcm9wczogUGhvbmVJbnB1dE1ldGFkYXRhID0ge30gYXMgUGhvbmVJbnB1dE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBwaG9uZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGhvbmVJbnB1dENoYW5nZUV2ZW50PigpO1xuXG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICBpbnRlcm5hbENvdW50cnlDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuICBpbnRlcm5hbE51bWJlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG5cbiAgcHJpdmF0ZSB2YWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaXNJbnRlcm5hbFVwZGF0ZSA9IGZhbHNlO1xuICAvKiogw5psdGltbyB2YWxvciBkZWwgY29udHJvbCBleHRlcm5vIHlhIHJlZmxlamFkbyBlbiBlbCBpbnB1dC4gKi9cbiAgcHJpdmF0ZSBsYXN0U3luY2VkVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZVByb3BzKCk7XG4gICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcmVzZXQnXSB8fCBjaGFuZ2VzWydwcm9wcyddKSB7XG4gICAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZsZWphIGNhbWJpb3MgZGVsIGNvbnRyb2wgZXh0ZXJubyBxdWUgTk8gZW1pdGVuIGB2YWx1ZUNoYW5nZXNgIOKAlCBwLiBlai5cbiAgICogYHBhdGNoVmFsdWUoLi4uLCB7IGVtaXRFdmVudDogZmFsc2UgfSlgIGVuIHVuYSBjYXJnYSBwcm9ncmFtw6F0aWNhIGRlIGRhdG9zLlxuICAgKiBTaW4gZXN0byBlbCBpbnB1dCBxdWVkYXLDrWEgdmFjw61vIHRyYXMgdW4gYHBhdGNoVmFsdWVgIHNpbGVuY2lvc28uXG4gICAqL1xuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udmFsdWUgPz8gbnVsbDtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMubGFzdFN5bmNlZFZhbHVlICYmICF0aGlzLmlzSW50ZXJuYWxVcGRhdGUpIHtcbiAgICAgIHRoaXMubGFzdFN5bmNlZFZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1lcmdlIHByZXNldCBjb25maWd1cmF0aW9uIHdpdGggZXhwbGljaXQgcHJvcHMuXG4gICAqIEV4cGxpY2l0IHByb3BzIHRha2UgcHJlY2VkZW5jZSBvdmVyIHByZXNldCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcm9wcygpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVzZXRQcm9wcyA9IHRoaXMucHJlc2V0ID8gKHRoaXMucHJlc2V0cy5nZXQoJ3Bob25lSW5wdXQnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxQaG9uZUlucHV0TWV0YWRhdGE+KSA6IHt9O1xuXG4gICAgdGhpcy5yZXNvbHZlZFByb3BzID0ge1xuICAgICAgLi4ucHJlc2V0UHJvcHMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgIH0gYXMgUGhvbmVJbnB1dE1ldGFkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAvLyBTZXQgZGVmYXVsdCBjb3VudHJ5IOKAlCBmYWxsYmFjayBDaGlsZSAobWVyY2FkbyBwcmltYXJpbyBkZWwgZmFjdG9yeSBWYWx0ZWNoKS5cbiAgICAvLyBDdWFscXVpZXIgY29uc3VtZXIgcHVlZGUgc29icmVzY3JpYmlyIHZpYSBgcHJvcHMuZGVmYXVsdENvdW50cnlgLlxuICAgIGNvbnN0IGRlZmF1bHRDb3VudHJ5ID0gdGhpcy5yZXNvbHZlZFByb3BzLmRlZmF1bHRDb3VudHJ5IHx8ICdDTCc7XG4gICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnNldFZhbHVlKGRlZmF1bHRDb3VudHJ5KTtcblxuICAgIC8vIFN5bmMgd2l0aCBleHRlcm5hbCBjb250cm9scyBpZiBwcm92aWRlZFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuY291bnRyeUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxDb3VudHJ5Q29udHJvbCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb3VudHJ5Q29udHJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5udW1iZXJDb250cm9sKSB7XG4gICAgICB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5udW1iZXJDb250cm9sO1xuICAgIH1cblxuICAgIC8vIFBhcnNlIGluaXRpYWwgdmFsdWUgZnJvbSBtYWluIGNvbnRyb2xcbiAgICB0aGlzLmxhc3RTeW5jZWRWYWx1ZSA9IHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZSA/PyBudWxsO1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udmFsdWUpIHtcbiAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcih0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbC52YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG1haW4gY29udHJvbCBjaGFuZ2VzXG4gICAgdGhpcy52YWx1ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnZhbHVlU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLmlzSW50ZXJuYWxVcGRhdGUpIHtcbiAgICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KSB8fCBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVBob25lTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICAvLyBUcnkgdG8gZXh0cmFjdCBjb3VudHJ5IGNvZGVcbiAgICBjb25zdCBjb3VudHJpZXMgPSB0aGlzLmdldENvdW50cnlMaXN0KCk7XG4gICAgZm9yIChjb25zdCBjb3VudHJ5IG9mIGNvdW50cmllcykge1xuICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoY291bnRyeS5kaWFsQ29kZSkpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbENvdW50cnlDb250cm9sLnNldFZhbHVlKGNvdW50cnkuY29kZSk7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlLnN1YnN0cmluZyhjb3VudHJ5LmRpYWxDb2RlLmxlbmd0aCkudHJpbSgpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIGNvdW50cnkgY29kZSBmb3VuZCwganVzdCBzZXQgdGhlIG51bWJlclxuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCAnJztcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgLy8gVXNlIGZvcm1hdCBmcm9tIHNlbGVjdGVkIGNvdW50cnkgaWYgYXZhaWxhYmxlXG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5KCk7XG4gICAgaWYgKGNvdW50cnk/LmZvcm1hdCAmJiAhdGhpcy5yZXNvbHZlZFByb3BzLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gY291bnRyeS5mb3JtYXQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cblxuICBnZXRIaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRQcm9wcy5oaW50IHx8ICcnO1xuICB9XG5cbiAgZ2V0Q291bnRyeUxpc3QoKTogQ291bnRyeUNvZGVbXSB7XG4gICAgY29uc3QgY291bnRyaWVzID0gdGhpcy5yZXNvbHZlZFByb3BzLmNvdW50cnlDb2RlcyB8fCBDT01NT05fQ09VTlRSWV9DT0RFUztcblxuICAgIC8vIFNvcnQgYnkgcHJlZmVycmVkIGNvdW50cmllcyBmaXJzdFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMucHJlZmVycmVkQ291bnRyaWVzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHByZWZlcnJlZCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5wcmVmZXJyZWRDb3VudHJpZXM7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb3VudHJpZXMuZmlsdGVyKGMgPT4gcHJlZmVycmVkLmluY2x1ZGVzKGMuY29kZSkpLFxuICAgICAgICAuLi5jb3VudHJpZXMuZmlsdGVyKGMgPT4gIXByZWZlcnJlZC5pbmNsdWRlcyhjLmNvZGUpKSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvdW50cmllcztcbiAgfVxuXG4gIGdldFNlbGVjdGVkQ291bnRyeSgpOiBDb3VudHJ5Q29kZSB8IG51bGwge1xuICAgIGNvbnN0IGNvZGUgPSB0aGlzLmludGVybmFsQ291bnRyeUNvbnRyb2wudmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q291bnRyeUxpc3QoKS5maW5kKGMgPT4gYy5jb2RlID09PSBjb2RlKSB8fCBudWxsO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8udG91Y2hlZCAmJiB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uaW52YWxpZCk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5lcnJvcnMgfHwgIXRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyh0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbC5lcnJvcnMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGVycm9yS2V5cykge1xuICAgICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5lcnJvcnNba2V5XSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFByb3BzLmVycm9yc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG9uQ291bnRyeUNoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0KGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIC8vIEZpbHRlciBub24tbnVtZXJpYyBjaGFyYWN0ZXJzIGV4Y2VwdCBzcGFjZXMgYW5kIGRhc2hlc1xuICAgIGxldCB2YWx1ZSA9IChldmVudC5kZXRhaWwudmFsdWUgfHwgJycpLnJlcGxhY2UoL1teXFxkXFxzXFwtXS9nLCAnJyk7XG5cbiAgICAvLyBBcHBseSBtYXggZGlnaXRzIGxpbWl0XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgIGNvbnN0IGRpZ2l0c09ubHkgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgaWYgKGRpZ2l0c09ubHkubGVuZ3RoID4gdGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cykge1xuICAgICAgICB2YWx1ZSA9IGRpZ2l0c09ubHkuc3Vic3RyaW5nKDAsIHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZU1haW5Db250cm9sKCk7XG4gIH1cblxuICBvbk51bWJlcklucHV0TmF0aXZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgLy8gRmlsdGVyIG5vbi1udW1lcmljIGNoYXJhY3RlcnMgZXhjZXB0IHNwYWNlcyBhbmQgZGFzaGVzXG4gICAgbGV0IHZhbHVlID0gKGlucHV0LnZhbHVlIHx8ICcnKS5yZXBsYWNlKC9bXlxcZFxcc1xcLV0vZywgJycpO1xuXG4gICAgLy8gQXBwbHkgbWF4IGRpZ2l0cyBsaW1pdFxuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKSB7XG4gICAgICBjb25zdCBkaWdpdHNPbmx5ID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICAgIGlmIChkaWdpdHNPbmx5Lmxlbmd0aCA+IHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgICAgdmFsdWUgPSBkaWdpdHNPbmx5LnN1YnN0cmluZygwLCB0aGlzLnJlc29sdmVkUHJvcHMubWF4RGlnaXRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmludGVybmFsTnVtYmVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVNYWluQ29udHJvbCgpO1xuICB9XG5cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZWRQcm9wcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1haW5Db250cm9sKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeSgpO1xuICAgIGNvbnN0IG51bWJlciA9IHRoaXMuaW50ZXJuYWxOdW1iZXJDb250cm9sLnZhbHVlIHx8ICcnO1xuICAgIGNvbnN0IGZ1bGxOdW1iZXIgPSBjb3VudHJ5ID8gYCR7Y291bnRyeS5kaWFsQ29kZX0ke251bWJlcn1gIDogbnVtYmVyO1xuXG4gICAgdGhpcy5pc0ludGVybmFsVXBkYXRlID0gdHJ1ZTtcbiAgICB0aGlzLnJlc29sdmVkUHJvcHMuY29udHJvbD8uc2V0VmFsdWUoZnVsbE51bWJlcik7XG4gICAgdGhpcy5pc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gICAgLy8gRXZpdGEgcXVlIG5nRG9DaGVjayByZS1wYXJzZWUgdW4gY2FtYmlvIG9yaWdpbmFkbyBhcXXDrSBtaXNtby5cbiAgICB0aGlzLmxhc3RTeW5jZWRWYWx1ZSA9IGZ1bGxOdW1iZXI7XG5cbiAgICAvLyBFbWl0IGNoYW5nZSBldmVudFxuICAgIGNvbnN0IGRpZ2l0c09ubHkgPSBudW1iZXIucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy52YWxpZGF0ZU51bWJlcihkaWdpdHNPbmx5KTtcblxuICAgIHRoaXMucGhvbmVDaGFuZ2UuZW1pdCh7XG4gICAgICBmdWxsTnVtYmVyLFxuICAgICAgbnVtYmVyLFxuICAgICAgY291bnRyeSxcbiAgICAgIGlzVmFsaWQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlTnVtYmVyKGRpZ2l0c09ubHk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHMubWluRGlnaXRzICYmIGRpZ2l0c09ubHkubGVuZ3RoIDwgdGhpcy5yZXNvbHZlZFByb3BzLm1pbkRpZ2l0cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXNvbHZlZFByb3BzLm1heERpZ2l0cyAmJiBkaWdpdHNPbmx5Lmxlbmd0aCA+IHRoaXMucmVzb2x2ZWRQcm9wcy5tYXhEaWdpdHMpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzb2x2ZWRQcm9wcy5wYXR0ZXJuKSB7XG4gICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAodGhpcy5yZXNvbHZlZFByb3BzLnBhdHRlcm4pO1xuICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZGlnaXRzT25seSk7XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IGF0IGxlYXN0IDcgZGlnaXRzXG4gICAgcmV0dXJuIGRpZ2l0c09ubHkubGVuZ3RoID49IDc7XG4gIH1cbn1cbiJdfQ==
@@ -74,7 +74,7 @@ export class CookieBannerComponent {
74
74
  </div>
75
75
 
76
76
  <div class="val-cookie-banner__actions">
77
- <ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
77
+ <ion-button fill="clear" size="small" [color]="props.rejectColor || 'dark'" (click)="reject.emit()">
78
78
  {{ props.rejectText }}
79
79
  </ion-button>
80
80
 
@@ -108,7 +108,7 @@ export class CookieBannerComponent {
108
108
  </div>
109
109
  </div>
110
110
  }
111
- `, isInline: true, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ `, isInline: true, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:color-mix(in srgb,var(--ion-background-color, #fff) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
112
  }
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieBannerComponent, decorators: [{
114
114
  type: Component,
@@ -150,7 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
150
150
  </div>
151
151
 
152
152
  <div class="val-cookie-banner__actions">
153
- <ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
153
+ <ion-button fill="clear" size="small" [color]="props.rejectColor || 'dark'" (click)="reject.emit()">
154
154
  {{ props.rejectText }}
155
155
  </ion-button>
156
156
 
@@ -184,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
184
184
  </div>
185
185
  </div>
186
186
  }
187
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"] }]
187
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:color-mix(in srgb,var(--ion-background-color, #fff) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"] }]
188
188
  }], ctorParameters: () => [], propDecorators: { props: [{
189
189
  type: Input
190
190
  }], accept: [{
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
196
196
  }], dismiss: [{
197
197
  type: Output
198
198
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzlDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQWlGSCxNQUFNLE9BQU8scUJBQXFCO0lBYWhDO1FBVEEsOERBQThEO1FBQ3BELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVDLGdFQUFnRTtRQUN0RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1Qyw0RUFBNEU7UUFDbEUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDL0MsdURBQXVEO1FBQzdDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNDLFFBQVEsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0FmVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzTUE1RXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQsa2tGQXpFUyxZQUFZLCtCQUFFLFVBQVUsb09BQUUsU0FBUyxvUEFBRSxPQUFPOzs0RkE2RTNDLHFCQUFxQjtrQkFoRmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUM3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUl0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksTUFBTTtzQkFBZixNQUFNO2dCQUVHLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjbG9zZU91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBDb29raWVCYW5uZXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIGB2YWwtY29va2llLWJhbm5lcmAg4oCUIGJvdHRvbS90b3AgZml4ZWQgYmFubmVyIGFza2luZyB0aGUgdXNlciB0byBjaG9vc2VcbiAqIGEgY29va2llIGNvbnNlbnQgb3B0aW9uLiBQcmVzZW50YXRpb25hbCBvbmx5OiBlbWl0cyBldmVudHMgb24gZWFjaFxuICogYWN0aW9uLCB0aGUgcGFyZW50IGRlY2lkZXMgd2hhdCB0byBkbyAodHlwaWNhbGx5IHdpcmluZyB0b1xuICogYEFuYWx5dGljc1NlcnZpY2VgIGZyb20gYHZhbHRlY2gtY29tcG9uZW50c2ApLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWNvb2tpZS1iYW5uZXJcbiAqICAgW3Byb3BzXT1cImJhbm5lclByb3BzKClcIlxuICogICAoYWNjZXB0KT1cIm9uQWNjZXB0KClcIlxuICogICAocmVqZWN0KT1cIm9uUmVqZWN0KClcIlxuICogICAoY3VzdG9taXplKT1cIm9uQ3VzdG9taXplKClcIlxuICogICAoZGlzbWlzcyk9XCJvbkRpc21pc3MoKVwiXG4gKiAvPlxuICpcbiAqIFdpcmUgYHByb3BzLnZpc2libGVgIHRvIGBhbmFseXRpY3MuY29uc2VudFN0YXRlKCkuaGFzRGVjaWRlZCA9PT0gZmFsc2VgXG4gKiBzbyB0aGUgYmFubmVyIGF1dG8taGlkZXMgb25jZSB0aGUgdXNlciBtYWtlcyBhIGNob2ljZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1iYW5uZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHM/LnZpc2libGUpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWwtY29va2llLWJhbm5lclwiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdG9wXT1cInByb3BzLnBvc2l0aW9uID09PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tYm90dG9tXT1cInByb3BzLnBvc2l0aW9uICE9PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdHJhbnNsdWNlbnRdPVwicHJvcHMudHJhbnNsdWNlbnRcIlxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgYXJpYS1tb2RhbD1cImZhbHNlXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19pbm5lclwiIFtzdHlsZS5tYXgtd2lkdGhdPVwicHJvcHMubWF4V2lkdGggfHwgJzEyMDBweCdcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmRpc21pc3NpYmxlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19kaXNtaXNzXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInZGlzbWlzcydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcy5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19jb3B5XCI+XG4gICAgICAgICAgICBAaWYgKHByb3BzLnRpdGxlKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAge3sgcHJvcHMubWVzc2FnZSB9fVxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnBvbGljeUxpbmtUZXh0ICYmIHByb3BzLnBvbGljeUhyZWYpIHtcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19wb2xpY3lcIiBbaHJlZl09XCJwcm9wcy5wb2xpY3lIcmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHByb3BzLnBvbGljeUxpbmtUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIFtjb2xvcl09XCJwcm9wcy5yZWplY3RDb2xvciB8fCAnbWVkaXVtJ1wiIChjbGljayk9XCJyZWplY3QuZW1pdCgpXCI+XG4gICAgICAgICAgICAgIHt7IHByb3BzLnJlamVjdFRleHQgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgQGlmIChwcm9wcy5jdXN0b21pemVUZXh0KSB7XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuY3VzdG9taXplUm91dGVyTGluaykge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmN1c3RvbWl6ZUNvbG9yIHx8ICdkYXJrJ1wiXG4gICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJwcm9wcy5jdXN0b21pemVSb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21pemUuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBwcm9wcy5jdXN0b21pemVUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jdXN0b21pemVDb2xvciB8fCAnZGFyaydcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1c3RvbWl6ZS5lbWl0KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHByb3BzLmN1c3RvbWl6ZVRleHQgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgc2l6ZT1cInNtYWxsXCIgW2NvbG9yXT1cInByb3BzLmFjY2VwdENvbG9yIHx8ICdwcmltYXJ5J1wiIChjbGljayk9XCJhY2NlcHQuZW1pdCgpXCI+XG4gICAgICAgICAgICAgIHt7IHByb3BzLmFjY2VwdFRleHQgfX1cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUJhbm5lckNvbXBvbmVudCB7XG4gIC8qKiBCYW5uZXIgY29uZmlndXJhdGlvbiBvYmplY3QuICovXG4gIEBJbnB1dCgpIHByb3BzITogQ29va2llQmFubmVyTWV0YWRhdGE7XG5cbiAgLyoqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBwcmltYXJ5IFwiYWNjZXB0XCIgYnV0dG9uLiAqL1xuICBAT3V0cHV0KCkgYWNjZXB0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKiogRmlyZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlY29uZGFyeSBcInJlamVjdFwiIGJ1dHRvbi4gKi9cbiAgQE91dHB1dCgpIHJlamVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSB0ZXJ0aWFyeSBcImN1c3RvbWl6ZS9jb25maWd1cmVcIiBidXR0b24uICovXG4gIEBPdXRwdXQoKSBjdXN0b21pemUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKiBGaXJlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgZGlzbWlzcyAoWCkgaWNvbi4gKi9cbiAgQE91dHB1dCgpIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWRkSWNvbnMoeyBjbG9zZU91dGxpbmUgfSk7XG4gIH1cbn1cbiJdfQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzlDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQWlGSCxNQUFNLE9BQU8scUJBQXFCO0lBYWhDO1FBVEEsOERBQThEO1FBQ3BELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVDLGdFQUFnRTtRQUN0RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1Qyw0RUFBNEU7UUFDbEUsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDL0MsdURBQXVEO1FBQzdDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNDLFFBQVEsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0FmVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixzTUE1RXRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RVQsbWlGQXpFUyxZQUFZLCtCQUFFLFVBQVUsb09BQUUsU0FBUyxvUEFBRSxPQUFPOzs0RkE2RTNDLHFCQUFxQjtrQkFoRmpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUM3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUl0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksTUFBTTtzQkFBZixNQUFNO2dCQUVHLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjbG9zZU91dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBDb29raWVCYW5uZXJNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIGB2YWwtY29va2llLWJhbm5lcmAg4oCUIGJvdHRvbS90b3AgZml4ZWQgYmFubmVyIGFza2luZyB0aGUgdXNlciB0byBjaG9vc2VcbiAqIGEgY29va2llIGNvbnNlbnQgb3B0aW9uLiBQcmVzZW50YXRpb25hbCBvbmx5OiBlbWl0cyBldmVudHMgb24gZWFjaFxuICogYWN0aW9uLCB0aGUgcGFyZW50IGRlY2lkZXMgd2hhdCB0byBkbyAodHlwaWNhbGx5IHdpcmluZyB0b1xuICogYEFuYWx5dGljc1NlcnZpY2VgIGZyb20gYHZhbHRlY2gtY29tcG9uZW50c2ApLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWNvb2tpZS1iYW5uZXJcbiAqICAgW3Byb3BzXT1cImJhbm5lclByb3BzKClcIlxuICogICAoYWNjZXB0KT1cIm9uQWNjZXB0KClcIlxuICogICAocmVqZWN0KT1cIm9uUmVqZWN0KClcIlxuICogICAoY3VzdG9taXplKT1cIm9uQ3VzdG9taXplKClcIlxuICogICAoZGlzbWlzcyk9XCJvbkRpc21pc3MoKVwiXG4gKiAvPlxuICpcbiAqIFdpcmUgYHByb3BzLnZpc2libGVgIHRvIGBhbmFseXRpY3MuY29uc2VudFN0YXRlKCkuaGFzRGVjaWRlZCA9PT0gZmFsc2VgXG4gKiBzbyB0aGUgYmFubmVyIGF1dG8taGlkZXMgb25jZSB0aGUgdXNlciBtYWtlcyBhIGNob2ljZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvb2tpZS1iYW5uZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJMaW5rLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAocHJvcHM/LnZpc2libGUpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWwtY29va2llLWJhbm5lclwiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdG9wXT1cInByb3BzLnBvc2l0aW9uID09PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tYm90dG9tXT1cInByb3BzLnBvc2l0aW9uICE9PSAndG9wJ1wiXG4gICAgICAgIFtjbGFzcy52YWwtY29va2llLWJhbm5lci0tdHJhbnNsdWNlbnRdPVwicHJvcHMudHJhbnNsdWNlbnRcIlxuICAgICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgICAgYXJpYS1tb2RhbD1cImZhbHNlXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19pbm5lclwiIFtzdHlsZS5tYXgtd2lkdGhdPVwicHJvcHMubWF4V2lkdGggfHwgJzEyMDBweCdcIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmRpc21pc3NpYmxlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19kaXNtaXNzXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInZGlzbWlzcydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcy5lbWl0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19jb3B5XCI+XG4gICAgICAgICAgICBAaWYgKHByb3BzLnRpdGxlKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX190aXRsZVwiPnt7IHByb3BzLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgICAge3sgcHJvcHMubWVzc2FnZSB9fVxuICAgICAgICAgICAgICBAaWYgKHByb3BzLnBvbGljeUxpbmtUZXh0ICYmIHByb3BzLnBvbGljeUhyZWYpIHtcbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInZhbC1jb29raWUtYmFubmVyX19wb2xpY3lcIiBbaHJlZl09XCJwcm9wcy5wb2xpY3lIcmVmXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXJcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHByb3BzLnBvbGljeUxpbmtUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsLWNvb2tpZS1iYW5uZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIFtjb2xvcl09XCJwcm9wcy5yZWplY3RDb2xvciB8fCAnZGFyaydcIiAoY2xpY2spPVwicmVqZWN0LmVtaXQoKVwiPlxuICAgICAgICAgICAgICB7eyBwcm9wcy5yZWplY3RUZXh0IH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuY3VzdG9taXplVGV4dCkge1xuICAgICAgICAgICAgICBAaWYgKHByb3BzLmN1c3RvbWl6ZVJvdXRlckxpbmspIHtcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jdXN0b21pemVDb2xvciB8fCAnZGFyaydcIlxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicHJvcHMuY3VzdG9taXplUm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3VzdG9taXplLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgcHJvcHMuY3VzdG9taXplVGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwicHJvcHMuY3VzdG9taXplQ29sb3IgfHwgJ2RhcmsnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21pemUuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBwcm9wcy5jdXN0b21pemVUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIHNpemU9XCJzbWFsbFwiIFtjb2xvcl09XCJwcm9wcy5hY2NlcHRDb2xvciB8fCAncHJpbWFyeSdcIiAoY2xpY2spPVwiYWNjZXB0LmVtaXQoKVwiPlxuICAgICAgICAgICAgICB7eyBwcm9wcy5hY2NlcHRUZXh0IH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb29raWUtYmFubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVCYW5uZXJDb21wb25lbnQge1xuICAvKiogQmFubmVyIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiAqL1xuICBASW5wdXQoKSBwcm9wcyE6IENvb2tpZUJhbm5lck1ldGFkYXRhO1xuXG4gIC8qKiBGaXJlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgcHJpbWFyeSBcImFjY2VwdFwiIGJ1dHRvbi4gKi9cbiAgQE91dHB1dCgpIGFjY2VwdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgLyoqIEZpcmVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHRoZSBzZWNvbmRhcnkgXCJyZWplY3RcIiBidXR0b24uICovXG4gIEBPdXRwdXQoKSByZWplY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKiBGaXJlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgdGVydGlhcnkgXCJjdXN0b21pemUvY29uZmlndXJlXCIgYnV0dG9uLiAqL1xuICBAT3V0cHV0KCkgY3VzdG9taXplID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAvKiogRmlyZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIGRpc21pc3MgKFgpIGljb24uICovXG4gIEBPdXRwdXQoKSBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFkZEljb25zKHsgY2xvc2VPdXRsaW5lIH0pO1xuICB9XG59XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '2.0.836';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44MzYnO1xuIl19
5
+ export const VERSION = '2.0.838';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC44MzgnO1xuIl19
@@ -53,7 +53,7 @@ import 'prismjs/components/prism-json';
53
53
  * Current version of valtech-components.
54
54
  * This is automatically updated during the publish process.
55
55
  */
56
- const VERSION = '2.0.836';
56
+ const VERSION = '2.0.838';
57
57
 
58
58
  /**
59
59
  * Servicio para gestionar presets de componentes.
@@ -14312,6 +14312,8 @@ class PhoneInputComponent {
14312
14312
  this.internalNumberControl = new FormControl('');
14313
14313
  this.valueSubscription = null;
14314
14314
  this.isInternalUpdate = false;
14315
+ /** Último valor del control externo ya reflejado en el input. */
14316
+ this.lastSyncedValue = null;
14315
14317
  }
14316
14318
  ngOnInit() {
14317
14319
  this.resolveProps();
@@ -14323,6 +14325,20 @@ class PhoneInputComponent {
14323
14325
  this.setupComponent();
14324
14326
  }
14325
14327
  }
14328
+ /**
14329
+ * Refleja cambios del control externo que NO emiten `valueChanges` — p. ej.
14330
+ * `patchValue(..., { emitEvent: false })` en una carga programática de datos.
14331
+ * Sin esto el input quedaría vacío tras un `patchValue` silencioso.
14332
+ */
14333
+ ngDoCheck() {
14334
+ const value = this.resolvedProps.control?.value ?? null;
14335
+ if (value !== this.lastSyncedValue && !this.isInternalUpdate) {
14336
+ this.lastSyncedValue = value;
14337
+ if (value) {
14338
+ this.parsePhoneNumber(value);
14339
+ }
14340
+ }
14341
+ }
14326
14342
  ngOnDestroy() {
14327
14343
  this.valueSubscription?.unsubscribe();
14328
14344
  }
@@ -14350,6 +14366,7 @@ class PhoneInputComponent {
14350
14366
  this.internalNumberControl = this.resolvedProps.numberControl;
14351
14367
  }
14352
14368
  // Parse initial value from main control
14369
+ this.lastSyncedValue = this.resolvedProps.control?.value ?? null;
14353
14370
  if (this.resolvedProps.control?.value) {
14354
14371
  this.parsePhoneNumber(this.resolvedProps.control.value);
14355
14372
  }
@@ -14462,6 +14479,8 @@ class PhoneInputComponent {
14462
14479
  this.isInternalUpdate = true;
14463
14480
  this.resolvedProps.control?.setValue(fullNumber);
14464
14481
  this.isInternalUpdate = false;
14482
+ // Evita que ngDoCheck re-parsee un cambio originado aquí mismo.
14483
+ this.lastSyncedValue = fullNumber;
14465
14484
  // Emit change event
14466
14485
  const digitsOnly = number.replace(/\D/g, '');
14467
14486
  const isValid = this.validateNumber(digitsOnly);
@@ -29391,7 +29410,7 @@ class CookieBannerComponent {
29391
29410
  </div>
29392
29411
 
29393
29412
  <div class="val-cookie-banner__actions">
29394
- <ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
29413
+ <ion-button fill="clear" size="small" [color]="props.rejectColor || 'dark'" (click)="reject.emit()">
29395
29414
  {{ props.rejectText }}
29396
29415
  </ion-button>
29397
29416
 
@@ -29425,7 +29444,7 @@ class CookieBannerComponent {
29425
29444
  </div>
29426
29445
  </div>
29427
29446
  }
29428
- `, isInline: true, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29447
+ `, isInline: true, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:color-mix(in srgb,var(--ion-background-color, #fff) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29429
29448
  }
29430
29449
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CookieBannerComponent, decorators: [{
29431
29450
  type: Component,
@@ -29467,7 +29486,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
29467
29486
  </div>
29468
29487
 
29469
29488
  <div class="val-cookie-banner__actions">
29470
- <ion-button fill="clear" size="small" [color]="props.rejectColor || 'medium'" (click)="reject.emit()">
29489
+ <ion-button fill="clear" size="small" [color]="props.rejectColor || 'dark'" (click)="reject.emit()">
29471
29490
  {{ props.rejectText }}
29472
29491
  </ion-button>
29473
29492
 
@@ -29501,7 +29520,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
29501
29520
  </div>
29502
29521
  </div>
29503
29522
  }
29504
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:#ffffffd9;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}@media (prefers-color-scheme: dark){.val-cookie-banner--translucent{background:#141414d9}}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"] }]
29523
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:contents}.val-cookie-banner{position:fixed;left:0;right:0;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ion-background-color, #fff);border-color:var(--val-border-color, rgba(0, 0, 0, .08));border-style:solid;border-width:0;box-shadow:0 -2px 16px #00000014;animation:val-cookie-banner-in .25s ease-out}.val-cookie-banner--bottom{bottom:0;border-top-width:1px}.val-cookie-banner--top{top:0;border-bottom-width:1px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;box-shadow:0 2px 16px #00000014}.val-cookie-banner--translucent{background:color-mix(in srgb,var(--ion-background-color, #fff) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.val-cookie-banner__inner{margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:16px;position:relative}.val-cookie-banner__dismiss{position:absolute;top:-8px;right:-4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;cursor:pointer;color:var(--ion-color-medium);transition:color .15s ease,background .15s ease}.val-cookie-banner__dismiss:hover{color:var(--ion-color-dark);background:var(--ion-color-light-shade, rgba(0, 0, 0, .04))}.val-cookie-banner__dismiss ion-icon{font-size:18px}.val-cookie-banner__copy{flex:1 1 auto;min-width:0}.val-cookie-banner__title{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ion-color-dark)}.val-cookie-banner__message{margin:0;font-size:13px;line-height:1.45;color:var(--ion-color-dark)}.val-cookie-banner__policy{margin-left:4px;color:var(--ion-color-primary);text-decoration:underline;text-underline-offset:2px}.val-cookie-banner__actions{display:inline-flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0}@media (max-width: 768px){.val-cookie-banner__inner{flex-direction:column;align-items:stretch;gap:12px}.val-cookie-banner__actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 480px){.val-cookie-banner__actions{flex-direction:column;align-items:stretch}.val-cookie-banner__actions ion-button{width:100%}}@keyframes val-cookie-banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.val-cookie-banner--top{animation-name:val-cookie-banner-in-top}@keyframes val-cookie-banner-in-top{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.val-cookie-banner{animation:none}}\n"] }]
29505
29524
  }], ctorParameters: () => [], propDecorators: { props: [{
29506
29525
  type: Input
29507
29526
  }], accept: [{