design-angular-kit 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, DestroyRef, inject, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { BehaviorSubject, delay, tap } from 'rxjs';
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { afterNextRender, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, Input, NgZone, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
4
+ import { delay } from 'rxjs';
5
5
  import videojs from 'video.js';
6
6
  import { ItAbstractComponent } from '../../../abstracts/abstract.component';
7
7
  import { VideoPlayerI18nService } from './video-player-i18n.service';
@@ -19,50 +19,47 @@ var ViewType;
19
19
  */
20
20
  export class ItVideoPlayerComponent extends ItAbstractComponent {
21
21
  #destroyRef;
22
- get viewType() {
23
- return this.viewType$.value;
24
- }
25
22
  constructor(config) {
26
23
  super();
27
24
  this.config = config;
25
+ this.player = null;
28
26
  this.viewTypes = ViewType;
29
- this.viewType$ = new BehaviorSubject(undefined);
30
- this.cookieAccepted$ = new BehaviorSubject(false);
27
+ this.viewType = signal(undefined);
28
+ this.cookieAccepted = signal(false);
31
29
  this.i18nService = inject(VideoPlayerI18nService);
32
30
  this.#destroyRef = inject(DestroyRef);
31
+ this.ngZone = inject(NgZone);
32
+ this.injector = inject(Injector);
33
+ afterNextRender(() => {
34
+ if (this.viewType() === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com')) {
35
+ this.hideOverlay();
36
+ }
37
+ });
38
+ this.#destroyRef.onDestroy(() => this.player?.dispose());
33
39
  }
34
40
  async ngOnInit() {
35
41
  const config = this.config.mergeConfig(this.options);
36
42
  this.setViewType(config);
37
- await this.config.configureTech(config);
43
+ // Avoid running change detections while the script is being loaded.
44
+ await this.ngZone.runOutsideAngular(() => this.config.configureTech(config));
38
45
  if (!this.videoPlayerRef) {
39
- this.cookieAccepted$
40
- .pipe(takeUntilDestroyed(this.#destroyRef), delay(0), tap({
41
- next: value => {
42
- if (value && !this.player) {
43
- this.initVideoPlayer();
44
- }
45
- },
46
- }))
47
- .subscribe();
46
+ // Note: No need to pipe with `takeUntilDestroyed`; `toObservable` is
47
+ // completed by Angular when the `DestroyRef` from the injector is destroyed.
48
+ toObservable(this.cookieAccepted, { injector: this.injector })
49
+ .pipe(delay(0))
50
+ .subscribe(value => {
51
+ if (value && !this.player) {
52
+ this.initVideoPlayer();
53
+ }
54
+ });
48
55
  return;
49
56
  }
50
57
  this.initVideoPlayer();
51
58
  }
52
- ngAfterViewInit() {
53
- if (this.viewType === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com')) {
54
- this.hideOverlay();
55
- }
56
- }
57
- ngOnDestroy() {
58
- if (this.player) {
59
- this.player.dispose();
60
- }
61
- }
62
59
  acceptCookieHandler() {
63
60
  this.rememberHandler();
64
61
  this.hideOverlay();
65
- this.cookieAccepted$.next(true);
62
+ this.cookieAccepted.set(true);
66
63
  }
67
64
  initVideoPlayer() {
68
65
  const config = this.config.mergeConfig(this.options);
@@ -77,14 +74,15 @@ export class ItVideoPlayerComponent extends ItAbstractComponent {
77
74
  }
78
75
  this.i18nService.init(this.player, this.#destroyRef);
79
76
  };
80
- if (!this.videoPlayerRef) {
77
+ const element = this.videoPlayerRef?.nativeElement;
78
+ if (!element) {
81
79
  throw Error('videoPlayerRef is undefined');
82
80
  }
83
- this.player = videojs(this.videoPlayerRef.nativeElement, config, onPlayerReadyCb.bind(this));
81
+ this.player = this.ngZone.runOutsideAngular(() => videojs(element, config, onPlayerReadyCb));
84
82
  }
85
83
  setViewType(config) {
86
- this.viewType$.next(config.tech === 'youtube' ? ViewType.Overlay : ViewType.Default);
87
- this.cookieAccepted$.next(this.viewType === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com'));
84
+ this.viewType.set(config.tech === 'youtube' ? ViewType.Overlay : ViewType.Default);
85
+ this.cookieAccepted.set(this.viewType() === ViewType.Overlay && cookies.isChoiceRemembered('youtube.com'));
88
86
  }
89
87
  hideOverlay() {
90
88
  if (!this.acceptOverlayableRef) {
@@ -133,7 +131,7 @@ export class ItVideoPlayerComponent extends ItAbstractComponent {
133
131
  v.setAttribute('playsinline', '');
134
132
  }
135
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerComponent, deps: [{ token: i1.VideoPlayerConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
136
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItVideoPlayerComponent, isStandalone: true, selector: "it-video-player", inputs: { options: "options" }, viewQueries: [{ propertyName: "videoPlayerRef", first: true, predicate: ["videoPlayer"], descendants: true }, { propertyName: "acceptOveralyRef", first: true, predicate: ["acceptOveraly"], descendants: true }, { propertyName: "acceptOverlayableRef", first: true, predicate: ["acceptOverlayable"], descendants: true }, { propertyName: "chrRememberRef", first: true, predicate: ["chkRemember"], descendants: true }], usesInheritance: true, ngImport: i0, template: `@switch (viewType$ | async) {
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItVideoPlayerComponent, isStandalone: true, selector: "it-video-player", inputs: { options: "options" }, viewQueries: [{ propertyName: "videoPlayerRef", first: true, predicate: ["videoPlayer"], descendants: true }, { propertyName: "acceptOveralyRef", first: true, predicate: ["acceptOveraly"], descendants: true }, { propertyName: "acceptOverlayableRef", first: true, predicate: ["acceptOverlayable"], descendants: true }, { propertyName: "chrRememberRef", first: true, predicate: ["chkRemember"], descendants: true }], usesInheritance: true, ngImport: i0, template: `@switch (viewType()) {
137
135
  @case (viewTypes.Default) {
138
136
  <div class="row">
139
137
  <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
@@ -160,7 +158,7 @@ export class ItVideoPlayerComponent extends ItAbstractComponent {
160
158
  </div>
161
159
  </div>
162
160
  </div>
163
- @if (cookieAccepted$ | async) {
161
+ @if (cookieAccepted()) {
164
162
  <div>
165
163
  <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
166
164
  <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
@@ -203,14 +201,14 @@ export class ItVideoPlayerComponent extends ItAbstractComponent {
203
201
  </div>
204
202
  </div>
205
203
  </div>
206
- </ng-template> `, isInline: true, dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
204
+ </ng-template> `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
205
  }
208
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItVideoPlayerComponent, decorators: [{
209
207
  type: Component,
210
208
  args: [{
211
209
  standalone: true,
212
210
  selector: 'it-video-player',
213
- template: `@switch (viewType$ | async) {
211
+ template: `@switch (viewType()) {
214
212
  @case (viewTypes.Default) {
215
213
  <div class="row">
216
214
  <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
@@ -237,7 +235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
237
235
  </div>
238
236
  </div>
239
237
  </div>
240
- @if (cookieAccepted$ | async) {
238
+ @if (cookieAccepted()) {
241
239
  <div>
242
240
  <ng-container *ngTemplateOutlet="videoTemplate"></ng-container>
243
241
  <ng-container *ngTemplateOutlet="transcriptionTemplate"></ng-container>
@@ -281,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
281
279
  </div>
282
280
  </div>
283
281
  </ng-template> `,
284
- imports: [AsyncPipe, NgTemplateOutlet],
282
+ imports: [NgTemplateOutlet],
285
283
  encapsulation: ViewEncapsulation.None,
286
284
  changeDetection: ChangeDetectionStrategy.OnPush,
287
285
  }]
@@ -300,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
300
298
  type: ViewChild,
301
299
  args: ['chkRemember', { static: false }]
302
300
  }] } });
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2hELElBQUssUUFHSjtBQUhELFdBQUssUUFBUTtJQUNYLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFISSxRQUFRLEtBQVIsUUFBUSxRQUdaO0FBRUQ7OztHQUdHO0FBK0VILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUF3QnBELFdBQVcsQ0FBc0I7SUFFMUMsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQW9CLE1BQWdDO1FB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O1FBQ2xDLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OEdBaEtVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlpQkEzRXZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQXNFUSx1REFDUixTQUFTLDhDQUFFLGdCQUFnQjs7MkZBSTFCLHNCQUFzQjtrQkE5RWxDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztvQkFzRVE7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDdEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs2RkFLVSxPQUFPO3NCQUFmLEtBQUs7Z0JBRXVDLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFSSxnQkFBZ0I7c0JBQTlELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFTSxvQkFBb0I7c0JBQXRFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVKLGNBQWM7c0JBQTFELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlbGF5LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB2aWRlb2pzIGZyb20gJ3ZpZGVvLmpzJztcbmltcG9ydCBQbGF5ZXIgZnJvbSAndmlkZW8uanMvZGlzdC90eXBlcy9wbGF5ZXInO1xuaW1wb3J0IHsgSXRBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlkZW9QbGF5ZXJJMThuU2VydmljZSB9IGZyb20gJy4vdmlkZW8tcGxheWVyLWkxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUZWNoLCBWaWRlb1BsYXllckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5jb25maWcnO1xuaW1wb3J0IHsgY29va2llcyB9IGZyb20gJy4vdmlkZW8tcGxheWVyLmNvb2tpZSc7XG5pbXBvcnQgeyBJdFZpZGVvUGxheWVyQ29uZmlnLCBJdFZpZGVvUGxheWVyT3B0aW9ucyB9IGZyb20gJy4vdmlkZW8tcGxheWVyLm1vZGVsJztcblxuZW51bSBWaWV3VHlwZSB7XG4gIERlZmF1bHQgPSAnREVGQVVMVCcsXG4gIE92ZXJsYXkgPSAnT1ZFUkxBWScsXG59XG5cbi8qKlxuICogVmlkZW8gUGxheWVyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50IHRoYXQgYWxsb3dzIHBsYXlpbmcgYSB2aWRlby5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtdmlkZW8tcGxheWVyJyxcbiAgdGVtcGxhdGU6IGBAc3dpdGNoICh2aWV3VHlwZSQgfCBhc3luYykge1xuICAgICAgQGNhc2UgKHZpZXdUeXBlcy5EZWZhdWx0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlkZW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NyaXB0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAY2FzZSAodmlld1R5cGVzLk92ZXJsYXkpIHtcbiAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmxheWFibGUgY2xhc3M9XCJhY2NlcHRvdmVybGF5YWJsZSBzaG93XCI+XG4gICAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmFseSBjbGFzcz1cImFjY2VwdG92ZXJsYXkgYWNjZXB0b3ZlcmxheS1wcmltYXJ5IGZhZGUgc2hvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaW5uZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaWNvblwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uIGljb24teGxcIj48dXNlIGhyZWY9XCIvYm9vdHN0cmFwLWl0YWxpYS9kaXN0L3N2Zy9zcHJpdGVzLnN2ZyNpdC12aWRlb1wiPjwvdXNlPjwvc3ZnPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgQWNjZXR0YSBpIGNvb2tpZSBkaSBZb3VUdWJlIHBlciB2ZWRlcmUgaWwgdmlkZW8uIFB1b2kgZ2VzdGlyZSBsZSBwcmVmZXJlbnplIG5lbGxhXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtd2hpdGVcIj5jb29raWUgcG9saWN5PC9hPi5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjZXB0b3ZlcmxheS1idXR0b25zIGJnLWRhcmtcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhY2NlcHRDb29raWVIYW5kbGVyKClcIj5BY2NldHRhPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImNoay1yZW1lbWJlcnt7IGlkIH19XCIgdHlwZT1cImNoZWNrYm94XCIgI2Noa1JlbWVtYmVyIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2hrLXJlbWVtYmVye3sgaWQgfX1cIj5SaWNvcmRhIHBlciB0dXR0aSBpIHZpZGVvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKGNvb2tpZUFjY2VwdGVkJCB8IGFzeW5jKSB7XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlkZW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJhbnNjcmlwdGlvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGRlZmF1bHQge1xuICAgICAgICA8aDE+Tm8gdmlkZW8gcHJvdmlkZXI8L2gxPlxuICAgICAgfVxuICAgIH1cbiAgICA8bmctdGVtcGxhdGUgI3ZpZGVvVGVtcGxhdGU+XG4gICAgICA8ZGl2PlxuICAgICAgICA8dmlkZW8gI3ZpZGVvUGxheWVyIGNsYXNzPVwidmlkZW8tanMgdmpzLXRoZW1lLWJvb3RzdHJhcC1pdGFsaWEgdmpzLWZsdWlkIHZqcy1iaWctcGxheS1jZW50ZXJlZFwiPjwvdmlkZW8+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0cmFuc2NyaXB0aW9uVGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwidmpzLXRyYW5zY3JpcHRpb24gYWNjb3JkaW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiPlxuICAgICAgICAgIDxoMiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXIgXCIgaWQ9XCJ0cmFuc2NyaXB0aW9uLXt7IGlkIH19LWhlYWRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2NvcmRpb24tYnV0dG9uIGNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10YXJnZXRdPVwiJyN0cmFuc2NyaXB0aW9uLScgKyBpZFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RyYW5zY3JpcHRpb24tJyArIGlkXCJcbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cInRydWVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RyYW5zY3JpcHRpb25UaXRsZV1cIj5UcmFzY3JpemlvbmU8L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGlkPVwidHJhbnNjcmlwdGlvbi17eyBpZCB9fVwiXG4gICAgICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1jb2xsYXBzZSBjb2xsYXBzZVwiXG4gICAgICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndHJhbnNjcmlwdGlvbi0nICsgaWQgKyAnLWhlYWQnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWJvZHlcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RyYW5zY3JpcHRpb25UZXh0XVwiPi08L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPiBgLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEl0VmlkZW9QbGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdmlkZW8gcGxheWVyIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBJdFZpZGVvUGxheWVyT3B0aW9ucztcblxuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWRlb1BsYXllclJlZj86IEVsZW1lbnRSZWY8SFRNTFZpZGVvRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYWNjZXB0T3ZlcmFseScsIHsgc3RhdGljOiBmYWxzZSB9KSBhY2NlcHRPdmVyYWx5UmVmPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYWNjZXB0T3ZlcmxheWFibGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgYWNjZXB0T3ZlcmxheWFibGVSZWY/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdjaGtSZW1lbWJlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjaHJSZW1lbWJlclJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcGxheWVyPzogUGxheWVyO1xuXG4gIHJlYWRvbmx5IHZpZXdUeXBlcyA9IFZpZXdUeXBlO1xuXG4gIHJlYWRvbmx5IHZpZXdUeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Vmlld1R5cGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29va2llQWNjZXB0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGkxOG5TZXJ2aWNlID0gaW5qZWN0KFZpZGVvUGxheWVySTE4blNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgZ2V0IHZpZXdUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdUeXBlJC52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBWaWRlb1BsYXllckNvbmZpZ1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcubWVyZ2VDb25maWcodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnNldFZpZXdUeXBlKGNvbmZpZyk7XG4gICAgYXdhaXQgdGhpcy5jb25maWcuY29uZmlndXJlVGVjaChjb25maWcgYXMgeyB0ZWNoOiBUZWNoIH0pO1xuXG4gICAgaWYgKCF0aGlzLnZpZGVvUGxheWVyUmVmKSB7XG4gICAgICB0aGlzLmNvb2tpZUFjY2VwdGVkJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG4gICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLnBsYXllcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFZpZGVvUGxheWVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbml0VmlkZW9QbGF5ZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy52aWV3VHlwZSA9PT0gVmlld1R5cGUuT3ZlcmxheSAmJiBjb29raWVzLmlzQ2hvaWNlUmVtZW1iZXJlZCgneW91dHViZS5jb20nKSkge1xuICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnBsYXllcikge1xuICAgICAgdGhpcy5wbGF5ZXIuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFjY2VwdENvb2tpZUhhbmRsZXIoKSB7XG4gICAgdGhpcy5yZW1lbWJlckhhbmRsZXIoKTtcbiAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgdGhpcy5jb29raWVBY2NlcHRlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFZpZGVvUGxheWVyKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnLm1lcmdlQ29uZmlnKHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5zZXRWaWRlb0F0dHJpYnV0ZXMoY29uZmlnKTtcbiAgICB0aGlzLnNldFZpZGVvUGxheWVyKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFZpZGVvUGxheWVyKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnLm1lcmdlQ29uZmlnKHRoaXMub3B0aW9ucyk7XG4gICAgY29uc3Qgb25QbGF5ZXJSZWFkeUNiID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnBsYXllcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmkxOG5TZXJ2aWNlLmluaXQodGhpcy5wbGF5ZXIsIHRoaXMuI2Rlc3Ryb3lSZWYpO1xuICAgIH07XG5cbiAgICBpZiAoIXRoaXMudmlkZW9QbGF5ZXJSZWYpIHtcbiAgICAgIHRocm93IEVycm9yKCd2aWRlb1BsYXllclJlZiBpcyB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLnBsYXllciA9IHZpZGVvanModGhpcy52aWRlb1BsYXllclJlZi5uYXRpdmVFbGVtZW50LCBjb25maWcsIG9uUGxheWVyUmVhZHlDYi5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Vmlld1R5cGUoY29uZmlnOiBJdFZpZGVvUGxheWVyQ29uZmlnKSB7XG4gICAgdGhpcy52aWV3VHlwZSQubmV4dChjb25maWcudGVjaCA9PT0gJ3lvdXR1YmUnID8gVmlld1R5cGUuT3ZlcmxheSA6IFZpZXdUeXBlLkRlZmF1bHQpO1xuXG4gICAgdGhpcy5jb29raWVBY2NlcHRlZCQubmV4dCh0aGlzLnZpZXdUeXBlID09PSBWaWV3VHlwZS5PdmVybGF5ICYmIGNvb2tpZXMuaXNDaG9pY2VSZW1lbWJlcmVkKCd5b3V0dWJlLmNvbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLmFjY2VwdE92ZXJsYXlhYmxlUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzZXMgPSBbJ3Nob3cnXTtcbiAgICB0aGlzLmFjY2VwdE92ZXJsYXlhYmxlUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jbGFzc2VzKTtcbiAgICBpZiAoIXRoaXMuYWNjZXB0T3ZlcmFseVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFjY2VwdE92ZXJhbHlSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmNsYXNzZXMpO1xuICAgIHRoaXMuYWNjZXB0T3ZlcmFseVJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1lbWJlckhhbmRsZXIoKSB7XG4gICAgaWYgKCF0aGlzLmNoclJlbWVtYmVyUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHJlbWVtYmVyID0gdGhpcy5jaHJSZW1lbWJlclJlZi5uYXRpdmVFbGVtZW50LmNoZWNrZWQ7XG4gICAgY29va2llcy5yZW1lbWJlckNob2ljZSgneW91dHViZS5jb20nLCByZW1lbWJlcik7XG4gIH1cblxuICBwcml2YXRlIHNldFZpZGVvQXR0cmlidXRlcyhvcHRpb25zOiBJdFZpZGVvUGxheWVyT3B0aW9ucykge1xuICAgIGlmICghdGhpcy52aWRlb1BsYXllclJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2ID0gdGhpcy52aWRlb1BsYXllclJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgeyBhdXRvcGxheSwgY29udHJvbHMsIGxvb3AsIG11dGVkLCBwb3N0ZXIsIGZsdWlkIH0gPSBvcHRpb25zO1xuXG4gICAgaWYgKGF1dG9wbGF5KSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCBhdXRvcGxheS50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbHMpIHtcbiAgICAgIHYuc2V0QXR0cmlidXRlKCdjb250cm9scycsICcnKTtcbiAgICB9XG5cbiAgICBpZiAobG9vcCkge1xuICAgICAgdi5zZXRBdHRyaWJ1dGUoJ2xvb3AnLCAnJyk7XG4gICAgfVxuXG4gICAgaWYgKG11dGVkKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnbXV0ZWQnLCAnJyk7XG4gICAgfVxuXG4gICAgaWYgKHBvc3Rlcikge1xuICAgICAgdi5zZXRBdHRyaWJ1dGUoJ3Bvc3RlcicsIHBvc3Rlcik7XG4gICAgfVxuXG4gICAgaWYgKGZsdWlkKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnZmx1aWQnLCAnJyk7XG4gICAgfVxuXG4gICAgdi5zZXRBdHRyaWJ1dGUoJ3ByZWxvYWQnLCAnbm9uZScpO1xuICAgIHYuc2V0QXR0cmlidXRlKCdwbGF5c2lubGluZScsICcnKTtcbiAgfVxufVxuIl19
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8tcGxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFHL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHaEQsSUFBSyxRQUdKO0FBSEQsV0FBSyxRQUFRO0lBQ1gsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhJLFFBQVEsS0FBUixRQUFRLFFBR1o7QUFFRDs7O0dBR0c7QUErRUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG1CQUFtQjtJQXdCcEQsV0FBVyxDQUFzQjtJQUsxQyxZQUFvQixNQUFnQztRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQTBCO1FBZnBELFdBQU0sR0FB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QWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB2aWRlb2pzIGZyb20gJ3ZpZGVvLmpzJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICd2aWRlby5qcy9kaXN0L3R5cGVzL3BsYXllcic7XG5cbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZGVvUGxheWVySTE4blNlcnZpY2UgfSBmcm9tICcuL3ZpZGVvLXBsYXllci1pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVjaCwgVmlkZW9QbGF5ZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi92aWRlby1wbGF5ZXIuY29uZmlnJztcbmltcG9ydCB7IGNvb2tpZXMgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5jb29raWUnO1xuaW1wb3J0IHsgSXRWaWRlb1BsYXllckNvbmZpZywgSXRWaWRlb1BsYXllck9wdGlvbnMgfSBmcm9tICcuL3ZpZGVvLXBsYXllci5tb2RlbCc7XG5cbmVudW0gVmlld1R5cGUge1xuICBEZWZhdWx0ID0gJ0RFRkFVTFQnLFxuICBPdmVybGF5ID0gJ09WRVJMQVknLFxufVxuXG4vKipcbiAqIFZpZGVvIFBsYXllclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudCB0aGF0IGFsbG93cyBwbGF5aW5nIGEgdmlkZW8uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LXZpZGVvLXBsYXllcicsXG4gIHRlbXBsYXRlOiBgQHN3aXRjaCAodmlld1R5cGUoKSkge1xuICAgICAgQGNhc2UgKHZpZXdUeXBlcy5EZWZhdWx0KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlkZW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NyaXB0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAY2FzZSAodmlld1R5cGVzLk92ZXJsYXkpIHtcbiAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmxheWFibGUgY2xhc3M9XCJhY2NlcHRvdmVybGF5YWJsZSBzaG93XCI+XG4gICAgICAgICAgPGRpdiAjYWNjZXB0T3ZlcmFseSBjbGFzcz1cImFjY2VwdG92ZXJsYXkgYWNjZXB0b3ZlcmxheS1wcmltYXJ5IGZhZGUgc2hvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaW5uZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjY2VwdG92ZXJsYXktaWNvblwiPlxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uIGljb24teGxcIj48dXNlIGhyZWY9XCIvYm9vdHN0cmFwLWl0YWxpYS9kaXN0L3N2Zy9zcHJpdGVzLnN2ZyNpdC12aWRlb1wiPjwvdXNlPjwvc3ZnPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgQWNjZXR0YSBpIGNvb2tpZSBkaSBZb3VUdWJlIHBlciB2ZWRlcmUgaWwgdmlkZW8uIFB1b2kgZ2VzdGlyZSBsZSBwcmVmZXJlbnplIG5lbGxhXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRleHQtd2hpdGVcIj5jb29raWUgcG9saWN5PC9hPi5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjZXB0b3ZlcmxheS1idXR0b25zIGJnLWRhcmtcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJhY2NlcHRDb29raWVIYW5kbGVyKClcIj5BY2NldHRhPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImNoay1yZW1lbWJlcnt7IGlkIH19XCIgdHlwZT1cImNoZWNrYm94XCIgI2Noa1JlbWVtYmVyIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2hrLXJlbWVtYmVye3sgaWQgfX1cIj5SaWNvcmRhIHBlciB0dXR0aSBpIHZpZGVvPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKGNvb2tpZUFjY2VwdGVkKCkpIHtcbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2aWRlb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NyaXB0aW9uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIDxoMT5ObyB2aWRlbyBwcm92aWRlcjwvaDE+XG4gICAgICB9XG4gICAgfVxuICAgIDxuZy10ZW1wbGF0ZSAjdmlkZW9UZW1wbGF0ZT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDx2aWRlbyAjdmlkZW9QbGF5ZXIgY2xhc3M9XCJ2aWRlby1qcyB2anMtdGhlbWUtYm9vdHN0cmFwLWl0YWxpYSB2anMtZmx1aWQgdmpzLWJpZy1wbGF5LWNlbnRlcmVkXCI+PC92aWRlbz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3RyYW5zY3JpcHRpb25UZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2anMtdHJhbnNjcmlwdGlvbiBhY2NvcmRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1pdGVtXCI+XG4gICAgICAgICAgPGgyIGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlciBcIiBpZD1cInRyYW5zY3JpcHRpb24te3sgaWQgfX0taGVhZFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1idXR0b24gY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXRhcmdldF09XCInI3RyYW5zY3JpcHRpb24tJyArIGlkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndHJhbnNjcmlwdGlvbi0nICsgaWRcIlxuICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHJhbnNjcmlwdGlvblRpdGxlXVwiPlRyYXNjcml6aW9uZTwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJ0cmFuc2NyaXB0aW9uLXt7IGlkIH19XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjb3JkaW9uLWNvbGxhcHNlIGNvbGxhcHNlXCJcbiAgICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0cmFuc2NyaXB0aW9uLScgKyBpZCArICctaGVhZCdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiPlxuICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHJhbnNjcmlwdGlvblRleHRdXCI+LTwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+IGAsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEl0VmlkZW9QbGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHZpZGVvIHBsYXllciBjb25maWd1cmF0aW9uXG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25zITogSXRWaWRlb1BsYXllck9wdGlvbnM7XG5cbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlkZW9QbGF5ZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxWaWRlb0VsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2FjY2VwdE92ZXJhbHknLCB7IHN0YXRpYzogZmFsc2UgfSkgYWNjZXB0T3ZlcmFseVJlZj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2FjY2VwdE92ZXJsYXlhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGFjY2VwdE92ZXJsYXlhYmxlUmVmPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnY2hrUmVtZW1iZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY2hyUmVtZW1iZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHBsYXllcjogUGxheWVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcmVhZG9ubHkgdmlld1R5cGVzID0gVmlld1R5cGU7XG5cbiAgcmVhZG9ubHkgdmlld1R5cGUgPSBzaWduYWw8Vmlld1R5cGUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgY29va2llQWNjZXB0ZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpMThuU2VydmljZSA9IGluamVjdChWaWRlb1BsYXllckkxOG5TZXJ2aWNlKTtcblxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogVmlkZW9QbGF5ZXJDb25maWdTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy52aWV3VHlwZSgpID09PSBWaWV3VHlwZS5PdmVybGF5ICYmIGNvb2tpZXMuaXNDaG9pY2VSZW1lbWJlcmVkKCd5b3V0dWJlLmNvbScpKSB7XG4gICAgICAgIHRoaXMuaGlkZU92ZXJsYXkoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuI2Rlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHRoaXMucGxheWVyPy5kaXNwb3NlKCkpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcubWVyZ2VDb25maWcodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnNldFZpZXdUeXBlKGNvbmZpZyk7XG4gICAgLy8gQXZvaWQgcnVubmluZyBjaGFuZ2UgZGV0ZWN0aW9ucyB3aGlsZSB0aGUgc2NyaXB0IGlzIGJlaW5nIGxvYWRlZC5cbiAgICBhd2FpdCB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmNvbmZpZy5jb25maWd1cmVUZWNoKGNvbmZpZyBhcyB7IHRlY2g6IFRlY2ggfSkpO1xuXG4gICAgaWYgKCF0aGlzLnZpZGVvUGxheWVyUmVmKSB7XG4gICAgICAvLyBOb3RlOiBObyBuZWVkIHRvIHBpcGUgd2l0aCBgdGFrZVVudGlsRGVzdHJveWVkYDsgYHRvT2JzZXJ2YWJsZWAgaXNcbiAgICAgIC8vIGNvbXBsZXRlZCBieSBBbmd1bGFyIHdoZW4gdGhlIGBEZXN0cm95UmVmYCBmcm9tIHRoZSBpbmplY3RvciBpcyBkZXN0cm95ZWQuXG4gICAgICB0b09ic2VydmFibGUodGhpcy5jb29raWVBY2NlcHRlZCwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KVxuICAgICAgICAucGlwZShkZWxheSgwKSlcbiAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgaWYgKHZhbHVlICYmICF0aGlzLnBsYXllcikge1xuICAgICAgICAgICAgdGhpcy5pbml0VmlkZW9QbGF5ZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbml0VmlkZW9QbGF5ZXIoKTtcbiAgfVxuXG4gIGFjY2VwdENvb2tpZUhhbmRsZXIoKSB7XG4gICAgdGhpcy5yZW1lbWJlckhhbmRsZXIoKTtcbiAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgdGhpcy5jb29raWVBY2NlcHRlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRWaWRlb1BsYXllcigpIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZy5tZXJnZUNvbmZpZyh0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuc2V0VmlkZW9BdHRyaWJ1dGVzKGNvbmZpZyk7XG4gICAgdGhpcy5zZXRWaWRlb1BsYXllcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWaWRlb1BsYXllcigpIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZy5tZXJnZUNvbmZpZyh0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IG9uUGxheWVyUmVhZHlDYiA9ICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5wbGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5pMThuU2VydmljZS5pbml0KHRoaXMucGxheWVyLCB0aGlzLiNkZXN0cm95UmVmKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMudmlkZW9QbGF5ZXJSZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICB0aHJvdyBFcnJvcigndmlkZW9QbGF5ZXJSZWYgaXMgdW5kZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5wbGF5ZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB2aWRlb2pzKGVsZW1lbnQsIGNvbmZpZywgb25QbGF5ZXJSZWFkeUNiKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZpZXdUeXBlKGNvbmZpZzogSXRWaWRlb1BsYXllckNvbmZpZykge1xuICAgIHRoaXMudmlld1R5cGUuc2V0KGNvbmZpZy50ZWNoID09PSAneW91dHViZScgPyBWaWV3VHlwZS5PdmVybGF5IDogVmlld1R5cGUuRGVmYXVsdCk7XG5cbiAgICB0aGlzLmNvb2tpZUFjY2VwdGVkLnNldCh0aGlzLnZpZXdUeXBlKCkgPT09IFZpZXdUeXBlLk92ZXJsYXkgJiYgY29va2llcy5pc0Nob2ljZVJlbWVtYmVyZWQoJ3lvdXR1YmUuY29tJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlT3ZlcmxheSgpIHtcbiAgICBpZiAoIXRoaXMuYWNjZXB0T3ZlcmxheWFibGVSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IFsnc2hvdyddO1xuICAgIHRoaXMuYWNjZXB0T3ZlcmxheWFibGVSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmNsYXNzZXMpO1xuICAgIGlmICghdGhpcy5hY2NlcHRPdmVyYWx5UmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWNjZXB0T3ZlcmFseVJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uY2xhc3Nlcyk7XG4gICAgdGhpcy5hY2NlcHRPdmVyYWx5UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gIH1cblxuICBwcml2YXRlIHJlbWVtYmVySGFuZGxlcigpIHtcbiAgICBpZiAoIXRoaXMuY2hyUmVtZW1iZXJSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVtZW1iZXIgPSB0aGlzLmNoclJlbWVtYmVyUmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tlZDtcbiAgICBjb29raWVzLnJlbWVtYmVyQ2hvaWNlKCd5b3V0dWJlLmNvbScsIHJlbWVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmlkZW9BdHRyaWJ1dGVzKG9wdGlvbnM6IEl0VmlkZW9QbGF5ZXJPcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLnZpZGVvUGxheWVyUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHYgPSB0aGlzLnZpZGVvUGxheWVyUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCB7IGF1dG9wbGF5LCBjb250cm9scywgbG9vcCwgbXV0ZWQsIHBvc3RlciwgZmx1aWQgfSA9IG9wdGlvbnM7XG5cbiAgICBpZiAoYXV0b3BsYXkpIHtcbiAgICAgIHYuc2V0QXR0cmlidXRlKCdhdXRvcGxheScsIGF1dG9wbGF5LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmIChjb250cm9scykge1xuICAgICAgdi5zZXRBdHRyaWJ1dGUoJ2NvbnRyb2xzJywgJycpO1xuICAgIH1cblxuICAgIGlmIChsb29wKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgnbG9vcCcsICcnKTtcbiAgICB9XG5cbiAgICBpZiAobXV0ZWQpIHtcbiAgICAgIHYuc2V0QXR0cmlidXRlKCdtdXRlZCcsICcnKTtcbiAgICB9XG5cbiAgICBpZiAocG9zdGVyKSB7XG4gICAgICB2LnNldEF0dHJpYnV0ZSgncG9zdGVyJywgcG9zdGVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmx1aWQpIHtcbiAgICAgIHYuc2V0QXR0cmlidXRlKCdmbHVpZCcsICcnKTtcbiAgICB9XG5cbiAgICB2LnNldEF0dHJpYnV0ZSgncHJlbG9hZCcsICdub25lJyk7XG4gICAgdi5zZXRBdHRyaWJ1dGUoJ3BsYXlzaW5saW5lJywgJycpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { ItVideoPlayerComponent } from '../public_api';
2
+ import { ItVideoPlayerComponent } from './components/core/video-player/video-player.component';
3
3
  import { ItAccordionComponent } from './components/core/accordion/accordion.component';
4
4
  import { ItAlertComponent } from './components/core/alert/alert.component';
5
5
  import { ItAvatarModule } from './components/core/avatar/avatar.module';
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
234
234
  exports: components,
235
235
  }]
236
236
  }] });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFF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Z0JBQWdCO1lBR2hCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUVyQixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFFYixnQkFBZ0IsRUE4QlAsa0JBQWtCO1lBQzNCLFlBQVksRUF2QloscUJBQXFCO1lBRXJCLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsY0FBYztZQUdkLGdCQUFnQixFQU9ILG9CQUFvQixFQUFtQiwyQkFBMkIsRUE5Qy9FLGNBQWM7WUFLZCxnQkFBZ0I7WUFHaEIsY0FBYztZQUNkLGdCQUFnQjtZQUdoQixZQUFZO1lBUVosZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxhQUFhO1lBRWIsZ0JBQWdCLEVBOEJQLGtCQUFrQjtZQUMzQixZQUFZLEVBckJaLG1CQUFtQjtZQUVuQixjQUFjO1lBR2QsZ0JBQWdCOzsyRkEwQkwsc0JBQXNCO2tCQUpsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxVQUFVO29CQUNuQixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRWaWRlb1BsYXllckNvbXBvbmVudCB9IGZyb20gJy4uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgSXRBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0QXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgSXRCYWRnZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0Q2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdENhcm91c2VsTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2Fyb3VzZWwvY2Fyb3VzZWwubW9kdWxlJztcbmltcG9ydCB7IEl0Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NoaXAvY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NvbGxhcHNlL2NvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdERpbW1lck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2RpbW1lci9kaW1tZXIubW9kdWxlJztcbmltcG9ydCB7IEl0RHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnO1xuaW1wb3J0IHsgSXRGb3J3YXJkRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGlzdE1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgSXRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5vdGlmaWNhdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0U3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRhYk1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RhYi90YWIubW9kdWxlJztcbmltcG9ydCB7IEl0VGFibGVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS90YWJsZS90YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgSXRUaW1lbGluZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RpbWVsaW5lL3RpbWVsaW5lLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0Rm9ybU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IEl0QmFja0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEJhY2tUb1RvcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stdG8tdG9wL2JhY2stdG8tdG9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMubW9kdWxlJztcbmltcG9ydCB7IEl0SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRNZWdhbWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL21lZ2FtZW51L21lZ2FtZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5hdkJhck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmJhci9uYXZiYXIubW9kdWxlJztcbmltcG9ydCB7IEl0TmF2c2Nyb2xsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2c2Nyb2xsL25hdnNjcm9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFNraXBsaW5rTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmsubW9kdWxlJztcbmltcG9ydCB7IEl0RXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNpZ25Bbmd1bGFyS2l0Q29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Rlc2lnbi1hbmd1bGFyLWtpdC1jb25maWcnO1xuaW1wb3J0IHsgSXREYXRlQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBJdER1cmF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBJdE1hcmtNYXRjaGluZ1RleHRQaXBlIH0gZnJvbSAnLi9waXBlcy9tYXJrLW1hdGNoaW5nLXRleHQucGlwZSc7XG5pbXBvcnQgeyBwcm92aWRlRGVzaWduQW5ndWxhcktpdCB9IGZyb20gJy4vcHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQnO1xuXG4vKipcbiAqIENvcmUgY29tcG9uZW50c1xuICovXG5jb25zdCBjb3JlID0gW1xuICBJdEFjY29yZGlvbkNvbXBvbmVudCxcbiAgSXRBbGVydENvbXBvbmVudCxcbiAgSXRBdmF0YXJNb2R1bGUsXG4gIEl0QmFkZ2VEaXJlY3RpdmUsXG4gIEl0QnV0dG9uRGlyZWN0aXZlLFxuICBJdENhbGxvdXRDb21wb25lbnQsXG4gIEl0Q2FyZENvbXBvbmVudCxcbiAgSXRDYXJvdXNlbE1vZHVsZSxcbiAgSXRDaGlwQ29tcG9uZW50LFxuICBJdENvbGxhcHNlQ29tcG9uZW50LFxuICBJdERpbW1lck1vZHVsZSxcbiAgSXREcm9wZG93bk1vZHVsZSxcbiAgSXRGb3J3YXJkRGlyZWN0aXZlLFxuICBJdExpbmtDb21wb25lbnQsXG4gIEl0TGlzdE1vZHVsZSxcbiAgSXRNb2RhbENvbXBvbmVudCxcbiAgSXROb3RpZmljYXRpb25zQ29tcG9uZW50LFxuICBJdFBhZ2luYXRpb25Db21wb25lbnQsXG4gIEl0UG9wb3ZlckRpcmVjdGl2ZSxcbiAgSXRQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCxcbiAgSXRTcGlubmVyQ29tcG9uZW50LFxuICBJdFN0ZXBwZXJzTW9kdWxlLFxuICBJdFRhYk1vZHVsZSxcbiAgSXRUYWJsZU1vZHVsZSxcbiAgSXRUb29sdGlwRGlyZWN0aXZlLFxuICBJdFRpbWVsaW5lTW9kdWxlLFxuICBJdFZpZGVvUGxheWVyQ29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAqL1xuY29uc3QgbmF2aWdhdGlvbiA9IFtcbiAgSXRCYWNrQnV0dG9uQ29tcG9uZW50LFxuICBJdEJhY2tUb1RvcENvbXBvbmVudCxcbiAgSXRCcmVhZGNydW1ic01vZHVsZSxcbiAgSXRIZWFkZXJDb21wb25lbnQsXG4gIEl0TmF2QmFyTW9kdWxlLFxuICBJdFNpZGViYXJDb21wb25lbnQsXG4gIEl0TWVnYW1lbnVDb21wb25lbnQsXG4gIEl0U2tpcGxpbmtNb2R1bGUsXG4gIEl0TmF2c2Nyb2xsQ29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBVdGlscyBjb21wb25lbnRzXG4gKi9cbmNvbnN0IHV0aWxzID0gW0l0RXJyb3JQYWdlQ29tcG9uZW50LCBJdEljb25Db21wb25lbnQsIEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudF07XG5cbi8qKlxuICogTGlicmFyeSBwaXBlc1xuICovXG5jb25zdCBwaXBlcyA9IFtJdERhdGVBZ29QaXBlLCBJdER1cmF0aW9uUGlwZSwgSXRNYXJrTWF0Y2hpbmdUZXh0UGlwZV07XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIC4uLmNvcmUsIC8vIENvcmUgY29tcG9uZW50c1xuICBJdEZvcm1Nb2R1bGUsIC8vIEZvcm0gY29tcG9uZW50c1xuICAuLi5uYXZpZ2F0aW9uLCAvLyBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAgLi4udXRpbHMsIC8vIFV0aWxzIGNvbXBvbmVudHNcbiAgLi4ucGlwZXMsIC8vIExpYnJhcnkgcGlwZXNcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGNvbXBvbmVudHMsXG4gIGV4cG9ydHM6IGNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIERlc2lnbkFuZ3VsYXJLaXRNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRGVzaWduQW5ndWxhcktpdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVEZXNpZ25Bbmd1bGFyS2l0KGNvbmZpZyldLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVB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ZCxnQkFBZ0I7WUFHaEIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBRXJCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsYUFBYTtZQUViLGdCQUFnQixFQThCUCxrQkFBa0I7WUFDM0IsWUFBWSxFQXZCWixxQkFBcUI7WUFFckIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixjQUFjO1lBR2QsZ0JBQWdCLEVBT0gsb0JBQW9CLEVBQW1CLDJCQUEyQixFQTlDL0UsY0FBYztZQUtkLGdCQUFnQjtZQUdoQixjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLFlBQVk7WUFRWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFFYixnQkFBZ0IsRUE4QlAsa0JBQWtCO1lBQzNCLFlBQVksRUFyQlosbUJBQW1CO1lBRW5CLGNBQWM7WUFHZCxnQkFBZ0I7OzJGQTBCTCxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdFZpZGVvUGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvdmlkZW8tcGxheWVyL3ZpZGVvLXBsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0QXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgSXRCYWRnZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0Q2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NhbGxvdXQvY2FsbG91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdENhcm91c2VsTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2Fyb3VzZWwvY2Fyb3VzZWwubW9kdWxlJztcbmltcG9ydCB7IEl0Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NoaXAvY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NvbGxhcHNlL2NvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdERpbW1lck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2RpbW1lci9kaW1tZXIubW9kdWxlJztcbmltcG9ydCB7IEl0RHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnO1xuaW1wb3J0IHsgSXRGb3J3YXJkRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGlzdE1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgSXRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5vdGlmaWNhdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0U3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRhYk1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RhYi90YWIubW9kdWxlJztcbmltcG9ydCB7IEl0VGFibGVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS90YWJsZS90YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgSXRUaW1lbGluZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RpbWVsaW5lL3RpbWVsaW5lLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0Rm9ybU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmltcG9ydCB7IEl0QmFja0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEJhY2tUb1RvcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stdG8tdG9wL2JhY2stdG8tdG9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMubW9kdWxlJztcbmltcG9ydCB7IEl0SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRNZWdhbWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL21lZ2FtZW51L21lZ2FtZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5hdkJhck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmJhci9uYXZiYXIubW9kdWxlJztcbmltcG9ydCB7IEl0TmF2c2Nyb2xsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2c2Nyb2xsL25hdnNjcm9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFNraXBsaW5rTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmsubW9kdWxlJztcbmltcG9ydCB7IEl0RXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNpZ25Bbmd1bGFyS2l0Q29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Rlc2lnbi1hbmd1bGFyLWtpdC1jb25maWcnO1xuaW1wb3J0IHsgSXREYXRlQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBJdER1cmF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBJdE1hcmtNYXRjaGluZ1RleHRQaXBlIH0gZnJvbSAnLi9waXBlcy9tYXJrLW1hdGNoaW5nLXRleHQucGlwZSc7XG5pbXBvcnQgeyBwcm92aWRlRGVzaWduQW5ndWxhcktpdCB9IGZyb20gJy4vcHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQnO1xuXG4vKipcbiAqIENvcmUgY29tcG9uZW50c1xuICovXG5jb25zdCBjb3JlID0gW1xuICBJdEFjY29yZGlvbkNvbXBvbmVudCxcbiAgSXRBbGVydENvbXBvbmVudCxcbiAgSXRBdmF0YXJNb2R1bGUsXG4gIEl0QmFkZ2VEaXJlY3RpdmUsXG4gIEl0QnV0dG9uRGlyZWN0aXZlLFxuICBJdENhbGxvdXRDb21wb25lbnQsXG4gIEl0Q2FyZENvbXBvbmVudCxcbiAgSXRDYXJvdXNlbE1vZHVsZSxcbiAgSXRDaGlwQ29tcG9uZW50LFxuICBJdENvbGxhcHNlQ29tcG9uZW50LFxuICBJdERpbW1lck1vZHVsZSxcbiAgSXREcm9wZG93bk1vZHVsZSxcbiAgSXRGb3J3YXJkRGlyZWN0aXZlLFxuICBJdExpbmtDb21wb25lbnQsXG4gIEl0TGlzdE1vZHVsZSxcbiAgSXRNb2RhbENvbXBvbmVudCxcbiAgSXROb3RpZmljYXRpb25zQ29tcG9uZW50LFxuICBJdFBhZ2luYXRpb25Db21wb25lbnQsXG4gIEl0UG9wb3ZlckRpcmVjdGl2ZSxcbiAgSXRQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCxcbiAgSXRTcGlubmVyQ29tcG9uZW50LFxuICBJdFN0ZXBwZXJzTW9kdWxlLFxuICBJdFRhYk1vZHVsZSxcbiAgSXRUYWJsZU1vZHVsZSxcbiAgSXRUb29sdGlwRGlyZWN0aXZlLFxuICBJdFRpbWVsaW5lTW9kdWxlLFxuICBJdFZpZGVvUGxheWVyQ29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAqL1xuY29uc3QgbmF2aWdhdGlvbiA9IFtcbiAgSXRCYWNrQnV0dG9uQ29tcG9uZW50LFxuICBJdEJhY2tUb1RvcENvbXBvbmVudCxcbiAgSXRCcmVhZGNydW1ic01vZHVsZSxcbiAgSXRIZWFkZXJDb21wb25lbnQsXG4gIEl0TmF2QmFyTW9kdWxlLFxuICBJdFNpZGViYXJDb21wb25lbnQsXG4gIEl0TWVnYW1lbnVDb21wb25lbnQsXG4gIEl0U2tpcGxpbmtNb2R1bGUsXG4gIEl0TmF2c2Nyb2xsQ29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBVdGlscyBjb21wb25lbnRzXG4gKi9cbmNvbnN0IHV0aWxzID0gW0l0RXJyb3JQYWdlQ29tcG9uZW50LCBJdEljb25Db21wb25lbnQsIEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudF07XG5cbi8qKlxuICogTGlicmFyeSBwaXBlc1xuICovXG5jb25zdCBwaXBlcyA9IFtJdERhdGVBZ29QaXBlLCBJdER1cmF0aW9uUGlwZSwgSXRNYXJrTWF0Y2hpbmdUZXh0UGlwZV07XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIC4uLmNvcmUsIC8vIENvcmUgY29tcG9uZW50c1xuICBJdEZvcm1Nb2R1bGUsIC8vIEZvcm0gY29tcG9uZW50c1xuICAuLi5uYXZpZ2F0aW9uLCAvLyBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAgLi4udXRpbHMsIC8vIFV0aWxzIGNvbXBvbmVudHNcbiAgLi4ucGlwZXMsIC8vIExpYnJhcnkgcGlwZXNcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGNvbXBvbmVudHMsXG4gIGV4cG9ydHM6IGNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIERlc2lnbkFuZ3VsYXJLaXRNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRGVzaWduQW5ndWxhcktpdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVEZXNpZ25Bbmd1bGFyS2l0KGNvbmZpZyldLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=