@seniorsistemas/angular-components 17.7.3 → 17.7.5

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.
Files changed (50) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +335 -235
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +8 -4
  6. package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +2 -1
  7. package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +7 -4
  8. package/components/tiered-menu/models/tiered-menu-item-data.d.ts +2 -0
  9. package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +2 -6
  10. package/components/tiered-menu/{tiered-menu.event.service.d.ts → services/tiered-menu.event.service.d.ts} +1 -8
  11. package/components/tiered-menu/services/tiered-menu.global.service.d.ts +4 -0
  12. package/components/tiered-menu/{tiered-menu.service.d.ts → services/tiered-menu.service.d.ts} +5 -3
  13. package/components/tiered-menu/tiered-menu.directive.d.ts +16 -14
  14. package/esm2015/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +3 -3
  15. package/esm2015/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +3 -2
  16. package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  17. package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  18. package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  19. package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  20. package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  21. package/esm2015/components/tiered-menu/services/tiered-menu.event.service.js +18 -0
  22. package/esm2015/components/tiered-menu/services/tiered-menu.global.service.js +9 -0
  23. package/esm2015/components/tiered-menu/services/tiered-menu.service.js +51 -0
  24. package/esm2015/components/tiered-menu/tiered-menu.directive.js +103 -109
  25. package/esm2015/components/tiered-menu/tiered-menu.module.js +8 -12
  26. package/esm2015/seniorsistemas-angular-components.js +18 -17
  27. package/esm5/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +3 -3
  28. package/esm5/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +3 -2
  29. package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +110 -51
  30. package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +16 -8
  31. package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +53 -9
  32. package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +1 -1
  33. package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +1 -1
  34. package/esm5/components/tiered-menu/services/tiered-menu.event.service.js +19 -0
  35. package/esm5/components/tiered-menu/services/tiered-menu.global.service.js +12 -0
  36. package/esm5/components/tiered-menu/services/tiered-menu.service.js +54 -0
  37. package/esm5/components/tiered-menu/tiered-menu.directive.js +103 -110
  38. package/esm5/components/tiered-menu/tiered-menu.module.js +8 -12
  39. package/esm5/seniorsistemas-angular-components.js +18 -17
  40. package/fesm2015/seniorsistemas-angular-components.js +313 -214
  41. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  42. package/fesm5/seniorsistemas-angular-components.js +317 -218
  43. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  44. package/package.json +2 -1
  45. package/seniorsistemas-angular-components.d.ts +17 -16
  46. package/seniorsistemas-angular-components.metadata.json +1 -1
  47. package/esm2015/components/tiered-menu/tiered-menu.event.service.js +0 -39
  48. package/esm2015/components/tiered-menu/tiered-menu.service.js +0 -39
  49. package/esm5/components/tiered-menu/tiered-menu.event.service.js +0 -40
  50. package/esm5/components/tiered-menu/tiered-menu.service.js +0 -44
@@ -1,11 +1,12 @@
1
- import { ApplicationRef, ComponentFactoryResolver, EventEmitter, Injector, OnDestroy, OnInit } from "@angular/core";
1
+ import { ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, EventEmitter, Injector, OnDestroy, OnInit } from "@angular/core";
2
2
  import { TieredMenuItemInternalData } from "../../models/tiered-menu-item-internal-data";
