ctt-babylon 0.22.101 → 0.22.102

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.
@@ -6,7 +6,7 @@ import { DialogModule } from 'primeng/dialog';
6
6
  import { DropdownModule } from 'primeng/dropdown';
7
7
  import { Subject, takeUntil } from 'rxjs';
8
8
  import { BabylonEngineStateService } from '../../../services/engine-state.service';
9
- import { request_hotel_motor } from '../../../utils/request_hotel_motor.token';
9
+ import { request_hotel_motor, request_hotel_motor_url, } from '../../../utils/request_hotel_motor.token';
10
10
  import { BabylonGuestsPopupComponent, } from '../babylon-guests-popup/babylon-guests-popup.component';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/forms";
@@ -96,6 +96,7 @@ export class BabylonEngineComponent {
96
96
  this.platformId = inject(PLATFORM_ID);
97
97
  this.engineState = inject(BabylonEngineStateService);
98
98
  this.hasRequestHotelMotor = inject(request_hotel_motor);
99
+ this.requestHotelMotorUrl = inject(request_hotel_motor_url);
99
100
  }
100
101
  ngOnInit() {
101
102
  this.minDate.setHours(0, 0, 0, 0);
@@ -182,7 +183,12 @@ export class BabylonEngineComponent {
182
183
  this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;
183
184
  }
184
185
  else {
185
- this.generatedUrl = `${this.button?.url}?${params.toString()}`;
186
+ if (this.requestHotelMotorUrl.length) {
187
+ this.generatedUrl = `${this.requestHotelMotorUrl}?${params.toString()}`;
188
+ }
189
+ else {
190
+ this.generatedUrl = `${this.button?.url}?${params.toString()}`;
191
+ }
186
192
  }
187
193
  }