3
- import { TieredMenuEventService } from "../../tiered-menu.event.service";
4
- import { TieredMenuService } from "../../tiered-menu.service";
3
+ import { TieredMenuEventService } from "../../services/tiered-menu.event.service";
4
+ import { TieredMenuService } from "../../services/tiered-menu.service";
5
5
  export declare class TieredMenuComponent implements OnInit, OnDestroy {
6
6
  private readonly _appRef;
7
7
  private readonly _componentFactoryResolver;
8
8
  private readonly _injector;
9
+ private readonly _changeDetectorRef;
9
10
  readonly tieredMenuService: TieredMenuService;
10
11
  private readonly _tieredMenuEventService;
11
12
  items: TieredMenuItemInternalData[];
@@ -16,7 +17,10 @@ export declare class TieredMenuComponent implements OnInit, OnDestroy {
16
17
  private _menuDivElement?;
17
18
  private _unsubscribe$;
18
19
  destroyRequest: EventEmitter<boolean>;
19
- constructor(_appRef: ApplicationRef, _componentFactoryResolver: ComponentFactoryResolver, _injector: Injector, tieredMenuService: TieredMenuService, _tieredMenuEventService: TieredMenuEventService);
20
+ constructor(_appRef: ApplicationRef, _componentFactoryResolver: ComponentFactoryResolver, _injector: Injector, _changeDetectorRef: ChangeDetectorRef, tieredMenuService: TieredMenuService, _tieredMenuEventService: TieredMenuEventService);
21
+ onResize(): void;
22
+ onDocumentClick(event: MouseEvent): void;
23
+ onKeydownHandler(event: KeyboardEvent): void;
20
24
  ngOnInit(): void;
21
25
  ngOnDestroy(): void;
22
26
  private _incrementCurItem;
@@ -1,9 +1,10 @@
1
- import { TieredMenuEventService } from "../../tiered-menu.event.service";
1
+ import { TieredMenuEventService } from "../../services/tiered-menu.event.service";
2
2
  import { TieredMenuItemInternalData } from "../../models";
3
3
  export declare class TieredMenuItemComponent {
4
4
  private readonly _tieredMenuEventService;
5
5
  item: TieredMenuItemInternalData;
6
6
  focused: boolean;
7
+ highlight: boolean;
7
8
  triggerEvent: "click" | "hover";
8
9
  closeOnClick: boolean;
9
10
  private _showTimeout?;
@@ -1,15 +1,18 @@
1
1
  import { OnDestroy, OnInit } from "@angular/core";
2
2
  import { TieredMenuItemInternalData } from "../../models/tiered-menu-item-internal-data";
3
- import { TieredMenuEventService } from "../../tiered-menu.event.service";
4
- import { TieredMenuService } from "../../tiered-menu.service";
3
+ import { TieredMenuEventService } from "../../services/tiered-menu.event.service";
4
+ import { TieredMenuService } from "../../services/tiered-menu.service";
5
5
  export declare class TieredMenuNestedComponent implements OnInit, OnDestroy {
6
6
  readonly tieredMenuService: TieredMenuService;
7
7
  private readonly _tieredMenuEventService;
8
8
  items: TieredMenuItemInternalData[];
9
9
  top: number;
10
- maxHeight: number;
11
- private _unsubscribe$;
10
+ left: number;
12
11
  private _lastOpenItem;
12
+ private _unsubscribe$;
13
+ onResize(): void;
14
+ onDocumentClick(event: MouseEvent): void;
15
+ onKeydownHandler(event: KeyboardEvent): void;
13
16
  constructor(tieredMenuService: TieredMenuService, _tieredMenuEventService: TieredMenuEventService);
14
17
  ngOnInit(): void;
15
18
  ngOnDestroy(): void;
@@ -4,4 +4,6 @@ export interface TieredMenuItemData {
4
4
  command?: VoidFunction;
5
5
  submenu?: TieredMenuItemData[];
6
6
  divider?: boolean;
7
+ disabled?: boolean;
8
+ visible?: boolean;
7
9
  }
@@ -1,10 +1,6 @@
1
- export interface TieredMenuItemInternalData {
1
+ import { TieredMenuItemData } from "./tiered-menu-item-data";
2
+ export interface TieredMenuItemInternalData extends TieredMenuItemData {
2
3
  id?: string;
3
- label?: string;
4
- iconClass?: string;
5
4
  isOpen?: boolean;
6
- command?: VoidFunction;
7
- submenu?: TieredMenuItemInternalData[];
8
- divider?: boolean;
9
5
  parent?: TieredMenuItemInternalData;
10
6
  }
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { TieredMenuItemInternalData } from './models/tiered-menu-item-internal-data';
2
+ import { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';
3
3
  export declare class TieredMenuEventService {
4
4
  incrementCurrentItemEvent: EventEmitter<any>;
5
5
  decrementCurrentItemEvent: EventEmitter<any>;
@@ -8,11 +8,4 @@ export declare class TieredMenuEventService {
8
8
  openItemMenuEvent: EventEmitter<TieredMenuItemInternalData>;
9
9
  closeItemMenuEvent: EventEmitter<TieredMenuItemInternalData>;
10
10
  createMenuEvent: EventEmitter<TieredMenuItemInternalData>;
11
- emitIncrementCurrentItemEvent(): void;
12
- emitDecrementCurrentItemEvent(): void;
13
- emitCloseAllMenusEvent(): void;
14
- emitSelectItemEvent(item: TieredMenuItemInternalData): void;
15
- emitOpenItemMenuEvent(item: TieredMenuItemInternalData): void;
16
- emitCloseItemMenuEvent(item: TieredMenuItemInternalData): void;
17
- emitCreateMenuEvent(item: TieredMenuItemInternalData): void;
18
11
  }
@@ -0,0 +1,4 @@
1
+ import { TieredMenuDirective } from "../tiered-menu.directive";
2
+ export declare class TieredMenuGlobalService {
3
+ lastInstance: TieredMenuDirective;
4
+ }
@@ -1,10 +1,12 @@
1
- import { TieredMenuItemData } from "./models/tiered-menu-item-data";
2
- import { TieredMenuItemInternalData } from "./models/tiered-menu-item-internal-data";
1
+ import { TieredMenuItemData } from "../models/tiered-menu-item-data";
2
+ import { TieredMenuItemInternalData } from "../models/tiered-menu-item-internal-data";
3
3
  export declare class TieredMenuService {
4
4
  currentItem: TieredMenuItemInternalData;
5
5
  currentItems: TieredMenuItemInternalData[];
6
6
  items: TieredMenuItemInternalData[];
7
7
  normalizeData(items: TieredMenuItemData[], parent?: TieredMenuItemInternalData): TieredMenuItemInternalData[];
8
8
  markAllItemsAsClosed(items: TieredMenuItemInternalData[]): TieredMenuItemInternalData[];
9
- searchTheHierarchy(item1: TieredMenuItemInternalData, item2: TieredMenuItemInternalData): boolean;
9
+ searchTheHierarchy(itemA: TieredMenuItemInternalData, itemB: TieredMenuItemInternalData): boolean;
10
+ cloneItems(items: TieredMenuItemInternalData[]): TieredMenuItemInternalData[];
11
+ private _generateId;
10
12
  }
@@ -1,32 +1,31 @@
1
- import { AfterViewInit, ApplicationRef, ComponentFactoryResolver, ElementRef, Injector, OnDestroy, OnInit } from "@angular/core";
1
+ import { ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, DoCheck, ElementRef, Injector, OnDestroy, OnInit } from "@angular/core";
2
2
  import { TieredMenuItemData } from "./models/tiered-menu-item-data";
3
- import { TieredMenuEventService } from "./tiered-menu.event.service";
4
- import { TieredMenuService } from "./tiered-menu.service";
5
- export declare class TieredMenuDirective implements OnInit, AfterViewInit, OnDestroy {
3
+ import { TieredMenuEventService } from "./services/tiered-menu.event.service";
4
+ import { TieredMenuGlobalService } from "./services/tiered-menu.global.service";
5
+ import { TieredMenuService } from "./services/tiered-menu.service";
6
+ export declare class TieredMenuDirective implements OnInit, DoCheck, OnDestroy {
6
7
  private readonly _elementRef;
7
8
  private readonly _appRef;
8
9
  private readonly _componentFactoryResolver;
9
10
  private readonly _injector;
10
11
  private readonly _tieredMenuEventService;
11
12
  private readonly _tieredMenuService;
13
+ private readonly _tieredMenuGlobalService;
14
+ private readonly _changeDetectorRef;
15
+ items: TieredMenuItemData[];
16
+ triggerEvent: "click" | "hover";
12
17
  private _componentRef;
13
18
  private _showTimeout?;
14
- private _menuDivElement?;
15
19
  private _isNested;
16
20
  private _isOpen;
17
21
  private _unsubscribe$;
18
22
  private _lastActiveElement;
19
- constructor(_elementRef: ElementRef, _appRef: ApplicationRef, _componentFactoryResolver: ComponentFactoryResolver, _injector: Injector, _tieredMenuEventService: TieredMenuEventService, _tieredMenuService: TieredMenuService);
20
- items: TieredMenuItemData[];
21
- alwaysOpen: boolean;
22
- triggerEvent: "click" | "hover";
23
+ private previousItems;
24
+ onClick(event: MouseEvent): void;
25
+ constructor(_elementRef: ElementRef, _appRef: ApplicationRef, _componentFactoryResolver: ComponentFactoryResolver, _injector: Injector, _tieredMenuEventService: TieredMenuEventService, _tieredMenuService: TieredMenuService, _tieredMenuGlobalService: TieredMenuGlobalService, _changeDetectorRef: ChangeDetectorRef);
23
26
  ngOnInit(): void;
24
- ngAfterViewInit(): void;
27
+ ngDoCheck(): void;
25
28
  ngOnDestroy(): void;
26
- onResize(): void;
27
- onKeydownHandler(event: KeyboardEvent): void;
28
- onClick(event: MouseEvent): void;
29
- onDocumentClick(event: MouseEvent): void;
30
29
  private _createMenu;
31
30
  private _createTieredMenu;
32
31
  private _createNestedMenu;
@@ -34,4 +33,7 @@ export declare class TieredMenuDirective implements OnInit, AfterViewInit, OnDes
34
33
  private _setMenuPosition;
35
34
  private _setMenuComponentProperties;
36
35
  private _subscribeEvents;
36
+ private _compareItems;
37
+ private _rebuildMenu;
38
+ private _updateServiceItems;
37
39
  }
@@ -5,9 +5,9 @@ let IAInsightCardLoaderComponent = class IAInsightCardLoaderComponent {
5
5
  IAInsightCardLoaderComponent = __decorate([
6
6
  Component({
7
7
  selector: "s-ia-insight-card-loader",
8
- template: "<div class=\"ia-insight-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div sSVGFactory></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n",
9
- styles: [".ia-insight-card-loader{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:24px}.ia-insight-card-loader .loader{-ms-flex-align:center;align-items:center;animation:2s linear infinite spin;border:2px solid #f1f7f8;border-top:2px solid #0fa389;border-radius:50%;display:-ms-flexbox;display:flex;height:48px;-ms-flex-pack:center;justify-content:center;width:48px}.ia-insight-card-loader .loader .loader-icon{animation:2s linear infinite reverse spin;height:64px;transform:translate(-50%,-50%);width:64px}.ia-insight-card-loader .loader-label{color:#888b99;font-family:\"Open Sans\",sans-serif;font-size:16px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]
8
+ template: "<div class=\"ia-insight-card-loader\">\n <div class=\"loader\">\n <div class=\"loader-icon\">\n <div *sSVGFactory=\"'iassist'\"></div>\n </div>\n </div>\n \n <span class=\"loader-label\">{{ \"platform.angular_components.loading_insight\" | translate }}</span>\n</div>\n",
9
+ styles: [".ia-insight-card-loader{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:24px}.ia-insight-card-loader .loader{-ms-flex-align:center;align-items:center;animation:2s linear infinite spin;border:2px solid #f1f7f8;border-top:2px solid #0fa389;border-radius:50%;display:-ms-flexbox;display:flex;height:48px;-ms-flex-pack:center;justify-content:center;width:48px}.ia-insight-card-loader .loader .loader-icon{animation:2s linear infinite reverse spin;height:32px;transform:translate(-50%,-50%)}.ia-insight-card-loader .loader-label{color:#888b99;font-family:\"Open Sans\",sans-serif;font-size:16px}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]
10
10
  })
11
11
  ], IAInsightCardLoaderComponent);
12
12
  export { IAInsightCardLoaderComponent };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWEtaW5zaWdodC1jYXJkLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pYS1pbnNpZ2h0L2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkL2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkLWxvYWRlci9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtDQUFHLENBQUE7QUFBL0IsNEJBQTRCO0lBTHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsbVRBQXNEOztLQUV6RCxDQUFDO0dBQ1csNEJBQTRCLENBQUc7U0FBL0IsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2lhLWluc2lnaHQtY2FyZC1sb2FkZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIElBSW5zaWdodENhcmRMb2FkZXJDb21wb25lbnQge31cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWEtaW5zaWdodC1jYXJkLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pYS1pbnNpZ2h0L2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkL2NvbXBvbmVudHMvaWEtaW5zaWdodC1jYXJkLWxvYWRlci9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8xQyxJQUFhLDRCQUE0QixHQUF6QyxNQUFhLDRCQUE0QjtDQUFHLENBQUE7QUFBL0IsNEJBQTRCO0lBTHhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsa1VBQXNEOztLQUV6RCxDQUFDO0dBQ1csNEJBQTRCLENBQUc7U0FBL0IsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pYS1pbnNpZ2h0LWNhcmQtbG9hZGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2lhLWluc2lnaHQtY2FyZC1sb2FkZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIElBSW5zaWdodENhcmRMb2FkZXJDb21wb25lbnQge31cbiJdfQ==
@@ -4,6 +4,7 @@ import { Component, Input } from "@angular/core";
4
4
  import { TranslateService } from "@ngx-translate/core";
5
5
  import { MessageService } from "primeng/api";
6
6
  import { finalize, first } from "rxjs/operators";
7
+ const marked = require("marked");
7
8
  let IAInsightCardComponent = class IAInsightCardComponent {
8
9
  constructor(clipboard, messageService, translateService) {
9
10
  this.clipboard = clipboard;
@@ -58,7 +59,7 @@ let IAInsightCardComponent = class IAInsightCardComponent {
58
59
  this.insight.request$
59
60
  .pipe(first(), finalize(() => (this.isLoading = false)))
60
61
  .subscribe((content) => {
61
- this.content = content;
62
+ this.content = marked.marked(content);
62
63
  });
63
64
  }
64
65
  };
@@ -78,4 +79,4 @@ IAInsightCardComponent = __decorate([
78
79
  })
79
80
  ], IAInsightCardComponent);
80
81
  export { IAInsightCardComponent };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2lhLWluc2lnaHQvY29tcG9uZW50cy9pYS1pbnNpZ2h0LWNhcmQvaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVNqRCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQVcvQixZQUNxQixTQUFvQixFQUNwQixjQUE4QixFQUM5QixnQkFBa0M7UUFGbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVZoRCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLEtBQUssQ0FBQztJQU01QixDQUFDO0lBRUcsTUFBTTtRQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sY0FBYzs7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzdCO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixNQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxjQUFjLG1EQUFLO1NBQ25DO0lBQ0wsQ0FBQztJQUVNLGlCQUFpQjs7UUFDcEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1NBQ2hDO2FBQU07WUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixNQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxpQkFBaUIsbURBQUs7U0FDdEM7SUFDTCxDQUFDO0lBRU0sV0FBVzs7UUFDZCxNQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sRUFBQyxNQUFNLG1EQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFFcEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3BCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpREFBaUQsQ0FBQzthQUM1RixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7YUFDaEIsSUFBSSxDQUNELEtBQUssRUFBRSxFQUNQLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FDM0M7YUFDQSxTQUFTLENBQUMsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDSixDQUFBOztZQTFEbUMsU0FBUztZQUNKLGNBQWM7WUFDWixnQkFBZ0I7O0FBWnZEO0lBREMsS0FBSyxFQUFFO3VEQUNzQjtBQUZyQixzQkFBc0I7SUFMbEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixpNEVBQStDOztLQUVsRCxDQUFDO0dBQ1csc0JBQXNCLENBc0VsQztTQXRFWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NsaXBib2FyZFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IGZpbmFsaXplLCBmaXJzdCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBJQUluc2lnaHRJdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9pbmRleFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLWlhLWluc2lnaHQtY2FyZFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2lhLWluc2lnaHQtY2FyZC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSUFJbnNpZ2h0Q2FyZENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW5zaWdodDogSUFJbnNpZ2h0SXRlbTtcblxuICAgIHB1YmxpYyBvcGVuID0gZmFsc2U7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb250ZW50OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgbGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgcHVibGljIGRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuX3JlcXVlc3RJbnNpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTGlrZVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saWtlU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMubGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpa2VTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uTGlrZVNlbGVjdGVkPy4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkRpc2xpa2VTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbGlrZVNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNsaWtlU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5saWtlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaW5zaWdodC5vbkRpc2xpa2VTZWxlY3RlZD8uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29weUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zaWdodC5vbkNvcHk/Lih0aGlzLmNvbnRlbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJpbmZvXCIsXG4gICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29waWVkX3RvX2NsaXBib2FyZFwiKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZENvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlcXVlc3RJbnNpZ2h0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWVzdEluc2lnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmluc2lnaHQucmVxdWVzdCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29udGVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gY29udGVudDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2lhLWluc2lnaHQvY29tcG9uZW50cy9pYS1pbnNpZ2h0LWNhcmQvaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFPakMsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFXL0IsWUFDcUIsU0FBb0IsRUFDcEIsY0FBOEIsRUFDOUIsZ0JBQWtDO1FBRmxDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFWaEQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFNNUIsQ0FBQztJQUVHLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGNBQWM7O1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUM3QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsY0FBYyxtREFBSztTQUNuQztJQUNMLENBQUM7SUFFTSxpQkFBaUI7O1FBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUNoQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsaUJBQWlCLG1EQUFLO1NBQ3RDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7O1FBQ2QsTUFBQSxNQUFBLElBQUksQ0FBQyxPQUFPLEVBQUMsTUFBTSxtREFBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBRXBDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUNwQixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaURBQWlELENBQUM7YUFDNUYsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2FBQ2hCLElBQUksQ0FDRCxLQUFLLEVBQUUsRUFDUCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQzNDO2FBQ0EsU0FBUyxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNKLENBQUE7O1lBMURtQyxTQUFTO1lBQ0osY0FBYztZQUNaLGdCQUFnQjs7QUFadkQ7SUFEQyxLQUFLLEVBQUU7dURBQ3NCO0FBRnJCLHNCQUFzQjtJQUxsQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLGk0RUFBK0M7O0tBRWxELENBQUM7R0FDVyxzQkFBc0IsQ0FzRWxDO1NBdEVZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY2xpcGJvYXJkXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgZmluYWxpemUsIGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IElBSW5zaWdodEl0ZW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2luZGV4XCI7XG5cbmNvbnN0IG1hcmtlZCA9IHJlcXVpcmUoXCJtYXJrZWRcIik7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtaWEtaW5zaWdodC1jYXJkXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pYS1pbnNpZ2h0LWNhcmQuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vaWEtaW5zaWdodC1jYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBJQUluc2lnaHRDYXJkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbnNpZ2h0OiBJQUluc2lnaHRJdGVtO1xuXG4gICAgcHVibGljIG9wZW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIGNvbnRlbnQ6IHN0cmluZztcblxuICAgIHB1YmxpYyBsaWtlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgZGlzbGlrZVNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5fcmVxdWVzdEluc2lnaHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25MaWtlU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxpa2VTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5saWtlU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlrZVNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlzbGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmluc2lnaHQub25MaWtlU2VsZWN0ZWQ/LigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGlzbGlrZVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNsaWtlU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzbGlrZVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2xpa2VTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmxpa2VTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uRGlzbGlrZVNlbGVjdGVkPy4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5Q29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnNpZ2h0Lm9uQ29weT8uKHRoaXMuY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcImluZm9cIixcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jb3BpZWRfdG9fY2xpcGJvYXJkXCIpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkQ29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVxdWVzdEluc2lnaHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXF1ZXN0SW5zaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuaW5zaWdodC5yZXF1ZXN0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb250ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSBtYXJrZWQubWFya2VkKGNvbnRlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19