188
194
  appendGuestAges(params) {
@@ -364,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
364
370
  }], openModalMultMotors: [{
365
371
  type: Output
366
372
  }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS9iYWJ5bG9uLWVuZ2luZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lL2JhYnlsb24tZW5naW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFZLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFDSCwyQkFBMkIsR0FFOUIsTUFBTSx3REFBd0QsQ0FBQzs7Ozs7Ozs7QUFtQmhF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ICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhbGVuZGFyLCBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgRHJvcGRvd24sIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhYnlsb25CdXR0b25JIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWJ1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvbklucHV0SSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1pbnB1dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvbkVuZ2luZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2VuZ2luZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHJlcXVlc3RfaG90ZWxfbW90b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscy9yZXF1ZXN0X2hvdGVsX21vdG9yLnRva2VuJztcbmltcG9ydCB7XG4gICAgQmFieWxvbkd1ZXN0c1BvcHVwQ29tcG9uZW50LFxuICAgIGd1ZXN0c1ZhbHVlLFxufSBmcm9tICcuLi9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFieWxvbkd1ZXN0c1BvcHVwSSB9IGZyb20gJy4uL2JhYnlsb24tZ3Vlc3RzLXBvcHVwL2JhYnlsb24tZ3Vlc3RzLXBvcHVwLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tZW5naW5lJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENhbGVuZGFyTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uR3Vlc3RzUG9wdXBDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ01vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWJ5bG9uLWVuZ2luZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhYnlsb24tZW5naW5lLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkVuZ2luZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlcicpIGRhdGVwaWNrZXIhOiBDYWxlbmRhcjtcbiAgICBAVmlld0NoaWxkKCdkYXRlcGlja2VySW4nKSBkYXRlcGlja2VySW4hOiBDYWxlbmRhcjtcbiAgICBAVmlld0NoaWxkKCdkYXRlcGlja2VyT3V0JykgZGF0ZXBpY2tlck91dCE6IENhbGVuZGFyO1xuICAgIEBWaWV3Q2hpbGQoJ2hvdGVsc0Ryb3Bkb3duJywgeyBzdGF0aWM6IGZhbHNlIH0pIGhvdGVsc0Ryb3Bkb3duITogRHJvcGRvd247XG5cbiAgICBASW5wdXQoKSBtb2RhbD86IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGF0ZXBpY2tlckRhdGE/OiBCYWJ5bG9uSW5wdXRJO1xuICAgIEBJbnB1dCgpIGd1ZXN0c0lucHV0PzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBwcm9tb0lucHV0PzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBndWVzdHM/OiBCYWJ5bG9uR3Vlc3RzUG9wdXBJO1xuICAgIEBJbnB1dCgpIGJ1dHRvbj86IEJhYnlsb25CdXR0b25JO1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSBjb2RpZ28/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGFuZz86IHN0cmluZztcbiAgICBASW5wdXQoKSBnbFZhbHVlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG9ubHlBZHVsdHM/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNob3dBZ2VzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBkZWZhdWx0QnV0dG9uPzogQmFieWxvbkJ1dHRvbkk7XG4gICAgQElucHV0KCkgaG90ZWxzSW5wdXQ/OiBCYWJ5bG9uSW5wdXRJO1xuICAgIEBJbnB1dCgpIGhvdGVscz86IEJhYnlsb25Ib3RlbHNEcm9wZG93bkk7XG4gICAgQElucHV0KCkgaG90ZWxzUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgb3BlbkluTmV3V2luZG93PzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtdWx0aXBsZU1vdG9yc01vZGFsPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZWZhdWx0UHJvbW9Db2RlPzogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW5Nb2RhbE11bHRNb3RvcnMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBob3RlbHNWYWx1ZTogYW55O1xuICAgIGRhdGVwaWNrZXJWYWx1ZSA9ICcnO1xuICAgIG1pbkRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGhvdGVsRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgaG90ZWxzOiBuZXcgRm9ybUNvbnRyb2wodW5kZWZpbmVkLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICBkYXRlczogbmV3IEZvcm1Db250cm9sKHRoaXMuZGF0ZXBpY2tlclZhbHVlKSxcbiAgICAgICAgZ3Vlc3RzOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgICAgIHByb21vOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgIH0pO1xuXG4gICAgZ3Vlc3RzVmFsdWUgPSAnJztcbiAgICBndWVzdHNWYWx1ZVNlcGFyYXRlczogQmFieWxvbkd1ZXN0VmFsdWVJID0ge1xuICAgICAgICBhZHVsdHM6IDIsXG4gICAgICAgIGp1bmlvcnM6IHtcbiAgICAgICAgICAgIGNvZGU6IDAsXG4gICAgICAgICAgICBjb2RlQWdlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGtpZHM6IHtcbiAgICAgICAgICAgIGNvZGU6IDAsXG4gICAgICAgICAgICBjb2RlQWdlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGluZmFudHM6IDAsXG4gICAgfTtcbiAgICBzaG93aW5nR3Vlc3RzID0gZmFsc2U7XG4gICAgZ2VuZXJhdGVkVXJsOiBzdHJpbmcgPSAnJztcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgIHByaXZhdGUgZW5naW5lU3RhdGUgPSBpbmplY3QoQmFieWxvbkVuZ2luZVN0YXRlU2VydmljZSk7XG4gICAgcHVibGljIGhhc1JlcXVlc3RIb3RlbE1vdG9yID0gaW5qZWN0KHJlcXVlc3RfaG90ZWxfbW90b3IpO1xuXG4gICAgcHJpdmF0ZSBidWlsZFF1ZXJ5UGFyYW1zKCk6IFVSTFNlYXJjaFBhcmFtcyB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAgICAgICBpZiAodGhpcy51cmwpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTW9iaWxlID1cbiAgICAgICAgICAgICAgICAvTW9iaXxBbmRyb2lkfGlQaG9uZXxpUGFkfGlQb2R8V2luZG93cyBQaG9uZS9pLnRlc3QoXG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci51c2VyQWdlbnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgYWZmaWxpYXRlID0gYCR7dGhpcy5jb2RpZ299XyR7dGhpcy5sYW5nfV8ke1xuICAgICAgICAgICAgICAgIGlzTW9iaWxlID8gJ21vYmlsZScgOiAnUEMnXG4gICAgICAgICAgICB9YDtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2FmZmlsaWF0ZScsIGFmZmlsaWF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWVzLmRhdGVzKSAmJiBmb3JtVmFsdWVzLmRhdGVzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgY29uc3QgW2RhdGVpbiwgZGF0ZW91dF0gPSBmb3JtVmFsdWVzLmRhdGVzLm1hcCgoZGF0ZTogc3RyaW5nKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0RGF0ZShuZXcgRGF0ZShkYXRlKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdkYXRlaW4nLCBkYXRlaW4pO1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgnZGF0ZW91dCcsIGRhdGVvdXQpO1xuICAgICAgICAgICAgdGhpcy5zYXZlRW5naW5lRGF0YShkYXRlaW4sIGRhdGVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzKSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAgICAgICdhZHVsdG9zJyxcbiAgICAgICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cy50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuanVuaW9ycy5jb2RlKSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAgICAgICd0ZWVuYWdlcnMnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuanVuaW9ycy5jb2RlLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCd0ZWVuYWdlcnMnLCAnMCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlKSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAgICAgICdjaGlsZHJlbicsXG4gICAgICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLmNvZGUudG9TdHJpbmcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2NoaWxkcmVuJywgJzAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMpIHtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoXG4gICAgICAgICAgICAgICAgJ2JhYmllcycsXG4gICAgICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdiYWJpZXMnLCAnMCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBlbmRHdWVzdEFnZXMocGFyYW1zKTtcblxuICAgICAgICBpZiAoZm9ybVZhbHVlcy5wcm9tbykge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgncHJvbScsIGZvcm1WYWx1ZXMucHJvbW8pO1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgncHJvbV9jbGVhbicsICcwJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdwcm9tX2NsZWFuJywgJzEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdsVmFsdWUpIHBhcmFtcy5hcHBlbmQoJ19nbCcsIHRoaXMuZ2xWYWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5taW5EYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlID0gJzInO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdndWVzdHMnKT8uc2V0VmFsdWUodGhpcy5ndWVzdHNWYWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRQcm9tb0NvZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ3Byb21vJyk/LnNldFZhbHVlKHRoaXMuZGVmYXVsdFByb21vQ29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVHZW5lcmF0ZWRVcmwoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZUVuZ2luZURhdGEoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubG9hZEVuZ2luZURhdGEoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVIb3RlbHNEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG90ZWxzRHJvcGRvd24pIHtcbiAgICAgICAgICAgIHRoaXMuaG90ZWxzRHJvcGRvd24uc2hvdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlRHJvcGRvd25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvdGVsc1ZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmhvdGVsc1ZhbHVlPy5pZCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlRW5naW5lRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlRGlzYWJsZWRDbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5nZXQoJ2hvdGVscycpPy5pbnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmhvdGVsRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5ob3RlbEVycm9yID0gZmFsc2UpLCA1MDApO1xuICAgICAgICAgICAgdGhpcy5ob3RlbHNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVTaG93aW5nR3Vlc3RzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dpbmdHdWVzdHMgPSAhdGhpcy5zaG93aW5nR3Vlc3RzO1xuICAgIH1cblxuICAgIGd1ZXN0c0NoYW5nZShkYXRhOiBndWVzdHNWYWx1ZSkge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IE51bWJlcihkYXRhLmFkdWx0c1ZhbHVlPy5jb2RlKTtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5qdW5pb3JzLmNvZGUgPSBOdW1iZXIoXG4gICAgICAgICAgICBkYXRhLmp1bmlvcnNWYWx1ZT8uY29kZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmp1bmlvcnMuY29kZUFnZXMgPVxuICAgICAgICAgICAgZGF0YS5qdW5pb3JzVmFsdWU/LmFnZXM/Lm1hcCgoYWdlOiBhbnkpID0+IE51bWJlcihhZ2UuY29kZSkpO1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSA9IE51bWJlcihkYXRhLmtpZHNWYWx1ZT8uY29kZSk7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlQWdlcyA9IGRhdGEua2lkc1ZhbHVlPy5hZ2VzPy5tYXAoXG4gICAgICAgICAgICAoYWdlOiBhbnkpID0+IE51bWJlcihhZ2UuY29kZSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gTnVtYmVyKGRhdGEuaW5mYW50c1ZhbHVlPy5jb2RlKTtcblxuICAgICAgICBjb25zdCB0b3RhbEd1ZXN0cyA9XG4gICAgICAgICAgICAoTnVtYmVyKGRhdGEuYWR1bHRzVmFsdWU/LmNvZGUpXG4gICAgICAgICAgICAgICAgPyBOdW1iZXIoZGF0YS5hZHVsdHNWYWx1ZT8uY29kZSlcbiAgICAgICAgICAgICAgICA6IDApICtcbiAgICAgICAgICAgIChOdW1iZXIoZGF0YS5qdW5pb3JzVmFsdWU/LmNvZGUpXG4gICAgICAgICAgICAgICAgPyBOdW1iZXIoZGF0YS5qdW5pb3JzVmFsdWU/LmNvZGUpXG4gICAgICAgICAgICAgICAgOiAwKSArXG4gICAgICAgICAgICAoTnVtYmVyKGRhdGEua2lkc1ZhbHVlPy5jb2RlKSA/IE51bWJlcihkYXRhLmtpZHNWYWx1ZT8uY29kZSkgOiAwKSArXG4gICAgICAgICAgICAoTnVtYmVyKGRhdGEuaW5mYW50c1ZhbHVlPy5jb2RlKVxuICAgICAgICAgICAgICAgID8gTnVtYmVyKGRhdGEuaW5mYW50c1ZhbHVlPy5jb2RlKVxuICAgICAgICAgICAgICAgIDogMCk7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWUgPVxuICAgICAgICAgICAgdG90YWxHdWVzdHMgPCAxMFxuICAgICAgICAgICAgICAgID8gJzAnICsgdG90YWxHdWVzdHMudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgIDogdG90YWxHdWVzdHMudG9TdHJpbmcoKTtcblxuICAgICAgICB0aGlzLmZvcm0/LmdldCgnZ3Vlc3RzJyk/LnNldFZhbHVlKHRoaXMuZ3Vlc3RzVmFsdWUpO1xuXG4gICAgICAgIHRoaXMudG9nZ2xlU2hvd2luZ0d1ZXN0cygpO1xuXG4gICAgICAgIHRoaXMuc2F2ZUVuZ2luZURhdGEoKTtcbiAgICB9XG5cbiAgICBidG5DbGljayhlOiBFdmVudCk6IHZvaWQge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlR2VuZXJhdGVkVXJsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybSB8fCAhdGhpcy5idXR0b24/LnVybCkge1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZWRVcmwgPSB0aGlzLmJ1dHRvbj8udXJsIHx8ICcnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5idWlsZFF1ZXJ5UGFyYW1zKCk7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSB0aGlzLmZvcm0udmFsdWU7XG5cbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMuaG90ZWxzKSB7XG4gICAgICAgICAgICB0aGlzLmhvdGVsc1ZhbHVlID0gZm9ybVZhbHVlcy5ob3RlbHM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ob3RlbHNWYWx1ZSAmJiBmb3JtVmFsdWVzLmhvdGVscykge1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZWRVcmwgPSBgJHt0aGlzLmhvdGVsc1ZhbHVlPy51cmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVkVXJsID0gYCR7dGhpcy5idXR0b24/LnVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRHdWVzdEFnZXMocGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpbmZhbnRzLCBraWRzLCBqdW5pb3JzIH0gPSB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzO1xuXG4gICAgICAgIGlmIChpbmZhbnRzKSB7XG4gICAgICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiBpbmZhbnRzIH0pLmZvckVhY2goKCkgPT5cbiAgICAgICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdndWVzdEFnZXMnLCAnMCcpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtpZHM/LmNvZGVBZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGtpZHMuY29kZUFnZXMuZm9yRWFjaCgoYWdlKSA9PlxuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2d1ZXN0QWdlcycsIGFnZS50b1N0cmluZygpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChqdW5pb3JzPy5jb2RlQWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBqdW5pb3JzLmNvZGVBZ2VzLmZvckVhY2goKGFnZSkgPT5cbiAgICAgICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdndWVzdEFnZXMnLCBhZ2UudG9TdHJpbmcoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBkYXRlXG4gICAgICAgICAgICAudG9Mb2NhbGVEYXRlU3RyaW5nKCdlcy1FUycsIHtcbiAgICAgICAgICAgICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgICAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwvL2csICctJyk7XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRHdWVzdHNWYWx1ZSgpOiBndWVzdHNWYWx1ZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhZHVsdHNWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNvZGU6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzLFxuICAgICAgICAgICAgICAgIG5hbWU6IFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cykucGFkU3RhcnQoMiwgJzAnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBraWRzVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLmNvZGUpLnBhZFN0YXJ0KFxuICAgICAgICAgICAgICAgICAgICAyLFxuICAgICAgICAgICAgICAgICAgICAnMCdcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGFnZXM6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlQWdlcz8ubWFwKChjb2RlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcoY29kZSkucGFkU3RhcnQoMiwgJzAnKSxcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAganVuaW9yc1ZhbHVlOiB7XG4gICAgICAgICAgICAgICAgY29kZTogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5qdW5pb3JzLmNvZGUsXG4gICAgICAgICAgICAgICAgbmFtZTogU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuanVuaW9ycy5jb2RlKS5wYWRTdGFydChcbiAgICAgICAgICAgICAgICAgICAgMixcbiAgICAgICAgICAgICAgICAgICAgJzAnXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBhZ2VzOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmp1bmlvcnMuY29kZUFnZXM/Lm1hcChcbiAgICAgICAgICAgICAgICAgICAgKGNvZGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogU3RyaW5nKGNvZGUpLnBhZFN0YXJ0KDIsICcwJyksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmZhbnRzVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMsXG4gICAgICAgICAgICAgICAgbmFtZTogU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cykucGFkU3RhcnQoXG4gICAgICAgICAgICAgICAgICAgIDIsXG4gICAgICAgICAgICAgICAgICAgICcwJ1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNjcm9sbFRvU2VjdGlvbigpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNlY3Rpb24gZXhpc3RzIGJlZm9yZSBzY3JvbGxpbmdcbiAgICAgICAgLy8gVXNlIGEgbW9yZSBzcGVjaWZpYyBzZWxlY3RvciBpZiBuZWVkZWRcbiAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIHRoZSBzZWN0aW9uIGhhcyBhIHNwZWNpZmljIGNsYXNzIG9yIElELCB1c2UgdGhhdFxuICAgICAgICAvKlxuICAgICAgICBjb25zdCBzZWN0aW9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2JhYnlsb25fX2FkdmFudGFnZXMnKTtcbiAgICAgICAgaWYgKHNlY3Rpb24pIHtcbiAgICAgICAgICBzZWN0aW9uLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICB9ICovXG4gICAgfVxuXG4gICAgc2F2ZUVuZ2luZURhdGEoZGF0ZWluPzogc3RyaW5nLCBkYXRlb3V0Pzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCBzdG9yZWREYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZW5naW5lRGF0YScpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXRhID0gc3RvcmVkRGF0YSA/IEpTT04ucGFyc2Uoc3RvcmVkRGF0YSkgOiB7fTtcblxuICAgICAgICAgICAgaWYgKGRhdGVpbiAmJiBkYXRlb3V0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHNJbiA9IGRhdGVpbi5zcGxpdCgnLScpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzT3V0ID0gZGF0ZW91dC5zcGxpdCgnLScpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaW5EYXRlID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIE51bWJlcihwYXJ0c0luWzJdKSxcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyKHBhcnRzSW5bMV0pIC0gMSxcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyKHBhcnRzSW5bMF0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvdXREYXRlID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIE51bWJlcihwYXJ0c091dFsyXSksXG4gICAgICAgICAgICAgICAgICAgIE51bWJlcihwYXJ0c091dFsxXSkgLSAxLFxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIocGFydHNPdXRbMF0pXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChvdXREYXRlIDw9IGluRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBpbkRhdGUuc2V0RGF0ZShpbkRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRkID0gU3RyaW5nKGluRGF0ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1tID0gU3RyaW5nKGluRGF0ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeXl5eSA9IGluRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgICAgICAgICBkYXRlb3V0ID0gYCR7ZGR9LSR7bW19LSR7eXl5eX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGhvdGVsSWQgPSB0aGlzLmhvdGVsc1ZhbHVlPy5pZCB8fCAxO1xuXG4gICAgICAgICAgICBjb25zdCBlbmdpbmVEYXRhID0ge1xuICAgICAgICAgICAgICAgIHBlcmlvZF9mcm9tOiBkYXRlaW5cbiAgICAgICAgICAgICAgICAgICAgPyBkYXRlaW4ucmVwbGFjZSgvLS9nLCAnLycpXG4gICAgICAgICAgICAgICAgICAgIDogcHJldmlvdXNEYXRhLnBlcmlvZF9mcm9tLFxuICAgICAgICAgICAgICAgIHBlcmlvZF90bzogZGF0ZW91dFxuICAgICAgICAgICAgICAgICAgICA/IGRhdGVvdXQucmVwbGFjZSgvLS9nLCAnLycpXG4gICAgICAgICAgICAgICAgICAgIDogcHJldmlvdXNEYXRhLnBlcmlvZF90byxcbiAgICAgICAgICAgICAgICBhZHVsdHM6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzIHx8IDEsXG4gICAgICAgICAgICAgICAganVuaW9yczogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLmNvZGUgfHwgMCxcbiAgICAgICAgICAgICAgICBraWRzOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSB8fCAwLFxuICAgICAgICAgICAgICAgIGJhYmllczogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzIHx8IDAsXG4gICAgICAgICAgICAgICAgaG90ZWxJZDogaG90ZWxJZCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2VuZ2luZURhdGEnLCBKU09OLnN0cmluZ2lmeShlbmdpbmVEYXRhKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkRW5naW5lRGF0YSgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHN0b3JlZERhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlbmdpbmVEYXRhJyk7XG4gICAgICAgIGlmICghc3RvcmVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5zYXZlRW5naW5lRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3Blbk1vZGFsTXVsdGlwbGVNb3RvcnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuYnVpbGRRdWVyeVBhcmFtcygpLnRvU3RyaW5nKCk7XG4gICAgICAgIHRoaXMuZW5naW5lU3RhdGUuc2V0UXVlcnlQYXJhbXMocGFyYW1zKTtcblxuICAgICAgICB0aGlzLm9wZW5Nb2RhbE11bHRNb3RvcnMuZW1pdCgpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uSG90ZWxJIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHRpY2tldD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uR3Vlc3RWYWx1ZUkge1xuICAgIGFkdWx0czogbnVtYmVyO1xuICAgIGp1bmlvcnM6IHtcbiAgICAgICAgY29kZT86IG51bWJlcjtcbiAgICAgICAgY29kZUFnZXM/OiBudW1iZXJbXTtcbiAgICB9O1xuICAgIGtpZHM6IHtcbiAgICAgICAgY29kZT86IG51bWJlcjtcbiAgICAgICAgY29kZUFnZXM/OiBudW1iZXJbXTtcbiAgICB9O1xuICAgIGluZmFudHM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uSG90ZWxzRHJvcGRvd25JIHtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBvcHRpb25zPzogQmFieWxvbkhvdGVsRHJvcGRvd25PcHRpb25bXTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzbWFsbFRpdGxlPzogc3RyaW5nO1xuICAgIGVycm9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25Ib3RlbERyb3Bkb3duT3B0aW9uIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHRpY2tlcj86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgaWQ/OiBudW1iZXI7XG59XG4iLCI8IS0tRGVza3RvcCBFbmdpbmUtLT5cbjxkaXYgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmUgYmdfd2hpdGVcIiBbbmdDbGFzc109XCJ7IGVuZ2luZV9fY2FkZW5hOiBob3RlbHMgfVwiPlxuICAgIEBpZiAoZGVmYXVsdEJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWRlZmF1bHQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiZGVmYXVsdEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tY2FsbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvU2VjdGlvbigpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBkZWZhdWx0QnV0dG9uIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxmb3JtXG4gICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19mb3JtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgID5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgIGhvdGVsc0lucHV0ICYmIGhvdGVscyAmJiBob3RlbHMub3B0aW9ucyAmJiBob3RlbHMub3B0aW9ucy5sZW5ndGggPiAxXG4gICAgICAgICkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19pbnB1dC0td3JhcHBlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGhvdGVsc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHAtZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiaG90ZWxzLm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJob3RlbHNcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaG90ZWxzUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlRHJvcGRvd25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICNob3RlbHNEcm9wZG93blxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LWJvdHRvbVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19kYXRlcGlja2VyLS13cmFwcGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19kYXRlcGlja2VyXCJcbiAgICAgICAgICAgICAgICBbc2hvd090aGVyTW9udGhzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtbW0teXlcIlxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU9XCJyYW5nZVwiXG4gICAgICAgICAgICAgICAgW251bWJlck9mTW9udGhzXT1cIjJcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRlcGlja2VyRGF0YT8ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVzXCJcbiAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlclxuICAgICAgICAgICAgICAgIFtyZWFkb25seUlucHV0XT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9wcmltYXJ5IGJ0bi0tbGlnaHQgYmFieWxvbi1wbHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci5vdmVybGF5VmlzaWJsZSA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cblxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlsb25fX2VuZ2luZV9fZGF0ZXBpY2tlci0taWNvbiBiYWJ5bG9uLWFycm93LWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIudG9nZ2xlKClcIlxuICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19pbnB1dC0td3JhcHBlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93aW5nR3Vlc3RzKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGd1ZXN0c0lucHV0Py5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3Vlc3QtaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZ3Vlc3RzSW5wdXQ/LnBsYWNlaG9sZGVyICsgJzogICdcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlsb25fX2VuZ2luZV9faW5wdXQgbm8tY2FyZXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ3Vlc3RzSW5wdXQ/LnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJndWVzdHNcIlxuICAgICAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LWJvdHRvbVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwLWRpYWxvZyBjbGFzcz1cImJhYnlsb25fX2VuZ2luZV9fZGlhbG9nXCIgWyh2aXNpYmxlKV09XCJzaG93aW5nR3Vlc3RzXCI+XG4gICAgICAgICAgICA8bGliLWJhYnlsb24tZ3Vlc3RzLXBvcHVwXG4gICAgICAgICAgICAgICAgW29ubHlBZHVsdHNdPVwib25seUFkdWx0c1wiXG4gICAgICAgICAgICAgICAgW3Nob3dBZ2VzXT1cInNob3dBZ2VzXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImRlZmF1bHRHdWVzdHNWYWx1ZVwiXG4gICAgICAgICAgICAgICAgW2FkdWx0c0Ryb3Bkb3duXT1cImd1ZXN0cz8uYWR1bHRzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFthZ2VzRHJvcGRvd25dPVwiZ3Vlc3RzPy5hZ2VzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFthZ2VzTGFiZWxdPVwiZ3Vlc3RzPy5hZ2VzTGFiZWxcIlxuICAgICAgICAgICAgICAgIFtiYWJpZXNEcm9wZG93bl09XCJndWVzdHM/LmJhYmllc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBba2lkc0Ryb3Bkb3duXT1cImd1ZXN0cz8ua2lkc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbanVuaW9yc0Ryb3Bkb3duXT1cImd1ZXN0cz8uanVuaW9yc0Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbYnRuXT1cImd1ZXN0cz8uYnRuXCJcbiAgICAgICAgICAgICAgICAjZ3Vlc3RwaWNrZXJcbiAgICAgICAgICAgICAgICAoYXBwbHkpPVwiZ3Vlc3RzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9saWItYmFieWxvbi1ndWVzdHMtcG9wdXA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImd1ZXN0cy1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX3ByaW1hcnkgYnRuLS1saWdodCBiYWJ5bG9uLXBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2hvd2luZ0d1ZXN0cygpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLWRpYWxvZz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2lucHV0LS13cmFwcGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHJvbW8tY29kZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9tb0lucHV0Py5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicHJvbW9cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFieWxvbi10YWdcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICBAaWYgKG11bHRpcGxlTW90b3JzTW9kYWwpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fY2FsbFwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYnRuLXN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuTW9kYWxNdWx0aXBsZU1vdG9ycygpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoaGFzUmVxdWVzdEhvdGVsTW90b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiZm9ybS52YWxpZCA/IGdlbmVyYXRlZFVybCA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIm9wZW5Jbk5ld1dpbmRvdyA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9jYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuLWRpc2FibGVkJzogZm9ybS5pbnZhbGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFrZS1hbmltYXRpb24nOiBob3RlbEVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ0bi1zdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0uaW52YWxpZCA/IGhhbmRsZURpc2FibGVkQ2xpY2soJGV2ZW50KSA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZW5lcmF0ZWRVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIm9wZW5Jbk5ld1dpbmRvdyA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9jYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYnRuLXN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS9iYWJ5bG9uLWVuZ2luZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lL2JhYnlsb24tZW5naW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBWSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFZLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQzFCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUNILDJCQUEyQixHQUU5QixNQUFNLHdEQUF3RCxDQUFD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QUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENhbGVuZGFyLCBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgRHJvcGRvd24sIERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhYnlsb25CdXR0b25JIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWJ1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvbklucHV0SSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1pbnB1dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvbkVuZ2luZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2VuZ2luZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgcmVxdWVzdF9ob3RlbF9tb3RvcixcbiAgICByZXF1ZXN0X2hvdGVsX21vdG9yX3VybCxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcmVxdWVzdF9ob3RlbF9tb3Rvci50b2tlbic7XG5pbXBvcnQge1xuICAgIEJhYnlsb25HdWVzdHNQb3B1cENvbXBvbmVudCxcbiAgICBndWVzdHNWYWx1ZSxcbn0gZnJvbSAnLi4vYmFieWxvbi1ndWVzdHMtcG9wdXAvYmFieWxvbi1ndWVzdHMtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEJhYnlsb25HdWVzdHNQb3B1cEkgfSBmcm9tICcuLi9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWVuZ2luZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcbiAgICAgICAgQmFieWxvbkd1ZXN0c1BvcHVwQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFieWxvbi1lbmdpbmUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9iYWJ5bG9uLWVuZ2luZS5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25FbmdpbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RhdGVwaWNrZXInKSBkYXRlcGlja2VyITogQ2FsZW5kYXI7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlckluJykgZGF0ZXBpY2tlckluITogQ2FsZW5kYXI7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlck91dCcpIGRhdGVwaWNrZXJPdXQhOiBDYWxlbmRhcjtcbiAgICBAVmlld0NoaWxkKCdob3RlbHNEcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KSBob3RlbHNEcm9wZG93biE6IERyb3Bkb3duO1xuXG4gICAgQElucHV0KCkgbW9kYWw/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJEYXRhPzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBndWVzdHNJbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgcHJvbW9JbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgZ3Vlc3RzPzogQmFieWxvbkd1ZXN0c1BvcHVwSTtcbiAgICBASW5wdXQoKSBidXR0b24/OiBCYWJ5bG9uQnV0dG9uSTtcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29kaWdvPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhbmc/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZ2xWYWx1ZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBvbmx5QWR1bHRzPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzaG93QWdlcyA9IHRydWU7XG4gICAgQElucHV0KCkgZGVmYXVsdEJ1dHRvbj86IEJhYnlsb25CdXR0b25JO1xuICAgIEBJbnB1dCgpIGhvdGVsc0lucHV0PzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBob3RlbHM/OiBCYWJ5bG9uSG90ZWxzRHJvcGRvd25JO1xuICAgIEBJbnB1dCgpIGhvdGVsc1BsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG9wZW5Jbk5ld1dpbmRvdz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVNb3RvcnNNb2RhbD86IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGVmYXVsdFByb21vQ29kZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBvcGVuTW9kYWxNdWx0TW90b3JzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgaG90ZWxzVmFsdWU6IGFueTtcbiAgICBkYXRlcGlja2VyVmFsdWUgPSAnJztcbiAgICBtaW5EYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBob3RlbEVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGhvdGVsczogbmV3IEZvcm1Db250cm9sKHVuZGVmaW5lZCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgZGF0ZXM6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmRhdGVwaWNrZXJWYWx1ZSksXG4gICAgICAgIGd1ZXN0czogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICBwcm9tbzogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICB9KTtcblxuICAgIGd1ZXN0c1ZhbHVlID0gJyc7XG4gICAgZ3Vlc3RzVmFsdWVTZXBhcmF0ZXM6IEJhYnlsb25HdWVzdFZhbHVlSSA9IHtcbiAgICAgICAgYWR1bHRzOiAyLFxuICAgICAgICBqdW5pb3JzOiB7XG4gICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgY29kZUFnZXM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBraWRzOiB7XG4gICAgICAgICAgICBjb2RlOiAwLFxuICAgICAgICAgICAgY29kZUFnZXM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBpbmZhbnRzOiAwLFxuICAgIH07XG4gICAgc2hvd2luZ0d1ZXN0cyA9IGZhbHNlO1xuICAgIGdlbmVyYXRlZFVybDogc3RyaW5nID0gJyc7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgICBwcml2YXRlIGVuZ2luZVN0YXRlID0gaW5qZWN0KEJhYnlsb25FbmdpbmVTdGF0ZVNlcnZpY2UpO1xuICAgIHB1YmxpYyBoYXNSZXF1ZXN0SG90ZWxNb3RvciA9IGluamVjdChyZXF1ZXN0X2hvdGVsX21vdG9yKTtcbiAgICBwdWJsaWMgcmVxdWVzdEhvdGVsTW90b3JVcmwgPSBpbmplY3QocmVxdWVzdF9ob3RlbF9tb3Rvcl91cmwpO1xuICAgIHByaXZhdGUgYnVpbGRRdWVyeVBhcmFtcygpOiBVUkxTZWFyY2hQYXJhbXMge1xuICAgICAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudXJsKSB7XG4gICAgICAgICAgICBjb25zdCBpc01vYmlsZSA9XG4gICAgICAgICAgICAgICAgL01vYml8QW5kcm9pZHxpUGhvbmV8aVBhZHxpUG9kfFdpbmRvd3MgUGhvbmUvaS50ZXN0KFxuICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IudXNlckFnZW50XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGFmZmlsaWF0ZSA9IGAke3RoaXMuY29kaWdvfV8ke3RoaXMubGFuZ31fJHtcbiAgICAgICAgICAgICAgICBpc01vYmlsZSA/ICdtb2JpbGUnIDogJ1BDJ1xuICAgICAgICAgICAgfWA7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdhZmZpbGlhdGUnLCBhZmZpbGlhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlcy5kYXRlcykgJiYgZm9ybVZhbHVlcy5kYXRlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IFtkYXRlaW4sIGRhdGVvdXRdID0gZm9ybVZhbHVlcy5kYXRlcy5tYXAoKGRhdGU6IHN0cmluZykgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdERhdGUobmV3IERhdGUoZGF0ZSkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgnZGF0ZWluJywgZGF0ZWluKTtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2RhdGVvdXQnLCBkYXRlb3V0KTtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUVuZ2luZURhdGEoZGF0ZWluLCBkYXRlb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cykge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICAnYWR1bHRvcycsXG4gICAgICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMudG9TdHJpbmcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmp1bmlvcnMuY29kZSkge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICAndGVlbmFnZXJzJyxcbiAgICAgICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmp1bmlvcnMuY29kZS50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgndGVlbmFnZXJzJywgJzAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSkge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICAnY2hpbGRyZW4nLFxuICAgICAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlLnRvU3RyaW5nKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdjaGlsZHJlbicsICcwJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzKSB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKFxuICAgICAgICAgICAgICAgICdiYWJpZXMnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cy50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgnYmFiaWVzJywgJzAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXBwZW5kR3Vlc3RBZ2VzKHBhcmFtcyk7XG5cbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMucHJvbW8pIHtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ3Byb20nLCBmb3JtVmFsdWVzLnByb21vKTtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ3Byb21fY2xlYW4nLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgncHJvbV9jbGVhbicsICcxJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5nbFZhbHVlKSBwYXJhbXMuYXBwZW5kKCdfZ2wnLCB0aGlzLmdsVmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWluRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZSA9ICcyJztcbiAgICAgICAgdGhpcy5mb3JtLmdldCgnZ3Vlc3RzJyk/LnNldFZhbHVlKHRoaXMuZ3Vlc3RzVmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0UHJvbW9Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uZ2V0KCdwcm9tbycpPy5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRQcm9tb0NvZGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHZW5lcmF0ZWRVcmwoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVFbmdpbmVEYXRhKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvYWRFbmdpbmVEYXRhKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlSG90ZWxzRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvdGVsc0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICB0aGlzLmhvdGVsc0Ryb3Bkb3duLnNob3coKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZURyb3Bkb3duQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3RlbHNWYWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAodGhpcy5ob3RlbHNWYWx1ZT8uaWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUVuZ2luZURhdGEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZURpc2FibGVkQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmZvcm0uZ2V0KCdob3RlbHMnKT8uaW52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5ob3RlbEVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaG90ZWxFcnJvciA9IGZhbHNlKSwgNTAwKTtcbiAgICAgICAgICAgIHRoaXMuaG90ZWxzRHJvcGRvd24uc2hvdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlU2hvd2luZ0d1ZXN0cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93aW5nR3Vlc3RzID0gIXRoaXMuc2hvd2luZ0d1ZXN0cztcbiAgICB9XG5cbiAgICBndWVzdHNDaGFuZ2UoZGF0YTogZ3Vlc3RzVmFsdWUpIHtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgPSBOdW1iZXIoZGF0YS5hZHVsdHNWYWx1ZT8uY29kZSk7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuanVuaW9ycy5jb2RlID0gTnVtYmVyKFxuICAgICAgICAgICAgZGF0YS5qdW5pb3JzVmFsdWU/LmNvZGVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5qdW5pb3JzLmNvZGVBZ2VzID1cbiAgICAgICAgICAgIGRhdGEuanVuaW9yc1ZhbHVlPy5hZ2VzPy5tYXAoKGFnZTogYW55KSA9PiBOdW1iZXIoYWdlLmNvZGUpKTtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLmNvZGUgPSBOdW1iZXIoZGF0YS5raWRzVmFsdWU/LmNvZGUpO1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZUFnZXMgPSBkYXRhLmtpZHNWYWx1ZT8uYWdlcz8ubWFwKFxuICAgICAgICAgICAgKGFnZTogYW55KSA9PiBOdW1iZXIoYWdlLmNvZGUpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cyA9IE51bWJlcihkYXRhLmluZmFudHNWYWx1ZT8uY29kZSk7XG5cbiAgICAgICAgY29uc3QgdG90YWxHdWVzdHMgPVxuICAgICAgICAgICAgKE51bWJlcihkYXRhLmFkdWx0c1ZhbHVlPy5jb2RlKVxuICAgICAgICAgICAgICAgID8gTnVtYmVyKGRhdGEuYWR1bHRzVmFsdWU/LmNvZGUpXG4gICAgICAgICAgICAgICAgOiAwKSArXG4gICAgICAgICAgICAoTnVtYmVyKGRhdGEuanVuaW9yc1ZhbHVlPy5jb2RlKVxuICAgICAgICAgICAgICAgID8gTnVtYmVyKGRhdGEuanVuaW9yc1ZhbHVlPy5jb2RlKVxuICAgICAgICAgICAgICAgIDogMCkgK1xuICAgICAgICAgICAgKE51bWJlcihkYXRhLmtpZHNWYWx1ZT8uY29kZSkgPyBOdW1iZXIoZGF0YS5raWRzVmFsdWU/LmNvZGUpIDogMCkgK1xuICAgICAgICAgICAgKE51bWJlcihkYXRhLmluZmFudHNWYWx1ZT8uY29kZSlcbiAgICAgICAgICAgICAgICA/IE51bWJlcihkYXRhLmluZmFudHNWYWx1ZT8uY29kZSlcbiAgICAgICAgICAgICAgICA6IDApO1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlID1cbiAgICAgICAgICAgIHRvdGFsR3Vlc3RzIDwgMTBcbiAgICAgICAgICAgICAgICA/ICcwJyArIHRvdGFsR3Vlc3RzLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICA6IHRvdGFsR3Vlc3RzLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtPy5nZXQoJ2d1ZXN0cycpPy5zZXRWYWx1ZSh0aGlzLmd1ZXN0c1ZhbHVlKTtcblxuICAgICAgICB0aGlzLnRvZ2dsZVNob3dpbmdHdWVzdHMoKTtcblxuICAgICAgICB0aGlzLnNhdmVFbmdpbmVEYXRhKCk7XG4gICAgfVxuXG4gICAgYnRuQ2xpY2soZTogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2UuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIHVwZGF0ZUdlbmVyYXRlZFVybCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0gfHwgIXRoaXMuYnV0dG9uPy51cmwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVkVXJsID0gdGhpcy5idXR0b24/LnVybCB8fCAnJztcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuYnVpbGRRdWVyeVBhcmFtcygpO1xuICAgICAgICBjb25zdCBmb3JtVmFsdWVzID0gdGhpcy5mb3JtLnZhbHVlO1xuXG4gICAgICAgIGlmIChmb3JtVmFsdWVzLmhvdGVscykge1xuICAgICAgICAgICAgdGhpcy5ob3RlbHNWYWx1ZSA9IGZvcm1WYWx1ZXMuaG90ZWxzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaG90ZWxzVmFsdWUgJiYgZm9ybVZhbHVlcy5ob3RlbHMpIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVkVXJsID0gYCR7dGhpcy5ob3RlbHNWYWx1ZT8udXJsfT8ke3BhcmFtcy50b1N0cmluZygpfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXF1ZXN0SG90ZWxNb3RvclVybC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlZFVybCA9IGAke3RoaXMucmVxdWVzdEhvdGVsTW90b3JVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZWRVcmwgPSBgJHt0aGlzLmJ1dHRvbj8udXJsfT8ke3BhcmFtcy50b1N0cmluZygpfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZEd1ZXN0QWdlcyhwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGluZmFudHMsIGtpZHMsIGp1bmlvcnMgfSA9IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXM7XG5cbiAgICAgICAgaWYgKGluZmFudHMpIHtcbiAgICAgICAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IGluZmFudHMgfSkuZm9yRWFjaCgoKSA9PlxuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2d1ZXN0QWdlcycsICcwJylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2lkcz8uY29kZUFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAga2lkcy5jb2RlQWdlcy5mb3JFYWNoKChhZ2UpID0+XG4gICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgnZ3Vlc3RBZ2VzJywgYWdlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGp1bmlvcnM/LmNvZGVBZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGp1bmlvcnMuY29kZUFnZXMuZm9yRWFjaCgoYWdlKSA9PlxuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2d1ZXN0QWdlcycsIGFnZS50b1N0cmluZygpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgICAgICAgIC50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUVTJywge1xuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXC8vZywgJy0nKTtcbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdEd1ZXN0c1ZhbHVlKCk6IGd1ZXN0c1ZhbHVlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkdWx0c1ZhbHVlOiB7XG4gICAgICAgICAgICAgICAgY29kZTogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMsXG4gICAgICAgICAgICAgICAgbmFtZTogU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzKS5wYWRTdGFydCgyLCAnMCcpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGtpZHNWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNvZGU6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlLFxuICAgICAgICAgICAgICAgIG5hbWU6IFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSkucGFkU3RhcnQoXG4gICAgICAgICAgICAgICAgICAgIDIsXG4gICAgICAgICAgICAgICAgICAgICcwJ1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgYWdlczogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLmNvZGVBZ2VzPy5tYXAoKGNvZGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIGNvZGUsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFN0cmluZyhjb2RlKS5wYWRTdGFydCgyLCAnMCcpLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBqdW5pb3JzVmFsdWU6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmp1bmlvcnMuY29kZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5qdW5pb3JzLmNvZGUpLnBhZFN0YXJ0KFxuICAgICAgICAgICAgICAgICAgICAyLFxuICAgICAgICAgICAgICAgICAgICAnMCdcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGFnZXM6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuanVuaW9ycy5jb2RlQWdlcz8ubWFwKFxuICAgICAgICAgICAgICAgICAgICAoY29kZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcoY29kZSkucGFkU3RhcnQoMiwgJzAnKSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGluZmFudHNWYWx1ZToge1xuICAgICAgICAgICAgICAgIGNvZGU6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cyxcbiAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzKS5wYWRTdGFydChcbiAgICAgICAgICAgICAgICAgICAgMixcbiAgICAgICAgICAgICAgICAgICAgJzAnXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9TZWN0aW9uKCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgc2VjdGlvbiBleGlzdHMgYmVmb3JlIHNjcm9sbGluZ1xuICAgICAgICAvLyBVc2UgYSBtb3JlIHNwZWNpZmljIHNlbGVjdG9yIGlmIG5lZWRlZFxuICAgICAgICAvLyBGb3IgZXhhbXBsZSwgaWYgdGhlIHNlY3Rpb24gaGFzIGEgc3BlY2lmaWMgY2xhc3Mgb3IgSUQsIHVzZSB0aGF0XG4gICAgICAgIC8qXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYmFieWxvbl9fYWR2YW50YWdlcycpO1xuICAgICAgICBpZiAoc2VjdGlvbikge1xuICAgICAgICAgIHNlY3Rpb24uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgIH0gKi9cbiAgICB9XG5cbiAgICBzYXZlRW5naW5lRGF0YShkYXRlaW4/OiBzdHJpbmcsIGRhdGVvdXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlZERhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlbmdpbmVEYXRhJyk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0RhdGEgPSBzdG9yZWREYXRhID8gSlNPTi5wYXJzZShzdG9yZWREYXRhKSA6IHt9O1xuXG4gICAgICAgICAgICBpZiAoZGF0ZWluICYmIGRhdGVvdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJ0c0luID0gZGF0ZWluLnNwbGl0KCctJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydHNPdXQgPSBkYXRlb3V0LnNwbGl0KCctJyk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpbkRhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyKHBhcnRzSW5bMl0pLFxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIocGFydHNJblsxXSkgLSAxLFxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIocGFydHNJblswXSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG91dERhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyKHBhcnRzT3V0WzJdKSxcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyKHBhcnRzT3V0WzFdKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgIE51bWJlcihwYXJ0c091dFswXSlcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKG91dERhdGUgPD0gaW5EYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGluRGF0ZS5zZXREYXRlKGluRGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGQgPSBTdHJpbmcoaW5EYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW0gPSBTdHJpbmcoaW5EYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB5eXl5ID0gaW5EYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVvdXQgPSBgJHtkZH0tJHttbX0tJHt5eXl5fWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaG90ZWxJZCA9IHRoaXMuaG90ZWxzVmFsdWU/LmlkIHx8IDE7XG5cbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZURhdGEgPSB7XG4gICAgICAgICAgICAgICAgcGVyaW9kX2Zyb206IGRhdGVpblxuICAgICAgICAgICAgICAgICAgICA/IGRhdGVpbi5yZXBsYWNlKC8tL2csICcvJylcbiAgICAgICAgICAgICAgICAgICAgOiBwcmV2aW91c0RhdGEucGVyaW9kX2Zyb20sXG4gICAgICAgICAgICAgICAgcGVyaW9kX3RvOiBkYXRlb3V0XG4gICAgICAgICAgICAgICAgICAgID8gZGF0ZW91dC5yZXBsYWNlKC8tL2csICcvJylcbiAgICAgICAgICAgICAgICAgICAgOiBwcmV2aW91c0RhdGEucGVyaW9kX3RvLFxuICAgICAgICAgICAgICAgIGFkdWx0czogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgfHwgMSxcbiAgICAgICAgICAgICAgICBqdW5pb3JzOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMuY29kZSB8fCAwLFxuICAgICAgICAgICAgICAgIGtpZHM6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcy5jb2RlIHx8IDAsXG4gICAgICAgICAgICAgICAgYmFiaWVzOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgfHwgMCxcbiAgICAgICAgICAgICAgICBob3RlbElkOiBob3RlbElkLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZW5naW5lRGF0YScsIEpTT04uc3RyaW5naWZ5KGVuZ2luZURhdGEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRFbmdpbmVEYXRhKCkge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgY29uc3Qgc3RvcmVkRGF0YSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2VuZ2luZURhdGEnKTtcbiAgICAgICAgaWYgKCFzdG9yZWREYXRhKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmVFbmdpbmVEYXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuTW9kYWxNdWx0aXBsZU1vdG9ycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5idWlsZFF1ZXJ5UGFyYW1zKCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5lbmdpbmVTdGF0ZS5zZXRRdWVyeVBhcmFtcyhwYXJhbXMpO1xuXG4gICAgICAgIHRoaXMub3Blbk1vZGFsTXVsdE1vdG9ycy5lbWl0KCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25Ib3RlbEkge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdGlja2V0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25HdWVzdFZhbHVlSSB7XG4gICAgYWR1bHRzOiBudW1iZXI7XG4gICAganVuaW9yczoge1xuICAgICAgICBjb2RlPzogbnVtYmVyO1xuICAgICAgICBjb2RlQWdlcz86IG51bWJlcltdO1xuICAgIH07XG4gICAga2lkczoge1xuICAgICAgICBjb2RlPzogbnVtYmVyO1xuICAgICAgICBjb2RlQWdlcz86IG51bWJlcltdO1xuICAgIH07XG4gICAgaW5mYW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25Ib3RlbHNEcm9wZG93bkkge1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBCYWJ5bG9uSG90ZWxEcm9wZG93bk9wdGlvbltdO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNtYWxsVGl0bGU/OiBzdHJpbmc7XG4gICAgZXJyb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFieWxvbkhvdGVsRHJvcGRvd25PcHRpb24ge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdGlja2VyPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICBpZD86IG51bWJlcjtcbn1cbiIsIjwhLS1EZXNrdG9wIEVuZ2luZS0tPlxuPGRpdiBjbGFzcz1cImJhYnlsb25fX2VuZ2luZSBiZ193aGl0ZVwiIFtuZ0NsYXNzXT1cInsgZW5naW5lX19jYWRlbmE6IGhvdGVscyB9XCI+XG4gICAgQGlmIChkZWZhdWx0QnV0dG9uKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZGVmYXVsdC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbbmFtZV09XCJkZWZhdWx0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1jYWxsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9TZWN0aW9uKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGRlZmF1bHRCdXR0b24gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGZvcm1cbiAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2Zvcm0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgPlxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgaG90ZWxzSW5wdXQgJiYgaG90ZWxzICYmIGhvdGVscy5vcHRpb25zICYmIGhvdGVscy5vcHRpb25zLmxlbmd0aCA+IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2lucHV0LS13cmFwcGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgaG90ZWxzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cC1kcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlsb25fX2VuZ2luZV9faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJob3RlbHMub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImhvdGVsc1wiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJob3RlbHNQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVEcm9wZG93bkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgI2hvdGVsc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhYnlsb24tYXJyb3ctYm90dG9tXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2RhdGVwaWNrZXItLXdyYXBwZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2RhdGVwaWNrZXJcIlxuICAgICAgICAgICAgICAgIFtzaG93T3RoZXJNb250aHNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1tbS15eVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uTW9kZT1cInJhbmdlXCJcbiAgICAgICAgICAgICAgICBbbnVtYmVyT2ZNb250aHNdPVwiMlwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGVwaWNrZXJEYXRhPy5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZXNcIlxuICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICNkYXRlcGlja2VyXG4gICAgICAgICAgICAgICAgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX3ByaW1hcnkgYnRuLS1saWdodCBiYWJ5bG9uLXBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLm92ZXJsYXlWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuXG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19kYXRlcGlja2VyLS1pY29uIGJhYnlsb24tYXJyb3ctYm90dG9tXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZXBpY2tlci50b2dnbGUoKVwiXG4gICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2lucHV0LS13cmFwcGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNob3dpbmdHdWVzdHMoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoZ3Vlc3RzSW5wdXQ/LnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJndWVzdC1pbmZvXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJndWVzdHNJbnB1dD8ucGxhY2Vob2xkZXIgKyAnOiAgJ1wiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19pbnB1dCBuby1jYXJldFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJndWVzdHNJbnB1dD8ucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImd1ZXN0c1wiXG4gICAgICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhYnlsb24tYXJyb3ctYm90dG9tXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAtZGlhbG9nIGNsYXNzPVwiYmFieWxvbl9fZW5naW5lX19kaWFsb2dcIiBbKHZpc2libGUpXT1cInNob3dpbmdHdWVzdHNcIj5cbiAgICAgICAgICAgIDxsaWItYmFieWxvbi1ndWVzdHMtcG9wdXBcbiAgICAgICAgICAgICAgICBbb25seUFkdWx0c109XCJvbmx5QWR1bHRzXCJcbiAgICAgICAgICAgICAgICBbc2hvd0FnZXNdPVwic2hvd0FnZXNcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwiZGVmYXVsdEd1ZXN0c1ZhbHVlXCJcbiAgICAgICAgICAgICAgICBbYWR1bHRzRHJvcGRvd25dPVwiZ3Vlc3RzPy5hZHVsdHNEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgW2FnZXNEcm9wZG93bl09XCJndWVzdHM/LmFnZXNEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgW2FnZXNMYWJlbF09XCJndWVzdHM/LmFnZXNMYWJlbFwiXG4gICAgICAgICAgICAgICAgW2JhYmllc0Ryb3Bkb3duXT1cImd1ZXN0cz8uYmFiaWVzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtraWRzRHJvcGRvd25dPVwiZ3Vlc3RzPy5raWRzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtqdW5pb3JzRHJvcGRvd25dPVwiZ3Vlc3RzPy5qdW5pb3JzRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtidG5dPVwiZ3Vlc3RzPy5idG5cIlxuICAgICAgICAgICAgICAgICNndWVzdHBpY2tlclxuICAgICAgICAgICAgICAgIChhcHBseSk9XCJndWVzdHNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2xpYi1iYWJ5bG9uLWd1ZXN0cy1wb3B1cD5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3RzLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fcHJpbWFyeSBidG4tLWxpZ2h0IGJhYnlsb24tcGx1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTaG93aW5nR3Vlc3RzKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3AtZGlhbG9nPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImJhYnlsb25fX2VuZ2luZV9faW5wdXQtLXdyYXBwZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwcm9tby1jb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uX19lbmdpbmVfX2lucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb21vSW5wdXQ/LnBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwcm9tb1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWJ5bG9uLXRhZ1wiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgIEBpZiAobXVsdGlwbGVNb3RvcnNNb2RhbCkge1xuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9jYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJidG4tc3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbE11bHRpcGxlTW90b3JzKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmIChoYXNSZXF1ZXN0SG90ZWxNb3Rvcikge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJmb3JtLnZhbGlkID8gZ2VuZXJhdGVkVXJsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwib3BlbkluTmV3V2luZG93ID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX2NhbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG4tZGlzYWJsZWQnOiBmb3JtLmludmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYWtlLWFuaW1hdGlvbic6IGhvdGVsRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYnRuLXN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybS5pbnZhbGlkID8gaGFuZGxlRGlzYWJsZWRDbGljaygkZXZlbnQpIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdlbmVyYXRlZFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwib3BlbkluTmV3V2luZG93ID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX2NhbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJidG4tc3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,10 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const request_hotel_motor = new InjectionToken('request_hotel_motor', {
3
3
  providedIn: 'root',
4
- factory: () => false, // default (p. ej. lista vacía)
4
+ factory: () => false,
5
5
  });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdF9ob3RlbF9tb3Rvci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi91dGlscy9yZXF1ZXN0X2hvdGVsX21vdG9yLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ2pELHFCQUFxQixFQUNyQjtJQUNJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsK0JBQStCO0NBQ3hELENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCByZXF1ZXN0X2hvdGVsX21vdG9yID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KFxuICAgICdyZXF1ZXN0X2hvdGVsX21vdG9yJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gZmFsc2UsIC8vIGRlZmF1bHQgKHAuIGVqLiBsaXN0YSB2YWPDrWEpXG4gICAgfVxuKTtcbiJdfQ==
6
+ export const request_hotel_motor_url = new InjectionToken('request_hotel_motor_url', {
7
+ providedIn: 'root',
8
+ factory: () => '',
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdF9ob3RlbF9tb3Rvci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi91dGlscy9yZXF1ZXN0X2hvdGVsX21vdG9yLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ2pELHFCQUFxQixFQUNyQjtJQUNJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO0NBQ3ZCLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUNyRCx5QkFBeUIsRUFDekI7SUFDSSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNwQixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgcmVxdWVzdF9ob3RlbF9tb3RvciA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPihcbiAgICAncmVxdWVzdF9ob3RlbF9tb3RvcicsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IGZhbHNlLFxuICAgIH1cbik7XG5cbmV4cG9ydCBjb25zdCByZXF1ZXN0X2hvdGVsX21vdG9yX3VybCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAgICdyZXF1ZXN0X2hvdGVsX21vdG9yX3VybCcsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+ICcnLFxuICAgIH1cbik7XG4iXX0=
@@ -9483,7 +9483,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
9483
9483
 
9484
9484
  const request_hotel_motor = new InjectionToken('request_hotel_motor', {
9485
9485
  providedIn: 'root',
9486
- factory: () => false, // default (p. ej. lista vacía)
9486
+ factory: () => false,
9487
+ });
9488
+ const request_hotel_motor_url = new InjectionToken('request_hotel_motor_url', {
9489
+ providedIn: 'root',
9490
+ factory: () => '',
9487
9491
  });
9488
9492
 
9489
9493
  class BabylonGuestsPopupComponent {
@@ -9726,6 +9730,7 @@ class BabylonEngineComponent {
9726
9730
  this.platformId = inject(PLATFORM_ID);
9727
9731
  this.engineState = inject(BabylonEngineStateService);
9728
9732
  this.hasRequestHotelMotor = inject(request_hotel_motor);
9733
+ this.requestHotelMotorUrl = inject(request_hotel_motor_url);
9729
9734
  }
9730
9735
  ngOnInit() {
9731
9736
  this.minDate.setHours(0, 0, 0, 0);
@@ -9812,7 +9817,12 @@ class BabylonEngineComponent {
9812
9817
  this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;
9813
9818
  }
9814
9819
  else {
9815
- this.generatedUrl = `${this.button?.url}?${params.toString()}`;
9820
+ if (this.requestHotelMotorUrl.length) {
9821
+ this.generatedUrl = `${this.requestHotelMotorUrl}?${params.toString()}`;
9822
+ }
9823
+ else {
9824
+ this.generatedUrl = `${this.button?.url}?${params.toString()}`;
9825
+ }
9816
9826
  }
9817
9827
  }
9818
9828
  appendGuestAges(params) {
@@ -33214,5 +33224,5 @@ function deepClean(value, opts) {
33214
33224
  * Generated bundle index. Do not edit.
33215
33225
  */
33216
33226
 
33217
- export { AdvantagesBoxV2Component, Babylon404Component, BabylonActionBannerComponent, BabylonAdvantagesComponent, BabylonAdvantagesV2Component, BabylonAvC4ImgTextComponent, BabylonAvImgSocialComponent, BabylonAvTxtIcoComponent, BabylonBaImgTxtComponent, BabylonBaSliImgTxtComponent, BabylonBannerGalleryComponent, BabylonBannerInfoComponent, BabylonBannerNewsletterComponent, BabylonBlogDetailsComponent, BabylonBlogListComponent, BabylonBookingWidgetComponent, BabylonBreadcrumbComponent, BabylonBreadcrumbV2Component, BabylonC1TxtComponent, BabylonCleanPropsPipe, BabylonColorPickerComponent, BabylonComingsoonComponent, BabylonContactAddressComponent, BabylonContactFormComponent, BabylonContactFormV2Component, BabylonContactHowComponent, BabylonContactMapComponent, BabylonContainerTextL2Component, BabylonDynamicHeadingComponent, BabylonEngineComponent, BabylonEngineModalComponent, BabylonEngineModalV2Component, BabylonEngineModalV3Component, BabylonEngineWidgetModalComponent, BabylonExternalScriptComponent, BabylonFaqComponent, BabylonFaqJoinC2ImgTxtComponent, BabylonFaqJoinC2ImgTxtV2Component, BabylonFaqV2Component, BabylonFeaturePillsComponent, BabylonFeaturePillsNumberComponent, BabylonFeaturesSliderComponent, BabylonFilterModalComponent, BabylonFloatingButtonsComponent, BabylonFoAddrContImgComponent, BabylonFoC3ImgTxtComponent, BabylonFoC3TxtSvgCtaComponent, BabylonFoLisC4TxtComponent, BabylonFoSliImgComponent, BabylonFooterContactComponent, BabylonFooterLinksComponent, BabylonFooterLogosComponent, BabylonFooterSocialComponent, BabylonFooterSocialI, BabylonFormC2TextInputComponent, BabylonGalleryComponent, BabylonGalleryV2Component, BabylonGlobalModalComponent, BabylonGrC2ImgComponent, BabylonGridGalleryComponent, BabylonGuestsPopupComponent, BabylonHeMeSvgTextCtaMotComponent, BabylonHeSvgListComponent, BabylonHeadIntroComponent, BabylonHeaderBookShowComponent, BabylonHeaderButtonsModalComponent, BabylonHeaderClearComponent, BabylonHeaderClearV2Component, BabylonHeaderMenuCenterComponent, BabylonHeaderMenuLogoCenterComponent, BabylonHeaderMenuShowComponent, BabylonHeaderMobileComponent, BabylonHotelsListComponent, BabylonHotelsSliderComponent, BabylonImgBannerComponent, BabylonInfo2ColImgComponent, BabylonInfo2imgBigComponent, BabylonInfo2imgComponent, BabylonInfo3imgComponent, BabylonInfo4imgComponent, BabylonInfoBigComponent, BabylonInfoBigV2Component, BabylonInfoBigV3Component, BabylonInfoCircleImgsComponent, BabylonInfoGridComponent, BabylonInfoGridI, BabylonInfoImgComponent, BabylonInfoImgSliderComponent, BabylonInfoImgV2Component, BabylonInfoIntroComponent, BabylonInfoShowImgComponent, BabylonInfoZigZagComponent, BabylonInfoZigZagCounterComponent, BabylonInfoZigzagV2Component, BabylonInfoZigzagV4Component, BabylonInfoZigzagV5Component, BabylonItemsGridComponent, BabylonLanguageModalComponent, BabylonLanguageModalV2Component, BabylonLanguageModalV3Component, BabylonLegalComponent, BabylonLisC2ImgVidComponent, BabylonLisC2TxtComponent, BabylonLisC4TxtIcoComponent, BabylonLisC4TxtImgPdfComponent, BabylonLisC5TxtImgSvgComponent, BabylonLisLinkCleansComponent, BabylonLisSvgTxtCtaComponent, BabylonListBoxInfoComponent, BabylonListC3ImgTxtComponent, BabylonListC6TxtComponent, BabylonListGridComponent, BabylonListGridI, BabylonListImgComponent, BabylonListImgInfoComponent, BabylonListImgV2Component, BabylonLoyaltyTableComponent, BabylonMapTxtComponent, BabylonModC2ImgTxtCtaComponent, BabylonModalMultipleMotorsComponent, BabylonModalService, BabylonNewsletterComponent, BabylonNewsletterI, BabylonNewsletterModalV2Component, BabylonOfferDetailComponent, BabylonOfferDetailV2Component, BabylonOfferPopupComponent, BabylonOfferPopupComponentV2, BabylonOfferPopupV3Component, BabylonOfferSliderComponent, BabylonOffersListComponent, BabylonOffersSliderComponent, BabylonPreloadComponent, BabylonPressListComponent, BabylonRoomDetailsComponent, BabylonRoomsColsComponent, BabylonRoomsGridComponent, BabylonRoomsListComponent, BabylonRoomsListV2Component, BabylonRoomsListV3Component, BabylonRoomsSliderComponent, BabylonServicesSliderComponent, BabylonSimpleImgInfoComponent, BabylonSliC1ImgTextComponent, BabylonSliC3SvgVidCtaComponent, BabylonSliC3TxtImgCtaComponent, BabylonSliC5ImgTxtComponent, BabylonSlider2colComponent, BabylonSlider2colV2Component, BabylonSlider2itemsComponent, BabylonSlider3ColComponent, BabylonSlider3colClearComponent, BabylonSlider3colV2Component, BabylonSlider3itemsComponent, BabylonSlider4colComponent, BabylonSliderBoxComponent, BabylonSliderImgStaticComponent, BabylonSliderImgStaticV2Component, BabylonSliderImgVideoComponent, BabylonSocialBarComponent, BabylonSocialBarV2Component, BabylonStaticFooterComponent, BabylonStaticFooterV2Component, BabylonStaticFooterV3Component, BabylonStaticFooterV4Component, BabylonStaticFooterV5Component, BabylonSubmenuHotelComponent, BabylonThanksComponent, BabylonTopSimpleBannerComponent, BabylonTopSimpleImgComponent, BabylonTopSliderComponent, BabylonTopSliderImgVideoComponent, BabylonTopSliderThumbsComponent, BabylonTopSliderV2Component, BabylonTopSliderVideoComponent, BabylonTopSliderVideoV2Component, BabylonVariantSelectorComponent, BabylonWebmapComponent, BabylonWebmapV2Component, BabylonZigZagImgTxtComponent, ButtonType, C1TxtComponent, C2ImgTxtSvgComponent, C2TxtCtaComponent, C2TxtCtaDesComponent, C2TxtImgV2Component, C2TxtImgV3Component, C2TxtMdh005Component, C2TxtRrssComponent, C2TxtSvgImgCtaComponent, C3TxtImgCtaComponent, C4C1ImgTxtCComponent, C4C1ImgTxtComponent, C4C1TxtComponent, C4FoLinkSvgComponent, C4ForC2TxtComponent, C4HeImgTxtComponent, C4LisC2ImgTxtComponent, C4MeTxtSvgCtaComponent, C4SliC2ImgTxtCComponent, C4SliC2TxtImgComponent, C4TxtSvgComponent, CarC2TxtCtaComponent, CarCuImgTxtCtaComponent, CollapsableInfoV2Component, CollapsableInfoV3Component, ComplexModuleSliderLV2Component, ComplexModuleSliderRV2Component, EquipmentV2Component, FaqsModuleRComponent, FoC0SvgLinkComponent, FoC2ImgTxtComponent, FoC3TxtIcoV2Component, FoC4TxtSvgComponent, ForC0TxtImgVHComponent, ForC0TxtImgVcComponent, GridC2ImgTxtComponent, H04SliderTextComponent, HeC3ImgIcoComponent, InnerBannerSliderV2Component, LisC1ImgTxtComponent, LisC2ImgTxtCtaComponent, LisC2ImgTxtCtaV2Component, LisC2ImgTxtCtaV3Component, LisC2ImgTxtCtaV4Component, LisC2ImgTxtCv4Component, LisC2TxtImgComponent, LisC2TxtImgSvgCComponent, LisC3FilImgTxComponent, LisC3ImgTxtComponent, LisC3ImgTxtCtaComponent, LisC3TxtImgCtComponent, LisC4TxtDesCtaComponent, ListRoomsComponent, LogoType, MapTxtV2Component, MapperService, ModuloMenuHomeComponent, ModuloMenuHotelComponent, OfferDetailV2Component, PortadaHomeComponent, PortadaHotelV1Component, SCREEN_SIZER_PARAMS_TOKEN, SCROLL_OFFSET_TOKEN, SITE_CONFIG_SERVICE_TOKEN, SafeHtmlPipe, ScreenSizerService, SliC1ImgSvgComponent, SliC2ImgComponent, SliC2ImgTxtComponent, SliC2ImgTxtCtaV3Component, SliC2ImgTxtCtaV4Component, SliC2ImgTxtCv5Component, SliC2ImgTxtLV2Component, SliC2ImgTxtRComponent, SliC2ImgTxtRV2Component, SliC2ImgTxtV2Component, SliC2ImgV2Component, SliC2TxtCarImgCComponent, SliC2TxtImgSvgCComponent, SliC3ImgTxtComponent, SliC4ImgTxtCtaComponent, SliC5ImgTxtV2Component, SliC6ImgTxtComponent, TopC2ImgTxtComponent, Utils, complex_links, normalizeGlobalItems, organization_name, request_hotel_motor };
33227
+ export { AdvantagesBoxV2Component, Babylon404Component, BabylonActionBannerComponent, BabylonAdvantagesComponent, BabylonAdvantagesV2Component, BabylonAvC4ImgTextComponent, BabylonAvImgSocialComponent, BabylonAvTxtIcoComponent, BabylonBaImgTxtComponent, BabylonBaSliImgTxtComponent, BabylonBannerGalleryComponent, BabylonBannerInfoComponent, BabylonBannerNewsletterComponent, BabylonBlogDetailsComponent, BabylonBlogListComponent, BabylonBookingWidgetComponent, BabylonBreadcrumbComponent, BabylonBreadcrumbV2Component, BabylonC1TxtComponent, BabylonCleanPropsPipe, BabylonColorPickerComponent, BabylonComingsoonComponent, BabylonContactAddressComponent, BabylonContactFormComponent, BabylonContactFormV2Component, BabylonContactHowComponent, BabylonContactMapComponent, BabylonContainerTextL2Component, BabylonDynamicHeadingComponent, BabylonEngineComponent, BabylonEngineModalComponent, BabylonEngineModalV2Component, BabylonEngineModalV3Component, BabylonEngineWidgetModalComponent, BabylonExternalScriptComponent, BabylonFaqComponent, BabylonFaqJoinC2ImgTxtComponent, BabylonFaqJoinC2ImgTxtV2Component, BabylonFaqV2Component, BabylonFeaturePillsComponent, BabylonFeaturePillsNumberComponent, BabylonFeaturesSliderComponent, BabylonFilterModalComponent, BabylonFloatingButtonsComponent, BabylonFoAddrContImgComponent, BabylonFoC3ImgTxtComponent, BabylonFoC3TxtSvgCtaComponent, BabylonFoLisC4TxtComponent, BabylonFoSliImgComponent, BabylonFooterContactComponent, BabylonFooterLinksComponent, BabylonFooterLogosComponent, BabylonFooterSocialComponent, BabylonFooterSocialI, BabylonFormC2TextInputComponent, BabylonGalleryComponent, BabylonGalleryV2Component, BabylonGlobalModalComponent, BabylonGrC2ImgComponent, BabylonGridGalleryComponent, BabylonGuestsPopupComponent, BabylonHeMeSvgTextCtaMotComponent, BabylonHeSvgListComponent, BabylonHeadIntroComponent, BabylonHeaderBookShowComponent, BabylonHeaderButtonsModalComponent, BabylonHeaderClearComponent, BabylonHeaderClearV2Component, BabylonHeaderMenuCenterComponent, BabylonHeaderMenuLogoCenterComponent, BabylonHeaderMenuShowComponent, BabylonHeaderMobileComponent, BabylonHotelsListComponent, BabylonHotelsSliderComponent, BabylonImgBannerComponent, BabylonInfo2ColImgComponent, BabylonInfo2imgBigComponent, BabylonInfo2imgComponent, BabylonInfo3imgComponent, BabylonInfo4imgComponent, BabylonInfoBigComponent, BabylonInfoBigV2Component, BabylonInfoBigV3Component, BabylonInfoCircleImgsComponent, BabylonInfoGridComponent, BabylonInfoGridI, BabylonInfoImgComponent, BabylonInfoImgSliderComponent, BabylonInfoImgV2Component, BabylonInfoIntroComponent, BabylonInfoShowImgComponent, BabylonInfoZigZagComponent, BabylonInfoZigZagCounterComponent, BabylonInfoZigzagV2Component, BabylonInfoZigzagV4Component, BabylonInfoZigzagV5Component, BabylonItemsGridComponent, BabylonLanguageModalComponent, BabylonLanguageModalV2Component, BabylonLanguageModalV3Component, BabylonLegalComponent, BabylonLisC2ImgVidComponent, BabylonLisC2TxtComponent, BabylonLisC4TxtIcoComponent, BabylonLisC4TxtImgPdfComponent, BabylonLisC5TxtImgSvgComponent, BabylonLisLinkCleansComponent, BabylonLisSvgTxtCtaComponent, BabylonListBoxInfoComponent, BabylonListC3ImgTxtComponent, BabylonListC6TxtComponent, BabylonListGridComponent, BabylonListGridI, BabylonListImgComponent, BabylonListImgInfoComponent, BabylonListImgV2Component, BabylonLoyaltyTableComponent, BabylonMapTxtComponent, BabylonModC2ImgTxtCtaComponent, BabylonModalMultipleMotorsComponent, BabylonModalService, BabylonNewsletterComponent, BabylonNewsletterI, BabylonNewsletterModalV2Component, BabylonOfferDetailComponent, BabylonOfferDetailV2Component, BabylonOfferPopupComponent, BabylonOfferPopupComponentV2, BabylonOfferPopupV3Component, BabylonOfferSliderComponent, BabylonOffersListComponent, BabylonOffersSliderComponent, BabylonPreloadComponent, BabylonPressListComponent, BabylonRoomDetailsComponent, BabylonRoomsColsComponent, BabylonRoomsGridComponent, BabylonRoomsListComponent, BabylonRoomsListV2Component, BabylonRoomsListV3Component, BabylonRoomsSliderComponent, BabylonServicesSliderComponent, BabylonSimpleImgInfoComponent, BabylonSliC1ImgTextComponent, BabylonSliC3SvgVidCtaComponent, BabylonSliC3TxtImgCtaComponent, BabylonSliC5ImgTxtComponent, BabylonSlider2colComponent, BabylonSlider2colV2Component, BabylonSlider2itemsComponent, BabylonSlider3ColComponent, BabylonSlider3colClearComponent, BabylonSlider3colV2Component, BabylonSlider3itemsComponent, BabylonSlider4colComponent, BabylonSliderBoxComponent, BabylonSliderImgStaticComponent, BabylonSliderImgStaticV2Component, BabylonSliderImgVideoComponent, BabylonSocialBarComponent, BabylonSocialBarV2Component, BabylonStaticFooterComponent, BabylonStaticFooterV2Component, BabylonStaticFooterV3Component, BabylonStaticFooterV4Component, BabylonStaticFooterV5Component, BabylonSubmenuHotelComponent, BabylonThanksComponent, BabylonTopSimpleBannerComponent, BabylonTopSimpleImgComponent, BabylonTopSliderComponent, BabylonTopSliderImgVideoComponent, BabylonTopSliderThumbsComponent, BabylonTopSliderV2Component, BabylonTopSliderVideoComponent, BabylonTopSliderVideoV2Component, BabylonVariantSelectorComponent, BabylonWebmapComponent, BabylonWebmapV2Component, BabylonZigZagImgTxtComponent, ButtonType, C1TxtComponent, C2ImgTxtSvgComponent, C2TxtCtaComponent, C2TxtCtaDesComponent, C2TxtImgV2Component, C2TxtImgV3Component, C2TxtMdh005Component, C2TxtRrssComponent, C2TxtSvgImgCtaComponent, C3TxtImgCtaComponent, C4C1ImgTxtCComponent, C4C1ImgTxtComponent, C4C1TxtComponent, C4FoLinkSvgComponent, C4ForC2TxtComponent, C4HeImgTxtComponent, C4LisC2ImgTxtComponent, C4MeTxtSvgCtaComponent, C4SliC2ImgTxtCComponent, C4SliC2TxtImgComponent, C4TxtSvgComponent, CarC2TxtCtaComponent, CarCuImgTxtCtaComponent, CollapsableInfoV2Component, CollapsableInfoV3Component, ComplexModuleSliderLV2Component, ComplexModuleSliderRV2Component, EquipmentV2Component, FaqsModuleRComponent, FoC0SvgLinkComponent, FoC2ImgTxtComponent, FoC3TxtIcoV2Component, FoC4TxtSvgComponent, ForC0TxtImgVHComponent, ForC0TxtImgVcComponent, GridC2ImgTxtComponent, H04SliderTextComponent, HeC3ImgIcoComponent, InnerBannerSliderV2Component, LisC1ImgTxtComponent, LisC2ImgTxtCtaComponent, LisC2ImgTxtCtaV2Component, LisC2ImgTxtCtaV3Component, LisC2ImgTxtCtaV4Component, LisC2ImgTxtCv4Component, LisC2TxtImgComponent, LisC2TxtImgSvgCComponent, LisC3FilImgTxComponent, LisC3ImgTxtComponent, LisC3ImgTxtCtaComponent, LisC3TxtImgCtComponent, LisC4TxtDesCtaComponent, ListRoomsComponent, LogoType, MapTxtV2Component, MapperService, ModuloMenuHomeComponent, ModuloMenuHotelComponent, OfferDetailV2Component, PortadaHomeComponent, PortadaHotelV1Component, SCREEN_SIZER_PARAMS_TOKEN, SCROLL_OFFSET_TOKEN, SITE_CONFIG_SERVICE_TOKEN, SafeHtmlPipe, ScreenSizerService, SliC1ImgSvgComponent, SliC2ImgComponent, SliC2ImgTxtComponent, SliC2ImgTxtCtaV3Component, SliC2ImgTxtCtaV4Component, SliC2ImgTxtCv5Component, SliC2ImgTxtLV2Component, SliC2ImgTxtRComponent, SliC2ImgTxtRV2Component, SliC2ImgTxtV2Component, SliC2ImgV2Component, SliC2TxtCarImgCComponent, SliC2TxtImgSvgCComponent, SliC3ImgTxtComponent, SliC4ImgTxtCtaComponent, SliC5ImgTxtV2Component, SliC6ImgTxtComponent, TopC2ImgTxtComponent, Utils, complex_links, normalizeGlobalItems, organization_name, request_hotel_motor, request_hotel_motor_url };
33218
33228
  //# sourceMappingURL=ctt-babylon.mjs.map