@ng-doc/app 16.9.0 → 16.11.0

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.
@@ -13,6 +13,7 @@ export declare class NgDocDemoComponent implements OnInit {
13
13
  constructor(rootPage: NgDocRootPage);
14
14
  protected get classes(): string | string[];
15
15
  ngOnInit(): void;
16
+ getOpenedAssetId(assets: NgDocDemoAsset[]): string | undefined;
16
17
  private getDemo;
17
18
  private getAssets;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDemoComponent, never>;
@@ -1,15 +1,19 @@
1
- import { ElementRef, OnInit } from '@angular/core';
1
+ import { ElementRef, OnChanges, OnInit } from '@angular/core';
2
+ import { Params } from '@angular/router';
2
3
  import * as i0 from "@angular/core";
3
- export declare class NgDocPageLinkComponent implements OnInit {
4
+ export declare class NgDocPageLinkComponent implements OnInit, OnChanges {
4
5
  private elementRef;
5
6
  href: string;
6
7
  classes: string;
7
8
  protected isInCode: boolean;
9
+ private link;
8
10
  constructor(elementRef: ElementRef<HTMLElement>);
9
11
  ngOnInit(): void;
12
+ ngOnChanges(): void;
10
13
  get isExternalLink(): boolean;
11
14
  get path(): string;
12
- get fragment(): string;
15
+ get fragment(): string | undefined;
16
+ get queryParams(): Params;
13
17
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocPageLinkComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageLinkComponent, "ng-doc-page-link", never, { "href": { "alias": "href"; "required": false; }; "classes": { "alias": "classes"; "required": false; }; }, {}, never, ["*"], true, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocPageLinkComponent, "ng-doc-page-link", never, { "href": { "alias": "href"; "required": true; }; "classes": { "alias": "classes"; "required": false; }; }, {}, never, ["*"], true, never>;
15
19
  }
@@ -1,14 +1,14 @@
1
- import { OnInit, Type, ViewContainerRef } from '@angular/core';
1
+ import { Type, ViewContainerRef } from '@angular/core';
2
2
  import { Constructor } from '@ng-doc/core';
3
3
  import { NgDocPlaygroundConfig } from '@ng-doc/core/interfaces';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Base class for playgrounds components.
7
7
  */
8
- export declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroundConfig, 'data'>, OnInit {
8
+ export declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroundConfig, 'data'> {
9
+ private playground?;
10
+ private playgroundInstance?;
9
11
  static readonly selector: string;
10
- abstract readonly playground?: Type<any>;
11
- abstract readonly playgroundInstance?: Constructor<unknown>;
12
12
  abstract readonly viewContainerRef?: ViewContainerRef;
13
13
  abstract readonly configData: Record<string, unknown>;
14
14
  properties: Record<string, any>;
@@ -16,7 +16,8 @@ export declare abstract class NgDocBasePlayground implements Pick<NgDocPlaygroun
16
16
  content: any;
17
17
  defaultValues: Record<string, unknown>;
18
18
  private playgroundContainer;
19
- ngOnInit(): void;
19
+ private changeDetectorRef;
20
+ protected constructor(playground?: Type<any> | undefined, playgroundInstance?: Constructor<unknown> | undefined);
20
21
  get data(): any;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBasePlayground, never>;
22
23
  static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocBasePlayground, never, never, { "properties": { "alias": "properties"; "required": false; }; "actionData": { "alias": "actionData"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
@@ -23,7 +23,7 @@ export declare class NgDocPlaygroundDemoComponent<T extends NgDocPlaygroundPrope
23
23
  constructor(injector: Injector);
24
24
  ngOnChanges({ form, id }: SimpleChanges): void;
25
25
  private updateDemo;
26
- private renderDemo;
26
+ private createDemo;
27
27
  private updateCodeView;
28
28
  private getActiveContent;
29
29
  private getActiveInputs;
@@ -1,13 +1,12 @@
1
- import { AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';
1
+ import { OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
3
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
4
4
  import { NgDocPlaygroundConfig, NgDocPlaygroundOptions, NgDocPlaygroundProperties } from '@ng-doc/core/interfaces';
5
5
  import { NgDocPlaygroundForm } from './playground-form';
6
6
  import * as i0 from "@angular/core";
7
- export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements OnInit, AfterViewInit {
7
+ export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundProperties = NgDocPlaygroundProperties> implements OnChanges {
8
8
  private readonly rootPage;
9
9
  private readonly formBuilder;
10
- private readonly changeDetectorRef;
11
10
  id: string;
12
11
  pipeName: string;
13
12
  selectors: string[];
@@ -17,8 +16,8 @@ export declare class NgDocPlaygroundComponent<T extends NgDocPlaygroundPropertie
17
16
  formGroup: FormGroup<NgDocPlaygroundForm>;
18
17
  defaultValues?: Record<string, unknown>;
19
18
  configuration: NgDocPlaygroundConfig;
20
- constructor(rootPage: NgDocRootPage, formBuilder: FormBuilder, changeDetectorRef: ChangeDetectorRef);
21
- ngOnInit(): void;
19
+ constructor(rootPage: NgDocRootPage, formBuilder: FormBuilder);
20
+ ngOnChanges({ options }: SimpleChanges): void;
22
21
  ngAfterViewInit(): void;
23
22
  private getPropertiesFormValues;
24
23
  private getContentFormValues;
@@ -4,7 +4,7 @@ import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
4
4
  import { NgDocCodeComponent } from '@ng-doc/app/components/code';
5
5
  import { NgDocDemoDisplayerComponent } from '@ng-doc/app/components/demo-displayer';
6
6
  import { asArray } from '@ng-doc/core/helpers/as-array';
7
- import { NgDocTabComponent, NgDocTabGroupComponent } from '@ng-doc/ui-kit';
7
+ import { NgDocExecutePipe, NgDocIconComponent, NgDocTabComponent, NgDocTabGroupComponent } from '@ng-doc/ui-kit';
8
8
  import { PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@ng-doc/app/classes/root-page";
@@ -22,6 +22,9 @@ class NgDocDemoComponent {
22
22
  this.demo = this.getDemo();
23
23
  this.assets = this.getAssets();
24
24
  }
25
+ getOpenedAssetId(assets) {
26
+ return assets.find((asset) => asset.opened)?.title;
27
+ }
25
28
  getDemo() {
26
29
  if (this.componentName) {
27
30
  const component = this.rootPage.page?.demos && this.rootPage.page.demos[this.componentName];
@@ -36,7 +39,7 @@ class NgDocDemoComponent {
36
39
  return [];
37
40
  }
38
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoComponent, deps: [{ token: i1.NgDocRootPage }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocDemoComponent, isStandalone: true, selector: "ng-doc-demo", inputs: { componentName: "componentName", options: "options" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocCodeComponent, selector: "ng-doc-code", inputs: ["html", "copyButton", "name", "icon", "lineNumbers"] }, { kind: "component", type: NgDocTabGroupComponent, selector: "ng-doc-tab-group", inputs: ["openedTab"] }, { kind: "component", type: NgDocTabComponent, selector: "ng-doc-tab", inputs: ["label", "id", "content"] }, { kind: "ngmodule", type: PolymorpheusModule }, { kind: "directive", type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
43
  }
41
44
  export { NgDocDemoComponent };
42
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocDemoComponent, decorators: [{
@@ -50,7 +53,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
50
53
  NgDocTabGroupComponent,
51
54
  NgDocTabComponent,
52
55
  PolymorpheusModule,
53
- ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"asset.title\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}\n"] }]
56
+ NgDocIconComponent,
57
+ NgDocExecutePipe,
58
+ ], template: "<ng-container *ngIf=\"options.container ?? true; else demoTemplate\">\n\t<ng-doc-demo-displayer [codeContent]=\"codeContent\" [expanded]=\"!!options.expanded\">\n\t\t<ng-container *ngTemplateOutlet=\"demoTemplate\"></ng-container>\n\t\t<ng-template #codeContent>\n\t\t\t<ng-container *ngIf=\"assets.length === 1\">\n\t\t\t\t<ng-doc-code *ngFor=\"let asset of assets\" [html]=\"asset.code\"></ng-doc-code>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container *ngIf=\"assets.length > 1\">\n\t\t\t\t<ng-doc-tab-group [openedTab]=\"(getOpenedAssetId | execute: assets) ?? options.defaultTab\">\n\t\t\t\t\t<ng-doc-tab\n\t\t\t\t\t\t*ngFor=\"let asset of assets\"\n\t\t\t\t\t\t[id]=\"asset.title\"\n\t\t\t\t\t\t[label]=\"label\"\n\t\t\t\t\t\t[content]=\"assetContent\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ng-template #label>\n\t\t\t\t\t\t\t\t<ng-doc-icon [customIcon]=\"asset.icon\" *ngIf=\"asset.icon\"></ng-doc-icon>\n\t\t\t\t\t\t\t\t{{ asset.title }}\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t\t<ng-template #assetContent>\n\t\t\t\t\t\t\t<ng-doc-code [html]=\"asset.code\"></ng-doc-code>\n\t\t\t\t\t\t</ng-template>\n\t\t\t\t\t</ng-doc-tab>\n\t\t\t\t</ng-doc-tab-group>\n\t\t\t</ng-container>\n\t\t</ng-template>\n\t</ng-doc-demo-displayer>\n</ng-container>\n\n<ng-template #demoTemplate>\n\t<ng-container *polymorpheusOutlet=\"demo ?? ''; context: {}\"></ng-container>\n</ng-template>\n", styles: [":host{display:block;--ng-doc-tab-group-background: var(--ng-doc-code-background)}:host .ng-doc-example{padding:calc(var(--ng-doc-base-gutter) * 3)}:host ng-doc-icon{margin-right:calc(var(--ng-doc-base-gutter) / 2)}\n"] }]
54
59
  }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }]; }, propDecorators: { componentName: [{
55
60
  type: Input
56
61
  }], options: [{
@@ -59,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
59
64
  type: HostBinding,
60
65
  args: ['class']
61
66
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFbEYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRW5GLE1BaUJhLGtCQUFrQjtJQVU5QixZQUE2QixRQUF1QjtRQUF2QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBTHBELFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBR3JDLFdBQU0sR0FBcUIsRUFBRSxDQUFDO0lBRXlCLENBQUM7SUFFeEQsSUFDYyxPQUFPO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLE9BQU87UUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxTQUFTLEdBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFM0UsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQUMsU0FBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDcEY7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBRU8sU0FBUztRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUMvRixDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQ3pHLENBQUM7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQzs4R0F6Q1csa0JBQWtCO2tHQUFsQixrQkFBa0IsMExDN0IvQixxbkNBNkJBLCtNRFZFLElBQUksNkZBQ0osMkJBQTJCLGtKQUMzQixnQkFBZ0Isb0pBQ2hCLEtBQUssbUhBQ0wsa0JBQWtCLHVIQUNsQixzQkFBc0Isb0ZBQ3RCLGlCQUFpQiwwRkFDakIsa0JBQWtCOztTQUdQLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQWpCOUIsU0FBUzsrQkFDQyxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNSLElBQUk7d0JBQ0osMkJBQTJCO3dCQUMzQixnQkFBZ0I7d0JBQ2hCLEtBQUs7d0JBQ0wsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNsQjtvR0FJRCxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQVNRLE9BQU87c0JBRHBCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NSb290UGFnZX0gZnJvbSAnQG5nLWRvYy9hcHAvY2xhc3Nlcy9yb290LXBhZ2UnO1xuaW1wb3J0IHtOZ0RvY0NvZGVDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvY29kZSc7XG5pbXBvcnQge05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllcic7XG5pbXBvcnQge05nRG9jRGVtb0Fzc2V0fSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7YXNBcnJheX0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYXMtYXJyYXknO1xuaW1wb3J0IHtOZ0RvY0RlbW9BY3Rpb25PcHRpb25zfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jVGFiQ29tcG9uZW50LCBOZ0RvY1RhYkdyb3VwQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge05nRG9jQ29udGVudH0gZnJvbSAnQG5nLWRvYy91aS1raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnQsIFBvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLWRlbW8nLFxuXHR0ZW1wbGF0ZVVybDogJy4vZGVtby5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2RlbW8uY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0lmLFxuXHRcdE5nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCxcblx0XHROZ1RlbXBsYXRlT3V0bGV0LFxuXHRcdE5nRm9yLFxuXHRcdE5nRG9jQ29kZUNvbXBvbmVudCxcblx0XHROZ0RvY1RhYkdyb3VwQ29tcG9uZW50LFxuXHRcdE5nRG9jVGFiQ29tcG9uZW50LFxuXHRcdFBvbHltb3JwaGV1c01vZHVsZSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NEZW1vQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblx0QElucHV0KClcblx0Y29tcG9uZW50TmFtZT86IHN0cmluZztcblxuXHRASW5wdXQoKVxuXHRvcHRpb25zOiBOZ0RvY0RlbW9BY3Rpb25PcHRpb25zID0ge307XG5cblx0ZGVtbz86IE5nRG9jQ29udGVudDxvYmplY3Q+O1xuXHRhc3NldHM6IE5nRG9jRGVtb0Fzc2V0W10gPSBbXTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvb3RQYWdlOiBOZ0RvY1Jvb3RQYWdlKSB7fVxuXG5cdEBIb3N0QmluZGluZygnY2xhc3MnKVxuXHRwcm90ZWN0ZWQgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHwgc3RyaW5nW10ge1xuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMuY2xhc3MgPz8gJyc7XG5cdH1cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmRlbW8gPSB0aGlzLmdldERlbW8oKTtcblx0XHR0aGlzLmFzc2V0cyA9IHRoaXMuZ2V0QXNzZXRzKCk7XG5cdH1cblxuXHRwcml2YXRlIGdldERlbW8oKTogTmdEb2NDb250ZW50PG9iamVjdD4gfCB1bmRlZmluZWQge1xuXHRcdGlmICh0aGlzLmNvbXBvbmVudE5hbWUpIHtcblx0XHRcdGNvbnN0IGNvbXBvbmVudDogVHlwZTx1bmtub3duPiB8IHVuZGVmaW5lZCA9XG5cdFx0XHRcdHRoaXMucm9vdFBhZ2UucGFnZT8uZGVtb3MgJiYgdGhpcy5yb290UGFnZS5wYWdlLmRlbW9zW3RoaXMuY29tcG9uZW50TmFtZV07XG5cblx0XHRcdHJldHVybiBjb21wb25lbnQgPyBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KGNvbXBvbmVudCBhcyBUeXBlPG9iamVjdD4pIDogdW5kZWZpbmVkO1xuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldEFzc2V0cygpOiBOZ0RvY0RlbW9Bc3NldFtdIHtcblx0XHRpZiAodGhpcy5jb21wb25lbnROYW1lKSB7XG5cdFx0XHRyZXR1cm4gKCh0aGlzLnJvb3RQYWdlLmRlbW9Bc3NldHMgJiYgdGhpcy5yb290UGFnZS5kZW1vQXNzZXRzW3RoaXMuY29tcG9uZW50TmFtZV0pID8/IFtdKS5maWx0ZXIoXG5cdFx0XHRcdChhc3NldDogTmdEb2NEZW1vQXNzZXQpID0+ICF0aGlzLm9wdGlvbnMudGFicz8ubGVuZ3RoIHx8IGFzQXJyYXkodGhpcy5vcHRpb25zLnRhYnMpLmluY2x1ZGVzKGFzc2V0LnRpdGxlKSxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFtdO1xuXHR9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucy5jb250YWluZXIgPz8gdHJ1ZTsgZWxzZSBkZW1vVGVtcGxhdGVcIj5cblx0PG5nLWRvYy1kZW1vLWRpc3BsYXllciBbY29kZUNvbnRlbnRdPVwiY29kZUNvbnRlbnRcIiBbZXhwYW5kZWRdPVwiISFvcHRpb25zLmV4cGFuZGVkXCI+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlbW9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXHRcdDxuZy10ZW1wbGF0ZSAjY29kZUNvbnRlbnQ+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzZXRzLmxlbmd0aCA9PT0gMVwiPlxuXHRcdFx0XHQ8bmctZG9jLWNvZGUgKm5nRm9yPVwibGV0IGFzc2V0IG9mIGFzc2V0c1wiIFtodG1sXT1cImFzc2V0LmNvZGVcIj48L25nLWRvYy1jb2RlPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NldHMubGVuZ3RoID4gMVwiPlxuXHRcdFx0XHQ8bmctZG9jLXRhYi1ncm91cCBbb3BlbmVkVGFiXT1cIm9wdGlvbnMuZGVmYXVsdFRhYlwiPlxuXHRcdFx0XHRcdDxuZy1kb2MtdGFiXG5cdFx0XHRcdFx0XHQqbmdGb3I9XCJsZXQgYXNzZXQgb2YgYXNzZXRzXCJcblx0XHRcdFx0XHRcdFtpZF09XCJhc3NldC50aXRsZVwiXG5cdFx0XHRcdFx0XHRbbGFiZWxdPVwiYXNzZXQudGl0bGVcIlxuXHRcdFx0XHRcdFx0W2NvbnRlbnRdPVwiYXNzZXRDb250ZW50XCJcblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgI2Fzc2V0Q29udGVudD5cblx0XHRcdFx0XHRcdFx0PG5nLWRvYy1jb2RlIFtodG1sXT1cImFzc2V0LmNvZGVcIj48L25nLWRvYy1jb2RlPlxuXHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHQ8L25nLWRvYy10YWI+XG5cdFx0XHRcdDwvbmctZG9jLXRhYi1ncm91cD5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGVtb1RlbXBsYXRlPlxuXHQ8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkZW1vID8/ICcnOyBjb250ZXh0OiB7fVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFbEYsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXRELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9HLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRW5GLE1BbUJhLGtCQUFrQjtJQVU5QixZQUE2QixRQUF1QjtRQUF2QixhQUFRLEdBQVIsUUFBUSxDQUFlO1FBTHBELFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBR3JDLFdBQU0sR0FBcUIsRUFBRSxDQUFDO0lBRXlCLENBQUM7SUFFeEQsSUFDYyxPQUFPO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQXdCO1FBQ3hDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDcEUsQ0FBQztJQUVPLE9BQU87UUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsTUFBTSxTQUFTLEdBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFM0UsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQUMsU0FBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDcEY7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBRU8sU0FBUztRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUMvRixDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQ3pHLENBQUM7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQzs4R0E3Q1csa0JBQWtCO2tHQUFsQixrQkFBa0IsMExDL0IvQixzMUNBaUNBLGtSRGRFLElBQUksNkZBQ0osMkJBQTJCLGtKQUMzQixnQkFBZ0Isb0pBQ2hCLEtBQUssbUhBQ0wsa0JBQWtCLHVIQUNsQixzQkFBc0Isb0ZBQ3RCLGlCQUFpQiwwRkFDakIsa0JBQWtCLDJMQUNsQixrQkFBa0IsMkZBQ2xCLGdCQUFnQjs7U0FHTCxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFuQjlCLFNBQVM7K0JBQ0MsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUixJQUFJO3dCQUNKLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQixLQUFLO3dCQUNMLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7cUJBQ2hCO29HQUlELGFBQWE7c0JBRFosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBU1EsT0FBTztzQkFEcEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0RvY1Jvb3RQYWdlfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3Jvb3QtcGFnZSc7XG5pbXBvcnQge05nRG9jQ29kZUNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9jb2RlJztcbmltcG9ydCB7TmdEb2NEZW1vRGlzcGxheWVyQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2RlbW8tZGlzcGxheWVyJztcbmltcG9ydCB7TmdEb2NEZW1vQXNzZXR9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHthc0FycmF5fSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9hcy1hcnJheSc7XG5pbXBvcnQge05nRG9jRGVtb0FjdGlvbk9wdGlvbnN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NFeGVjdXRlUGlwZSwgTmdEb2NJY29uQ29tcG9uZW50LCBOZ0RvY1RhYkNvbXBvbmVudCwgTmdEb2NUYWJHcm91cENvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHtOZ0RvY0NvbnRlbnR9IGZyb20gJ0BuZy1kb2MvdWkta2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50LCBQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL2RlbW8uY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9kZW1vLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbXG5cdFx0TmdJZixcblx0XHROZ0RvY0RlbW9EaXNwbGF5ZXJDb21wb25lbnQsXG5cdFx0TmdUZW1wbGF0ZU91dGxldCxcblx0XHROZ0Zvcixcblx0XHROZ0RvY0NvZGVDb21wb25lbnQsXG5cdFx0TmdEb2NUYWJHcm91cENvbXBvbmVudCxcblx0XHROZ0RvY1RhYkNvbXBvbmVudCxcblx0XHRQb2x5bW9ycGhldXNNb2R1bGUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdEBJbnB1dCgpXG5cdGNvbXBvbmVudE5hbWU/OiBzdHJpbmc7XG5cblx0QElucHV0KClcblx0b3B0aW9uczogTmdEb2NEZW1vQWN0aW9uT3B0aW9ucyA9IHt9O1xuXG5cdGRlbW8/OiBOZ0RvY0NvbnRlbnQ8b2JqZWN0Pjtcblx0YXNzZXRzOiBOZ0RvY0RlbW9Bc3NldFtdID0gW107XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb290UGFnZTogTmdEb2NSb290UGFnZSkge31cblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzJylcblx0cHJvdGVjdGVkIGdldCBjbGFzc2VzKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zLmNsYXNzID8/ICcnO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5kZW1vID0gdGhpcy5nZXREZW1vKCk7XG5cdFx0dGhpcy5hc3NldHMgPSB0aGlzLmdldEFzc2V0cygpO1xuXHR9XG5cblx0Z2V0T3BlbmVkQXNzZXRJZChhc3NldHM6IE5nRG9jRGVtb0Fzc2V0W10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiBhc3NldHMuZmluZCgoYXNzZXQ6IE5nRG9jRGVtb0Fzc2V0KSA9PiBhc3NldC5vcGVuZWQpPy50aXRsZTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RGVtbygpOiBOZ0RvY0NvbnRlbnQ8b2JqZWN0PiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuY29tcG9uZW50TmFtZSkge1xuXHRcdFx0Y29uc3QgY29tcG9uZW50OiBUeXBlPHVua25vd24+IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0dGhpcy5yb290UGFnZS5wYWdlPy5kZW1vcyAmJiB0aGlzLnJvb3RQYWdlLnBhZ2UuZGVtb3NbdGhpcy5jb21wb25lbnROYW1lXTtcblxuXHRcdFx0cmV0dXJuIGNvbXBvbmVudCA/IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoY29tcG9uZW50IGFzIFR5cGU8b2JqZWN0PikgOiB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QXNzZXRzKCk6IE5nRG9jRGVtb0Fzc2V0W10ge1xuXHRcdGlmICh0aGlzLmNvbXBvbmVudE5hbWUpIHtcblx0XHRcdHJldHVybiAoKHRoaXMucm9vdFBhZ2UuZGVtb0Fzc2V0cyAmJiB0aGlzLnJvb3RQYWdlLmRlbW9Bc3NldHNbdGhpcy5jb21wb25lbnROYW1lXSkgPz8gW10pLmZpbHRlcihcblx0XHRcdFx0KGFzc2V0OiBOZ0RvY0RlbW9Bc3NldCkgPT4gIXRoaXMub3B0aW9ucy50YWJzPy5sZW5ndGggfHwgYXNBcnJheSh0aGlzLm9wdGlvbnMudGFicykuaW5jbHVkZXMoYXNzZXQudGl0bGUpLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW107XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25zLmNvbnRhaW5lciA/PyB0cnVlOyBlbHNlIGRlbW9UZW1wbGF0ZVwiPlxuXHQ8bmctZG9jLWRlbW8tZGlzcGxheWVyIFtjb2RlQ29udGVudF09XCJjb2RlQ29udGVudFwiIFtleHBhbmRlZF09XCIhIW9wdGlvbnMuZXhwYW5kZWRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVtb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0PG5nLXRlbXBsYXRlICNjb2RlQ29udGVudD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3NldHMubGVuZ3RoID09PSAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtY29kZSAqbmdGb3I9XCJsZXQgYXNzZXQgb2YgYXNzZXRzXCIgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2V0cy5sZW5ndGggPiAxXCI+XG5cdFx0XHRcdDxuZy1kb2MtdGFiLWdyb3VwIFtvcGVuZWRUYWJdPVwiKGdldE9wZW5lZEFzc2V0SWQgfCBleGVjdXRlOiBhc3NldHMpID8/IG9wdGlvbnMuZGVmYXVsdFRhYlwiPlxuXHRcdFx0XHRcdDxuZy1kb2MtdGFiXG5cdFx0XHRcdFx0XHQqbmdGb3I9XCJsZXQgYXNzZXQgb2YgYXNzZXRzXCJcblx0XHRcdFx0XHRcdFtpZF09XCJhc3NldC50aXRsZVwiXG5cdFx0XHRcdFx0XHRbbGFiZWxdPVwibGFiZWxcIlxuXHRcdFx0XHRcdFx0W2NvbnRlbnRdPVwiYXNzZXRDb250ZW50XCJcblx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgI2xhYmVsPlxuXHRcdFx0XHRcdFx0XHRcdDxuZy1kb2MtaWNvbiBbY3VzdG9tSWNvbl09XCJhc3NldC5pY29uXCIgKm5nSWY9XCJhc3NldC5pY29uXCI+PC9uZy1kb2MtaWNvbj5cblx0XHRcdFx0XHRcdFx0XHR7eyBhc3NldC50aXRsZSB9fVxuXHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjYXNzZXRDb250ZW50PlxuXHRcdFx0XHRcdFx0XHQ8bmctZG9jLWNvZGUgW2h0bWxdPVwiYXNzZXQuY29kZVwiPjwvbmctZG9jLWNvZGU+XG5cdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdDwvbmctZG9jLXRhYj5cblx0XHRcdFx0PC9uZy1kb2MtdGFiLWdyb3VwPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy1kb2MtZGVtby1kaXNwbGF5ZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkZW1vVGVtcGxhdGU+XG5cdDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlbW8gPz8gJyc7IGNvbnRleHQ6IHt9XCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -13,25 +13,33 @@ class NgDocPageLinkComponent {
13
13
  ngOnInit() {
14
14
  this.isInCode = this.elementRef.nativeElement.closest('code') !== null;
15
15
  }
16
+ ngOnChanges() {
17
+ this.link = document.createElement('a');
18
+ this.link.href = this.href;
19
+ }
16
20
  get isExternalLink() {
17
21
  return this.href.startsWith('http');
18
22
  }
19
23
  get path() {
20
- return !this.isExternalLink ? this.href.split('#')[0] : this.href;
24
+ return (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';
21
25
  }
22
26
  get fragment() {
23
- return this.href.split('#')[1];
27
+ return this.link?.hash.replace(/^#/, '') || undefined;
28
+ }
29
+ get queryParams() {
30
+ return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/, '') ?? '').entries());
24
31
  }
25
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPageLinkComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, ngImport: i0, template: "<a [class]=\"classes\" [routerLink]=\"path\" [fragment]=\"fragment\" *ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, usesOnChanges: true, ngImport: i0, template: "<a [class]=\"classes\" [routerLink]=\"path\" [fragment]=\"fragment\" [queryParams]=\"queryParams\" *ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
34
  }
28
35
  export { NgDocPageLinkComponent };
29
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPageLinkComponent, decorators: [{
30
37
  type: Component,
31
- args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent], template: "<a [class]=\"classes\" [routerLink]=\"path\" [fragment]=\"fragment\" *ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
38
+ args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent], template: "<a [class]=\"classes\" [routerLink]=\"path\" [fragment]=\"fragment\" [queryParams]=\"queryParams\" *ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
32
39
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { href: [{
33
- type: Input
40
+ type: Input,
41
+ args: [{ required: true }]
34
42
  }], classes: [{
35
43
  type: Input
36
44
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGFnZS1saW5rL3BhZ2UtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UtbGluay9wYWdlLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWxELE1BUWEsc0JBQXNCO0lBU2xDLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBUHZELFNBQUksR0FBVyxFQUFFLENBQUM7UUFHbEIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFFc0IsQ0FBQztJQUUzRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBekJXLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDBIQ2JuQyxvZEFZQSx5TEREVyxJQUFJLDZGQUFFLFVBQVUsNE5BQUUsZ0JBQWdCLG9KQUFFLGtCQUFrQjs7U0FFcEQsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0Msa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztpR0FJakUsSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05nRG9jSWNvbkNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGFnZS1saW5rJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BhZ2UtbGluay5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BhZ2UtbGluay5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nSWYsIFJvdXRlckxpbmssIE5nVGVtcGxhdGVPdXRsZXQsIE5nRG9jSWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGFnZUxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKVxuXHRocmVmOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRjbGFzc2VzOiBzdHJpbmcgPSAnJztcblxuXHRwcm90ZWN0ZWQgaXNJbkNvZGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuaXNJbkNvZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdjb2RlJykgIT09IG51bGw7XG5cdH1cblxuXHRnZXQgaXNFeHRlcm5hbExpbmsoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuaHJlZi5zdGFydHNXaXRoKCdodHRwJyk7XG5cdH1cblxuXHRnZXQgcGF0aCgpOiBzdHJpbmcge1xuXHRcdHJldHVybiAhdGhpcy5pc0V4dGVybmFsTGluayA/IHRoaXMuaHJlZi5zcGxpdCgnIycpWzBdIDogdGhpcy5ocmVmO1xuXHR9XG5cblx0Z2V0IGZyYWdtZW50KCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuaHJlZi5zcGxpdCgnIycpWzFdO1xuXHR9XG59XG4iLCI8YSBbY2xhc3NdPVwiY2xhc3Nlc1wiIFtyb3V0ZXJMaW5rXT1cInBhdGhcIiBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIiAqbmdJZj1cIiFpc0V4dGVybmFsTGlua1wiPlxuXHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuXG48YSBbY2xhc3NdPVwiY2xhc3Nlc1wiIFtocmVmXT1cInBhdGhcIiAqbmdJZj1cImlzRXh0ZXJuYWxMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG5cdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG5cdDxuZy1kb2MtaWNvbiBpY29uPVwiZXh0ZXJuYWwtbGlua1wiICpuZ0lmPVwiIWlzSW5Db2RlXCI+PC9uZy1kb2MtaWNvbj5cbjwvYT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGFnZS1saW5rL3BhZ2UtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UtbGluay9wYWdlLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUVsRCxNQVFhLHNCQUFzQjtJQVdsQyxZQUFvQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVR2RCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBR2xCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQVksS0FBSyxDQUFDO0lBSXNCLENBQUM7SUFFM0QsUUFBUTtRQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQztJQUN4RSxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksV0FBVztRQUNkLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQzs4R0FwQ1csc0JBQXNCO2tHQUF0QixzQkFBc0IsK0lDYm5DLGtmQVlBLHlMRERXLElBQUksNkZBQUUsVUFBVSw0TkFBRSxnQkFBZ0Isb0pBQUUsa0JBQWtCOztTQUVwRCxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDQyxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDO2lHQUlqRSxJQUFJO3NCQURILEtBQUs7dUJBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO2dCQUl2QixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhcmFtcywgUm91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmdEb2NJY29uQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wYWdlLWxpbmsnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS1saW5rLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGFnZS1saW5rLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdJZiwgUm91dGVyTGluaywgTmdUZW1wbGF0ZU91dGxldCwgTmdEb2NJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQYWdlTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblx0QElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG5cdGhyZWY6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGNsYXNzZXM6IHN0cmluZyA9ICcnO1xuXG5cdHByb3RlY3RlZCBpc0luQ29kZTogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByaXZhdGUgbGluazogSFRNTEFuY2hvckVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmlzSW5Db2RlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnY29kZScpICE9PSBudWxsO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5saW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXHRcdHRoaXMubGluay5ocmVmID0gdGhpcy5ocmVmO1xuXHR9XG5cblx0Z2V0IGlzRXh0ZXJuYWxMaW5rKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmhyZWYuc3RhcnRzV2l0aCgnaHR0cCcpO1xuXHR9XG5cblx0Z2V0IHBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gKCF0aGlzLmlzRXh0ZXJuYWxMaW5rID8gdGhpcy5saW5rPy5wYXRobmFtZSA6IHRoaXMuaHJlZikgPz8gJyc7XG5cdH1cblxuXHRnZXQgZnJhZ21lbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5saW5rPy5oYXNoLnJlcGxhY2UoL14jLywgJycpIHx8IHVuZGVmaW5lZDtcblx0fVxuXG5cdGdldCBxdWVyeVBhcmFtcygpOiBQYXJhbXMge1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLmxpbms/LnNlYXJjaC5yZXBsYWNlKC9eXFw/LywgJycpID8/ICcnKS5lbnRyaWVzKCkpO1xuXHR9XG59XG4iLCI8YSBbY2xhc3NdPVwiY2xhc3Nlc1wiIFtyb3V0ZXJMaW5rXT1cInBhdGhcIiBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIiBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIiAqbmdJZj1cIiFpc0V4dGVybmFsTGlua1wiPlxuXHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuXG48YSBbY2xhc3NdPVwiY2xhc3Nlc1wiIFtocmVmXT1cInBhdGhcIiAqbmdJZj1cImlzRXh0ZXJuYWxMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG5cdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG5cdDxuZy1kb2MtaWNvbiBpY29uPVwiZXh0ZXJuYWwtbGlua1wiICpuZ0lmPVwiIWlzSW5Db2RlXCI+PC9uZy1kb2MtaWNvbj5cbjwvYT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,4 +1,4 @@
1
- import { Directive, inject, Input } from '@angular/core';
1
+ import { ChangeDetectorRef, Directive, inject, Input, Type } from '@angular/core';
2
2
  import { extractFunctionDefaults } from '@ng-doc/core';
3
3
  import { NgDocPlaygroundComponent } from './playground.component';
4
4
  import * as i0 from "@angular/core";
@@ -6,15 +6,17 @@ import * as i0 from "@angular/core";
6
6
  * Base class for playgrounds components.
7
7
  */
8
8
  class NgDocBasePlayground {
9
- constructor() {
9
+ static { this.selector = 'unknown'; }
10
+ constructor(playground, playgroundInstance) {
11
+ this.playground = playground;
12
+ this.playgroundInstance = playgroundInstance;
10
13
  this.properties = {};
11
14
  this.actionData = {};
12
15
  this.content = {};
13
16
  this.defaultValues = {};
14
17
  this.playgroundContainer = inject(NgDocPlaygroundComponent);
15
- }
16
- static { this.selector = 'unknown'; }
17
- ngOnInit() {
18
+ this.changeDetectorRef = inject(ChangeDetectorRef);
19
+ this.changeDetectorRef.detach();
18
20
  /*
19
21
  * Extract default values from playground properties. We do this in `ngOnInit` because in this case
20
22
  * input values provided from the template are not initialized yet, and we can read default values instead.
@@ -38,21 +40,28 @@ class NgDocBasePlayground {
38
40
  if (!this.playgroundContainer.defaultValues) {
39
41
  this.playgroundContainer.defaultValues = this.defaultValues;
40
42
  }
43
+ /*
44
+ This is a hack just to wait for the playground container to be initialized and only then
45
+ attach the change detector to have correct inputs values.
46
+ */
47
+ Promise.resolve().then(() => {
48
+ this.changeDetectorRef.reattach();
49
+ });
41
50
  }
42
51
  get data() {
43
52
  return Object.assign({}, this.configData, this.actionData);
44
53
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBasePlayground, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBasePlayground, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
46
55
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NgDocBasePlayground, inputs: { properties: "properties", actionData: "actionData", content: "content" }, ngImport: i0 }); }
47
56
  }
48
57
  export { NgDocBasePlayground };
49
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocBasePlayground, decorators: [{
50
59
  type: Directive
51
- }], propDecorators: { properties: [{
60
+ }], ctorParameters: function () { return [{ type: i0.Type }, { type: undefined }]; }, propDecorators: { properties: [{
52
61
  type: Input
53
62
  }], actionData: [{
54
63
  type: Input
55
64
  }], content: [{
56
65
  type: Input
57
66
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBYyx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUdsRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFaEU7O0dBRUc7QUFDSCxNQUNzQixtQkFBbUI7SUFEekM7UUFVQyxlQUFVLEdBQXdCLEVBQUUsQ0FBQztRQUdyQyxlQUFVLEdBQTRCLEVBQUUsQ0FBQztRQUd6QyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBRWxCLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUVwQyx3QkFBbUIsR0FBNkIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0ErQnpGO2FBakRnQixhQUFRLEdBQVcsU0FBUyxBQUFwQixDQUFxQjtJQW9CN0MsUUFBUTtRQUNQOzs7V0FHRztRQUNILElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQStCLEVBQUUsR0FBVyxFQUFFLEVBQUU7Z0JBQ3pHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDcEIsNkRBQTZEO29CQUM3RCxhQUFhO29CQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNuQztnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNQO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFGO2FBQU07WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRTtZQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDNUQ7SUFDRixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQWpEb0IsbUJBQW1CO2tHQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUR4QyxTQUFTOzhCQVVULFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgVHlwZSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnN0cnVjdG9yLCBleHRyYWN0RnVuY3Rpb25EZWZhdWx0c30gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29uZmlnfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQuY29tcG9uZW50JztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBwbGF5Z3JvdW5kcyBjb21wb25lbnRzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZ0RvY0Jhc2VQbGF5Z3JvdW5kIGltcGxlbWVudHMgUGljazxOZ0RvY1BsYXlncm91bmRDb25maWcsICdkYXRhJz4sIE9uSW5pdCB7XG5cdHN0YXRpYyByZWFkb25seSBzZWxlY3Rvcjogc3RyaW5nID0gJ3Vua25vd24nO1xuXG5cdGFic3RyYWN0IHJlYWRvbmx5IHBsYXlncm91bmQ/OiBUeXBlPGFueT47XG5cdGFic3RyYWN0IHJlYWRvbmx5IHBsYXlncm91bmRJbnN0YW5jZT86IENvbnN0cnVjdG9yPHVua25vd24+O1xuXHRhYnN0cmFjdCByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcblx0YWJzdHJhY3QgcmVhZG9ubHkgY29uZmlnRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG5cdEBJbnB1dCgpXG5cdGFjdGlvbkRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cblx0QElucHV0KClcblx0Y29udGVudDogYW55ID0ge307XG5cblx0ZGVmYXVsdFZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRwcml2YXRlIHBsYXlncm91bmRDb250YWluZXI6IE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCA9IGluamVjdChOZ0RvY1BsYXlncm91bmRDb21wb25lbnQpO1xuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8qXG5cdFx0ICogRXh0cmFjdCBkZWZhdWx0IHZhbHVlcyBmcm9tIHBsYXlncm91bmQgcHJvcGVydGllcy4gV2UgZG8gdGhpcyBpbiBgbmdPbkluaXRgIGJlY2F1c2UgaW4gdGhpcyBjYXNlXG5cdFx0ICogaW5wdXQgdmFsdWVzIHByb3ZpZGVkIGZyb20gdGhlIHRlbXBsYXRlIGFyZSBub3QgaW5pdGlhbGl6ZWQgeWV0LCBhbmQgd2UgY2FuIHJlYWQgZGVmYXVsdCB2YWx1ZXMgaW5zdGVhZC5cblx0XHQgKi9cblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kKSB7XG5cdFx0XHR0aGlzLmRlZmF1bHRWYWx1ZXMgPSBPYmplY3Qua2V5cyh0aGlzLnBsYXlncm91bmQpLnJlZHVjZSgodmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0aWYgKHRoaXMucGxheWdyb3VuZCkge1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0dmFsdWVzW2tleV0gPSB0aGlzLnBsYXlncm91bmRba2V5XTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB2YWx1ZXM7XG5cdFx0XHR9LCB7fSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnBsYXlncm91bmRJbnN0YW5jZSkge1xuXHRcdFx0dGhpcy5kZWZhdWx0VmFsdWVzID0gZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHModGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UucHJvdG90eXBlLnRyYW5zZm9ybSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignUGxheWdyb3VuZCBpcyBub3QgZGVmaW5lZCBvciBpbml0aWFsaXplZCcpO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5wbGF5Z3JvdW5kQ29udGFpbmVyLmRlZmF1bHRWYWx1ZXMpIHtcblx0XHRcdHRoaXMucGxheWdyb3VuZENvbnRhaW5lci5kZWZhdWx0VmFsdWVzID0gdGhpcy5kZWZhdWx0VmFsdWVzO1xuXHRcdH1cblx0fVxuXG5cdGdldCBkYXRhKCk6IGFueSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnRGF0YSwgdGhpcy5hY3Rpb25EYXRhKTtcblx0fVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQWMsdUJBQXVCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhFOztHQUVHO0FBQ0gsTUFDc0IsbUJBQW1CO2FBQ3hCLGFBQVEsR0FBVyxTQUFTLEFBQXBCLENBQXFCO0lBa0I3QyxZQUNTLFVBQXNCLEVBQ3RCLGtCQUF5QztRQUR6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFmbEQsZUFBVSxHQUF3QixFQUFFLENBQUM7UUFHckMsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFHekMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVsQixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFFcEMsd0JBQW1CLEdBQTZCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pGLHNCQUFpQixHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQU14RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEM7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBK0IsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDekcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNwQiw2REFBNkQ7b0JBQzdELGFBQWE7b0JBQ2IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ25DO2dCQUVELE9BQU8sTUFBTSxDQUFDO1lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ1A7YUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUY7YUFBTTtZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFO1lBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUM1RDtRQUVEOzs7V0FHRztRQUNILE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLElBQUk7UUFDUCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBM0RvQixtQkFBbUI7a0dBQW5CLG1CQUFtQjs7U0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVM7Z0hBT1QsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIFR5cGUsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25zdHJ1Y3RvciwgZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHN9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbmZpZ30gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbXBvbmVudH0gZnJvbSAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgcGxheWdyb3VuZHMgY29tcG9uZW50cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmdEb2NCYXNlUGxheWdyb3VuZCBpbXBsZW1lbnRzIFBpY2s8TmdEb2NQbGF5Z3JvdW5kQ29uZmlnLCAnZGF0YSc+IHtcblx0c3RhdGljIHJlYWRvbmx5IHNlbGVjdG9yOiBzdHJpbmcgPSAndW5rbm93bic7XG5cdGFic3RyYWN0IHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuXHRhYnN0cmFjdCByZWFkb25seSBjb25maWdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cblx0QElucHV0KClcblx0YWN0aW9uRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRASW5wdXQoKVxuXHRjb250ZW50OiBhbnkgPSB7fTtcblxuXHRkZWZhdWx0VmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG5cdHByaXZhdGUgcGxheWdyb3VuZENvbnRhaW5lcjogTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50ID0gaW5qZWN0KE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCk7XG5cdHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBwbGF5Z3JvdW5kPzogVHlwZTxhbnk+LFxuXHRcdHByaXZhdGUgcGxheWdyb3VuZEluc3RhbmNlPzogQ29uc3RydWN0b3I8dW5rbm93bj4sXG5cdCkge1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG5cdFx0Lypcblx0XHQgKiBFeHRyYWN0IGRlZmF1bHQgdmFsdWVzIGZyb20gcGxheWdyb3VuZCBwcm9wZXJ0aWVzLiBXZSBkbyB0aGlzIGluIGBuZ09uSW5pdGAgYmVjYXVzZSBpbiB0aGlzIGNhc2Vcblx0XHQgKiBpbnB1dCB2YWx1ZXMgcHJvdmlkZWQgZnJvbSB0aGUgdGVtcGxhdGUgYXJlIG5vdCBpbml0aWFsaXplZCB5ZXQsIGFuZCB3ZSBjYW4gcmVhZCBkZWZhdWx0IHZhbHVlcyBpbnN0ZWFkLlxuXHRcdCAqL1xuXHRcdGlmICh0aGlzLnBsYXlncm91bmQpIHtcblx0XHRcdHRoaXMuZGVmYXVsdFZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMucGxheWdyb3VuZCkucmVkdWNlKCh2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kKSB7XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFx0XHR2YWx1ZXNba2V5XSA9IHRoaXMucGxheWdyb3VuZFtrZXldO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIHZhbHVlcztcblx0XHRcdH0sIHt9KTtcblx0XHR9IGVsc2UgaWYgKHRoaXMucGxheWdyb3VuZEluc3RhbmNlKSB7XG5cdFx0XHR0aGlzLmRlZmF1bHRWYWx1ZXMgPSBleHRyYWN0RnVuY3Rpb25EZWZhdWx0cyh0aGlzLnBsYXlncm91bmRJbnN0YW5jZS5wcm90b3R5cGUudHJhbnNmb3JtKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdQbGF5Z3JvdW5kIGlzIG5vdCBkZWZpbmVkIG9yIGluaXRpYWxpemVkJyk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLnBsYXlncm91bmRDb250YWluZXIuZGVmYXVsdFZhbHVlcykge1xuXHRcdFx0dGhpcy5wbGF5Z3JvdW5kQ29udGFpbmVyLmRlZmF1bHRWYWx1ZXMgPSB0aGlzLmRlZmF1bHRWYWx1ZXM7XG5cdFx0fVxuXG5cdFx0Lypcblx0XHQgXHRUaGlzIGlzIGEgaGFjayBqdXN0IHRvIHdhaXQgZm9yIHRoZSBwbGF5Z3JvdW5kIGNvbnRhaW5lciB0byBiZSBpbml0aWFsaXplZCBhbmQgb25seSB0aGVuXG5cdFx0IFx0YXR0YWNoIHRoZSBjaGFuZ2UgZGV0ZWN0b3IgdG8gaGF2ZSBjb3JyZWN0IGlucHV0cyB2YWx1ZXMuXG5cdFx0ICovXG5cdFx0UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLnJlYXR0YWNoKCk7XG5cdFx0fSlcblx0fVxuXG5cdGdldCBkYXRhKCk6IGFueSB7XG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnRGF0YSwgdGhpcy5hY3Rpb25EYXRhKTtcblx0fVxufVxuIl19
@@ -39,7 +39,7 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
39
39
  }
40
40
  updateDemo(data) {
41
41
  if (this.recreateDemo || !this.demoRef) {
42
- this.renderDemo();
42
+ this.createDemo();
43
43
  }
44
44
  if (data) {
45
45
  this.demoRef?.setInput('properties', data.properties ?? {});
@@ -48,13 +48,11 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
48
48
  }
49
49
  this.updateCodeView();
50
50
  }
51
- renderDemo() {
51
+ createDemo() {
52
52
  if (this.playgroundDemo) {
53
53
  this.demoRef?.destroy();
54
- if (this.playgroundDemo) {
55
- this.demoRef = this.demoOutlet?.createComponent(this.playgroundDemo);
56
- }
57
- this.demoRef?.changeDetectorRef.detectChanges();
54
+ this.demoRef = this.demoOutlet?.createComponent(this.playgroundDemo);
55
+ this.demoRef?.changeDetectorRef.markForCheck();
58
56
  }
59
57
  }
60
58
  updateCodeView() {
@@ -116,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
116
114
  type: ViewChild,
117
115
  args: ['demoOutlet', { static: true, read: ViewContainerRef }]
118
116
  }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLDJCQUEyQixHQUMzQixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxJQUFJLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztB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O3NCQURYLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdENvbXBvbmVudFJlZixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPbkRlc3Ryb3ksXG5cdFNpbXBsZUNoYW5nZXMsXG5cdFR5cGUsXG5cdFZpZXdDaGlsZCxcblx0Vmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ0RvY0RlbW9EaXNwbGF5ZXJDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvZGVtby1kaXNwbGF5ZXInO1xuaW1wb3J0IHtmb3JtYXRIdG1sLCBnZXRQbGF5Z3JvdW5kRGVtb1Rva2VufSBmcm9tICdAbmctZG9jL2FwcC9oZWxwZXJzJztcbmltcG9ydCB7TmdEb2NGb3JtUGFydGlhbFZhbHVlfSBmcm9tICdAbmctZG9jL2FwcC90eXBlcyc7XG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUsXG5cdGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZSxcbn0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYnVpbGQtcGxheWdyb3VuZC1kZW1vLXRlbXBsYXRlJztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NMZXREaXJlY3RpdmUsIE5nRG9jU21vb3RoUmVzaXplQ29tcG9uZW50fSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3RhcnRXaXRoLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtOZ0RvY0Jhc2VQbGF5Z3JvdW5kfSBmcm9tICcuLi9iYXNlLXBsYXlncm91bmQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRGb3JtfSBmcm9tICcuLi9wbGF5Z3JvdW5kLWZvcm0nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZC1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCwgQXN5bmNQaXBlLCBOZ0RvY1Ntb290aFJlc2l6ZUNvbXBvbmVudCwgTmdEb2NMZXREaXJlY3RpdmVdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnQ8VCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgPSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzPlxuXHRpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG5cdEBJbnB1dCgpXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3I6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZ3VyYXRpb24/OiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFQ7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRASW5wdXQoKVxuXHRleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBWaWV3Q2hpbGQoJ2RlbW9PdXRsZXQnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcblx0ZGVtb091dGxldD86IFZpZXdDb250YWluZXJSZWY7XG5cblx0cGxheWdyb3VuZERlbW8/OiB0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZDtcblxuXHRjb2RlOiBPYnNlcnZhYmxlPHN0cmluZz4gPSBvZignJyk7XG5cblx0cHJpdmF0ZSBkZW1vUmVmPzogQ29tcG9uZW50UmVmPE5nRG9jQmFzZVBsYXlncm91bmQ+O1xuXHRwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cblx0bmdPbkNoYW5nZXMoe2Zvcm0sIGlkfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChmb3JtIHx8IGlkKSB7XG5cdFx0XHR0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG5cblx0XHRcdGNvbnN0IGRlbW9JbmplY3RvcjogSW5qZWN0aW9uVG9rZW48QXJyYXk8dHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ+PiB8IHVuZGVmaW5lZCA9IGdldFBsYXlncm91bmREZW1vVG9rZW4oXG5cdFx0XHRcdHRoaXMuaWQsXG5cdFx0XHQpO1xuXG5cdFx0XHRpZiAoZGVtb0luamVjdG9yKSB7XG5cdFx0XHRcdGNvbnN0IGRlbW9zOiBBcnJheTx0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZD4gPSB0aGlzLmluamVjdG9yLmdldChkZW1vSW5qZWN0b3IsIFtdKTtcblxuXHRcdFx0XHR0aGlzLnBsYXlncm91bmREZW1vID0gZGVtb3MuZmluZChcblx0XHRcdFx0XHQoZGVtbzogdHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQpID0+IGRlbW8uc2VsZWN0b3IgPT09IHRoaXMuc2VsZWN0b3IgfHwgZGVtby5zZWxlY3RvciA9PT0gdGhpcy5waXBlTmFtZSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy51cGRhdGVEZW1vKCk7XG5cblx0XHRcdHRoaXMuZm9ybT8udmFsdWVDaGFuZ2VzXG5cdFx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIHVudGlsRGVzdHJveWVkKHRoaXMpLCBzdGFydFdpdGgodGhpcy5mb3JtPy52YWx1ZSkpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKGRhdGE6IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPikgPT4gdGhpcy51cGRhdGVEZW1vKGRhdGEpKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZURlbW8oZGF0YT86IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPik6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJlY3JlYXRlRGVtbyB8fCAhdGhpcy5kZW1vUmVmKSB7XG5cdFx0XHR0aGlzLnJlbmRlckRlbW8oKTtcblx0XHR9XG5cblx0XHRpZiAoZGF0YSkge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5zZXRJbnB1dCgncHJvcGVydGllcycsIGRhdGEucHJvcGVydGllcyA/PyB7fSk7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdjb250ZW50JywgZGF0YS5jb250ZW50ID8/IHt9KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ2FjdGlvbkRhdGEnLCB0aGlzLmNvbmZpZ3VyYXRpb24/LmRhdGEgPz8ge30pO1xuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlQ29kZVZpZXcoKTtcblx0fVxuXG5cdHByaXZhdGUgcmVuZGVyRGVtbygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kRGVtbykge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5kZXN0cm95KCk7XG5cblx0XHRcdGlmICh0aGlzLnBsYXlncm91bmREZW1vKSB7XG5cdFx0XHRcdHRoaXMuZGVtb1JlZiA9IHRoaXMuZGVtb091dGxldD8uY3JlYXRlQ29tcG9uZW50KHRoaXMucGxheWdyb3VuZERlbW8gYXMgdW5rbm93biBhcyBUeXBlPE5nRG9jQmFzZVBsYXlncm91bmQ+KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVDb2RlVmlldygpOiB2b2lkIHtcblx0XHRjb25zdCB0ZW1wbGF0ZTogc3RyaW5nID0gdGhpcy5waXBlTmFtZVxuXHRcdFx0PyBidWlsZFBsYXlncm91bmREZW1vUGlwZVRlbXBsYXRlKFxuXHRcdFx0XHRcdHRoaXMuY29uZmlndXJhdGlvbj8udGVtcGxhdGUgPz8gJycsXG5cdFx0XHRcdFx0dGhpcy5waXBlTmFtZSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUNvbnRlbnQoKSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUlucHV0cygpLFxuXHRcdFx0ICApXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdCAgKTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLmNvbnRlbnQudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0cmVzdWx0W2tleV0gPSBmb3JtRGF0YVtrZXldID8gdGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50Py5ba2V5XS50ZW1wbGF0ZSA/PyAnJyA6ICcnO1xuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sIHt9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QWN0aXZlSW5wdXRzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0Y29uc3QgcHJvcGVydHk6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdGlmIChwcm9wZXJ0eSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBzdHJpbmdpZnkodmFsdWUpLnJlcGxhY2UoL1wiL2csIGAnYCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSwge30pO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuXHRcdHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cdH1cbn1cbiIsIjxuZy1kb2Mtc21vb3RoLXJlc2l6ZSAqbmdEb2NMZXQ9XCJjb2RlIHwgYXN5bmMgYXMgY29kZUNvbnRlbnRcIiBbdHJpZ2dlcl09XCJjb2RlQ29udGVudFwiPlxuXHQ8bmctZG9jLWRlbW8tZGlzcGxheWVyXG5cdFx0W2NvZGVdPVwiY29kZUNvbnRlbnQgPz8gJydcIlxuXHRcdFtib3JkZXJdPVwiZmFsc2VcIlxuXHRcdFtleHBhbmRlZF09XCJleHBhbmRlZFwiXG5cdFx0bGFuZ3VhZ2U9XCJodG1sXCJcblx0PlxuXHRcdDxuZy1jb250YWluZXIgI2RlbW9PdXRsZXQ+PC9uZy1jb250YWluZXI+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLDJCQUEyQixHQUMzQixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxJQUFJLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztB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SU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q29tcG9uZW50UmVmLFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0U2ltcGxlQ2hhbmdlcyxcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllcic7XG5pbXBvcnQge2Zvcm1hdEh0bWwsIGdldFBsYXlncm91bmREZW1vVG9rZW59IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWV9IGZyb20gJ0BuZy1kb2MvYXBwL3R5cGVzJztcbmltcG9ydCB7c3RyaW5naWZ5fSBmcm9tICdAbmctZG9jL2NvcmUnO1xuaW1wb3J0IHtcblx0YnVpbGRQbGF5Z3JvdW5kRGVtb1BpcGVUZW1wbGF0ZSxcblx0YnVpbGRQbGF5Z3JvdW5kRGVtb1RlbXBsYXRlLFxufSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9idWlsZC1wbGF5Z3JvdW5kLWRlbW8tdGVtcGxhdGUnO1xuaW1wb3J0IHtvYmplY3RLZXlzfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZENvbmZpZywgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllc30gZnJvbSAnQG5nLWRvYy9jb3JlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtOZ0RvY0xldERpcmVjdGl2ZSwgTmdEb2NTbW9vdGhSZXNpemVDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGgsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge05nRG9jQmFzZVBsYXlncm91bmR9IGZyb20gJy4uL2Jhc2UtcGxheWdyb3VuZCc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZEZvcm19IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wbGF5Z3JvdW5kLWRlbW8nLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdEb2NEZW1vRGlzcGxheWVyQ29tcG9uZW50LCBBc3luY1BpcGUsIE5nRG9jU21vb3RoUmVzaXplQ29tcG9uZW50LCBOZ0RvY0xldERpcmVjdGl2ZV0sXG59KVxuQFVudGlsRGVzdHJveSgpXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudDxUIGV4dGVuZHMgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyA9IE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXM+XG5cdGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcblx0QElucHV0KClcblx0aWQ6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdHBpcGVOYW1lOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRzZWxlY3Rvcjogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0Y29uZmlndXJhdGlvbj86IE5nRG9jUGxheWdyb3VuZENvbmZpZztcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogVDtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRmb3JtITogRm9ybUdyb3VwPE5nRG9jUGxheWdyb3VuZEZvcm0+O1xuXG5cdEBJbnB1dCgpXG5cdGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cblx0QFZpZXdDaGlsZCgnZGVtb091dGxldCcsIHtzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWZ9KVxuXHRkZW1vT3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcblxuXHRwbGF5Z3JvdW5kRGVtbz86IHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kO1xuXG5cdGNvZGU6IE9ic2VydmFibGU8c3RyaW5nPiA9IG9mKCcnKTtcblxuXHRwcml2YXRlIGRlbW9SZWY/OiBDb21wb25lbnRSZWY8TmdEb2NCYXNlUGxheWdyb3VuZD47XG5cdHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuXHRuZ09uQ2hhbmdlcyh7Zm9ybSwgaWR9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKGZvcm0gfHwgaWQpIHtcblx0XHRcdHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcblxuXHRcdFx0Y29uc3QgZGVtb0luamVjdG9yOiBJbmplY3Rpb25Ub2tlbjxBcnJheTx0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZD4+IHwgdW5kZWZpbmVkID0gZ2V0UGxheWdyb3VuZERlbW9Ub2tlbihcblx0XHRcdFx0dGhpcy5pZCxcblx0XHRcdCk7XG5cblx0XHRcdGlmIChkZW1vSW5qZWN0b3IpIHtcblx0XHRcdFx0Y29uc3QgZGVtb3M6IEFycmF5PHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kPiA9IHRoaXMuaW5qZWN0b3IuZ2V0KGRlbW9JbmplY3RvciwgW10pO1xuXG5cdFx0XHRcdHRoaXMucGxheWdyb3VuZERlbW8gPSBkZW1vcy5maW5kKFxuXHRcdFx0XHRcdChkZW1vOiB0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZCkgPT4gZGVtby5zZWxlY3RvciA9PT0gdGhpcy5zZWxlY3RvciB8fCBkZW1vLnNlbGVjdG9yID09PSB0aGlzLnBpcGVOYW1lLFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnVwZGF0ZURlbW8oKTtcblxuXHRcdFx0dGhpcy5mb3JtPy52YWx1ZUNoYW5nZXNcblx0XHRcdFx0LnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSwgdW50aWxEZXN0cm95ZWQodGhpcyksIHN0YXJ0V2l0aCh0aGlzLmZvcm0/LnZhbHVlKSlcblx0XHRcdFx0LnN1YnNjcmliZSgoZGF0YTogTmdEb2NGb3JtUGFydGlhbFZhbHVlPHR5cGVvZiB0aGlzLmZvcm0+KSA9PiB0aGlzLnVwZGF0ZURlbW8oZGF0YSkpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlRGVtbyhkYXRhPzogTmdEb2NGb3JtUGFydGlhbFZhbHVlPHR5cGVvZiB0aGlzLmZvcm0+KTogdm9pZCB7XG5cdFx0aWYgKHRoaXMucmVjcmVhdGVEZW1vIHx8ICF0aGlzLmRlbW9SZWYpIHtcblx0XHRcdHRoaXMuY3JlYXRlRGVtbygpO1xuXHRcdH1cblxuXHRcdGlmIChkYXRhKSB7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdwcm9wZXJ0aWVzJywgZGF0YS5wcm9wZXJ0aWVzID8/IHt9KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ2NvbnRlbnQnLCBkYXRhLmNvbnRlbnQgPz8ge30pO1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5zZXRJbnB1dCgnYWN0aW9uRGF0YScsIHRoaXMuY29uZmlndXJhdGlvbj8uZGF0YSA/PyB7fSk7XG5cdFx0fVxuXG5cdFx0dGhpcy51cGRhdGVDb2RlVmlldygpO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVEZW1vKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnBsYXlncm91bmREZW1vKSB7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LmRlc3Ryb3koKTtcblx0XHRcdHRoaXMuZGVtb1JlZiA9IHRoaXMuZGVtb091dGxldD8uY3JlYXRlQ29tcG9uZW50KHRoaXMucGxheWdyb3VuZERlbW8gYXMgdW5rbm93biBhcyBUeXBlPE5nRG9jQmFzZVBsYXlncm91bmQ+KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVDb2RlVmlldygpOiB2b2lkIHtcblx0XHRjb25zdCB0ZW1wbGF0ZTogc3RyaW5nID0gdGhpcy5waXBlTmFtZVxuXHRcdFx0PyBidWlsZFBsYXlncm91bmREZW1vUGlwZVRlbXBsYXRlKFxuXHRcdFx0XHRcdHRoaXMuY29uZmlndXJhdGlvbj8udGVtcGxhdGUgPz8gJycsXG5cdFx0XHRcdFx0dGhpcy5waXBlTmFtZSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUNvbnRlbnQoKSxcblx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZUlucHV0cygpLFxuXHRcdFx0ICApXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdCAgKTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLmNvbnRlbnQudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0cmVzdWx0W2tleV0gPSBmb3JtRGF0YVtrZXldID8gdGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50Py5ba2V5XS50ZW1wbGF0ZSA/PyAnJyA6ICcnO1xuXG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sIHt9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QWN0aXZlSW5wdXRzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9ICh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXG5cdFx0cmV0dXJuIG9iamVjdEtleXMoZm9ybURhdGEpLnJlZHVjZSgocmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0Y29uc3QgcHJvcGVydHk6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdGlmIChwcm9wZXJ0eSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0cmVzdWx0W2tleV0gPSBzdHJpbmdpZnkodmFsdWUpLnJlcGxhY2UoL1wiL2csIGAnYCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSwge30pO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuXHRcdHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cdH1cbn1cbiIsIjxuZy1kb2Mtc21vb3RoLXJlc2l6ZSAqbmdEb2NMZXQ9XCJjb2RlIHwgYXN5bmMgYXMgY29kZUNvbnRlbnRcIiBbdHJpZ2dlcl09XCJjb2RlQ29udGVudFwiPlxuXHQ8bmctZG9jLWRlbW8tZGlzcGxheWVyXG5cdFx0W2NvZGVdPVwiY29kZUNvbnRlbnQgPz8gJydcIlxuXHRcdFtib3JkZXJdPVwiZmFsc2VcIlxuXHRcdFtleHBhbmRlZF09XCJleHBhbmRlZFwiXG5cdFx0bGFuZ3VhZ2U9XCJodG1sXCJcblx0PlxuXHRcdDxuZy1jb250YWluZXIgI2RlbW9PdXRsZXQ+PC9uZy1jb250YWluZXI+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { NgFor, NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
3
3
  import { FormBuilder } from '@angular/forms';
4
4
  import { NgDocRootPage } from '@ng-doc/app/classes/root-page';
5
5
  import { objectKeys } from '@ng-doc/core/helpers/object-keys';
@@ -10,19 +10,20 @@ import * as i0 from "@angular/core";
10
10
  import * as i1 from "@ng-doc/app/classes/root-page";
11
11
  import * as i2 from "@angular/forms";
12
12
  class NgDocPlaygroundComponent {
13
- constructor(rootPage, formBuilder, changeDetectorRef) {
13
+ constructor(rootPage, formBuilder) {
14
14
  this.rootPage = rootPage;
15
15
  this.formBuilder = formBuilder;
16
- this.changeDetectorRef = changeDetectorRef;
17
16
  this.id = '';
18
17
  this.pipeName = '';
19
18
  this.selectors = [];
20
19
  this.options = {};
21
20
  this.recreateDemo = false;
22
21
  }
23
- ngOnInit() {
24
- // Join configuration with options
25
- this.configuration = Object.assign({}, this.rootPage.page?.playgrounds?.[this.id], this.options);
22
+ ngOnChanges({ options }) {
23
+ if (options) {
24
+ // Join configuration with options
25
+ this.configuration = Object.assign({}, this.rootPage.page?.playgrounds?.[this.id], this.options);
26
+ }
26
27
  }
27
28
  ngAfterViewInit() {
28
29
  const propertiesForm = this.formBuilder.group(this.getPropertiesFormValues());
@@ -36,7 +37,6 @@ class NgDocPlaygroundComponent {
36
37
  properties: Object.assign({}, this.getPropertiesFormValues(), this.configuration.inputs),
37
38
  content: this.getContentFormValues(),
38
39
  });
39
- this.changeDetectorRef.detectChanges();
40
40
  }
41
41
  getPropertiesFormValues() {
42
42
  const formValues = objectKeys(this.properties ?? {}).reduce((controls, key) => {
@@ -54,7 +54,6 @@ class NgDocPlaygroundComponent {
54
54
  }
55
55
  return controls;
56
56
  }, {});
57
- return {};
58
57
  }
59
58
  resetForm() {
60
59
  this.formGroup?.patchValue({
@@ -62,14 +61,14 @@ class NgDocPlaygroundComponent {
62
61
  content: this.getContentFormValues(),
63
62
  });
64
63
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundComponent, deps: [{ token: i1.NgDocRootPage }, { token: i2.FormBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\"\n\t>\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundComponent, deps: [{ token: i1.NgDocRootPage }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocPlaygroundComponent, isStandalone: true, selector: "ng-doc-playground", inputs: { id: "id", pipeName: "pipeName", selectors: "selectors", properties: "properties", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\"\n\t>\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocPlaygroundPropertiesComponent, selector: "ng-doc-playground-properties", inputs: ["form", "properties", "dynamicContent", "defaultValues", "hideSidePanel", "recreateDemo"], outputs: ["recreateDemoChange", "resetForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundDemoComponent, selector: "ng-doc-playground-demo", inputs: ["id", "pipeName", "selector", "configuration", "properties", "recreateDemo", "form", "expanded"] }, { kind: "pipe", type: NgDocAsArrayPipe, name: "asArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
66
  }
68
67
  export { NgDocPlaygroundComponent };
69
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPlaygroundComponent, decorators: [{
70
69
  type: Component,
71
70
  args: [{ selector: 'ng-doc-playground', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgDocPlaygroundPropertiesComponent, NgFor, NgDocPlaygroundDemoComponent, NgDocAsArrayPipe], template: "<ng-container *ngIf=\"configuration\">\n\t<ng-doc-playground-properties\n\t\t[form]=\"formGroup\"\n\t\t[properties]=\"properties\"\n\t\t[dynamicContent]=\"configuration.content\"\n\t\t[hideSidePanel]=\"configuration.hideSidePanel ?? false\"\n\t\t[defaultValues]=\"defaultValues\"\n\t\t[(recreateDemo)]=\"recreateDemo\"\n\t\t(resetForm)=\"resetForm()\"\n\t>\n\t\t<ng-doc-playground-demo\n\t\t\t*ngFor=\"let selector of configuration.selectors ?? selectors | asArray\"\n\t\t\t[id]=\"id\"\n\t\t\t[selector]=\"selector\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t\t[expanded]=\"configuration.expanded ?? false\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\n\t\t<ng-doc-playground-demo\n\t\t\t*ngIf=\"pipeName\"\n\t\t\t[id]=\"id\"\n\t\t\t[pipeName]=\"pipeName\"\n\t\t\t[properties]=\"properties\"\n\t\t\t[configuration]=\"configuration\"\n\t\t\t[recreateDemo]=\"recreateDemo\"\n\t\t\t[form]=\"formGroup\"\n\t\t>\n\t\t</ng-doc-playground-demo>\n\t</ng-doc-playground-properties>\n</ng-container>\n", styles: [":host{display:block}\n"] }]
72
- }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }, { type: i2.FormBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
71
+ }], ctorParameters: function () { return [{ type: i1.NgDocRootPage }, { type: i2.FormBuilder }]; }, propDecorators: { id: [{
73
72
  type: Input,
74
73
  args: [{ required: true }]
75
74
  }], pipeName: [{
@@ -81,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
81
80
  }], options: [{
82
81
  type: Input
83
82
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsV0FBVyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5REFBeUQsQ0FBQzs7OztBQUUzRyxNQVFhLHdCQUF3QjtJQXVCcEMsWUFDa0IsUUFBdUIsRUFDdkIsV0FBd0IsRUFDeEIsaUJBQW9DO1FBRnBDLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXRCdEQsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUdoQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBR3RCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFF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Q0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLENBQUM7OEpBTTFHLEVBQUU7c0JBREQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBSXZCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3IsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ0RvY1Jvb3RQYWdlfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3Jvb3QtcGFnZSc7XG5pbXBvcnQge29iamVjdEtleXN9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL29iamVjdC1rZXlzJztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kQ29uZmlnLCBOZ0RvY1BsYXlncm91bmRPcHRpb25zLCBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jQXNBcnJheVBpcGV9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcblxuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQtZGVtby9wbGF5Z3JvdW5kLWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7TmdEb2NQbGF5Z3JvdW5kRm9ybX0gZnJvbSAnLi9wbGF5Z3JvdW5kLWZvcm0nO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzQ29tcG9uZW50fSBmcm9tICcuL3BsYXlncm91bmQtcHJvcGVydGllcy9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ0lmLCBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzQ29tcG9uZW50LCBOZ0ZvciwgTmdEb2NQbGF5Z3JvdW5kRGVtb0NvbXBvbmVudCwgTmdEb2NBc0FycmF5UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZENvbXBvbmVudDxUIGV4dGVuZHMgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyA9IE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXM+XG5cdGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0XG57XG5cdEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KVxuXHRpZDogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0cGlwZU5hbWU6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdHNlbGVjdG9yczogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogVDtcblxuXHRASW5wdXQoKVxuXHRvcHRpb25zOiBOZ0RvY1BsYXlncm91bmRPcHRpb25zID0ge307XG5cblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cdGZvcm1Hcm91cCE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXHRjb25maWd1cmF0aW9uITogTmdEb2NQbGF5Z3JvdW5kQ29uZmlnO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcm9vdFBhZ2U6IE5nRG9jUm9vdFBhZ2UsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdCkge31cblxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcblx0XHQvLyBKb2luIGNvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25zXG5cdFx0dGhpcy5jb25maWd1cmF0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5yb290UGFnZS5wYWdlPy5wbGF5Z3JvdW5kcz8uW3RoaXMuaWRdLCB0aGlzLm9wdGlvbnMpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGNvbnN0IHByb3BlcnRpZXNGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHRoaXMuZ2V0UHJvcGVydGllc0Zvcm1WYWx1ZXMoKSk7XG5cdFx0Y29uc3QgY29udGVudEZvcm06IEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAodGhpcy5nZXRDb250ZW50Rm9ybVZhbHVlcygpKTtcblxuXHRcdHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG5cdFx0XHRwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzRm9ybSxcblx0XHRcdGNvbnRlbnQ6IGNvbnRlbnRGb3JtLFxuXHRcdH0pO1xuXHRcdC8vIGBwYXRjaFZhbHVlYCBpcyBuZWVkZWQgdG8gc2V0IGB1bmRlZmluZWRgIHZhbHVlcywgb3RoZXJ3aXNlIHRoZXkgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSBBbmd1bGFyIGZvcm1cblx0XHR0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcblx0XHRcdHByb3BlcnRpZXM6IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ2V0UHJvcGVydGllc0Zvcm1WYWx1ZXMoKSwgdGhpcy5jb25maWd1cmF0aW9uLmlucHV0cyksXG5cdFx0XHRjb250ZW50OiB0aGlzLmdldENvbnRlbnRGb3JtVmFsdWVzKCksXG5cdFx0fSk7XG5cblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0UHJvcGVydGllc0Zvcm1WYWx1ZXMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdGNvbnN0IGZvcm1WYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gb2JqZWN0S2V5cyh0aGlzLnByb3BlcnRpZXMgPz8ge30pLnJlZHVjZShcblx0XHRcdChjb250cm9sczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRjb250cm9sc1trZXldID0gdGhpcy5kZWZhdWx0VmFsdWVzID8gdGhpcy5kZWZhdWx0VmFsdWVzW2tleV0gOiB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0XHR9LFxuXHRcdFx0e30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG5cdFx0KTtcblxuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmb3JtVmFsdWVzLCB0aGlzLmNvbmZpZ3VyYXRpb24uZGVmYXVsdHMpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250ZW50Rm9ybVZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG5cdFx0cmV0dXJuIG9iamVjdEtleXModGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50ID8/IHt9KS5yZWR1Y2UoKGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LmNvbnRlbnQpIHtcblx0XHRcdFx0Y29udHJvbHNba2V5XSA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0fSwge30gYXMgUmVjb3JkPGtleW9mIFQsIGJvb2xlYW4+KTtcblx0XHRyZXR1cm4ge307XG5cdH1cblxuXHRyZXNldEZvcm0oKTogdm9pZCB7XG5cdFx0dGhpcy5mb3JtR3JvdXA/LnBhdGNoVmFsdWUoe1xuXHRcdFx0cHJvcGVydGllczogdGhpcy5nZXRQcm9wZXJ0aWVzRm9ybVZhbHVlcygpLFxuXHRcdFx0Y29udGVudDogdGhpcy5nZXRDb250ZW50Rm9ybVZhbHVlcygpLFxuXHRcdH0pO1xuXHR9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlndXJhdGlvblwiPlxuXHQ8bmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1xuXHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiXG5cdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0W2R5bmFtaWNDb250ZW50XT1cImNvbmZpZ3VyYXRpb24uY29udGVudFwiXG5cdFx0W2hpZGVTaWRlUGFuZWxdPVwiY29uZmlndXJhdGlvbi5oaWRlU2lkZVBhbmVsID8/IGZhbHNlXCJcblx0XHRbZGVmYXVsdFZhbHVlc109XCJkZWZhdWx0VmFsdWVzXCJcblx0XHRbKHJlY3JlYXRlRGVtbyldPVwicmVjcmVhdGVEZW1vXCJcblx0XHQocmVzZXRGb3JtKT1cInJlc2V0Rm9ybSgpXCJcblx0PlxuXHRcdDxuZy1kb2MtcGxheWdyb3VuZC1kZW1vXG5cdFx0XHQqbmdGb3I9XCJsZXQgc2VsZWN0b3Igb2YgY29uZmlndXJhdGlvbi5zZWxlY3RvcnMgPz8gc2VsZWN0b3JzIHwgYXNBcnJheVwiXG5cdFx0XHRbaWRdPVwiaWRcIlxuXHRcdFx0W3NlbGVjdG9yXT1cInNlbGVjdG9yXCJcblx0XHRcdFtwcm9wZXJ0aWVzXT1cInByb3BlcnRpZXNcIlxuXHRcdFx0W2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiXG5cdFx0XHRbcmVjcmVhdGVEZW1vXT1cInJlY3JlYXRlRGVtb1wiXG5cdFx0XHRbZm9ybV09XCJmb3JtR3JvdXBcIlxuXHRcdFx0W2V4cGFuZGVkXT1cImNvbmZpZ3VyYXRpb24uZXhwYW5kZWQgPz8gZmFsc2VcIlxuXHRcdD5cblx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLWRlbW8+XG5cblx0XHQ8bmctZG9jLXBsYXlncm91bmQtZGVtb1xuXHRcdFx0Km5nSWY9XCJwaXBlTmFtZVwiXG5cdFx0XHRbaWRdPVwiaWRcIlxuXHRcdFx0W3BpcGVOYW1lXT1cInBpcGVOYW1lXCJcblx0XHRcdFtwcm9wZXJ0aWVzXT1cInByb3BlcnRpZXNcIlxuXHRcdFx0W2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiXG5cdFx0XHRbcmVjcmVhdGVEZW1vXT1cInJlY3JlYXRlRGVtb1wiXG5cdFx0XHRbZm9ybV09XCJmb3JtR3JvdXBcIlxuXHRcdD5cblx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLWRlbW8+XG5cdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcz5cbjwvbmctY29udGFpbmVyPlxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BsYXlncm91bmQvcGxheWdyb3VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUV6RixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5REFBeUQsQ0FBQzs7OztBQUUzRyxNQVFhLHdCQUF3QjtJQXVCcEMsWUFBNkIsUUFBdUIsRUFBbUIsV0FBd0I7UUFBbEUsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUFtQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQW5CL0YsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUdoQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBR3RCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsWUFBTyxHQUEyQixFQUFFLENBQUM7UUFFckMsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFLb0UsQ0FBQztJQUVuRyxXQUFXLENBQUMsRUFBQyxP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QUUsZ0JBQWdCLENBQUM7OEhBTTFHLEVBQUU7c0JBREQsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBSXZCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3IsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge05nRG9jUm9vdFBhZ2V9IGZyb20gJ0BuZy1kb2MvYXBwL2NsYXNzZXMvcm9vdC1wYWdlJztcbmltcG9ydCB7b2JqZWN0S2V5c30gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvb2JqZWN0LWtleXMnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZE9wdGlvbnMsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXN9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7TmdEb2NBc0FycmF5UGlwZX0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5pbXBvcnQge05nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1kZW1vL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHtOZ0RvY1BsYXlncm91bmRGb3JtfSBmcm9tICcuL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQge05nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnR9IGZyb20gJy4vcGxheWdyb3VuZC1wcm9wZXJ0aWVzL3BsYXlncm91bmQtcHJvcGVydGllcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vcGxheWdyb3VuZC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nSWYsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQsIE5nRm9yLCBOZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50LCBOZ0RvY0FzQXJyYXlQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50PFQgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzID0gTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcz5cblx0aW1wbGVtZW50cyBPbkNoYW5nZXNcbntcblx0QElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3JzOiBzdHJpbmdbXSA9IFtdO1xuXG5cdEBJbnB1dCgpXG5cdHByb3BlcnRpZXM/OiBUO1xuXG5cdEBJbnB1dCgpXG5cdG9wdGlvbnM6IE5nRG9jUGxheWdyb3VuZE9wdGlvbnMgPSB7fTtcblxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblx0Zm9ybUdyb3VwITogRm9ybUdyb3VwPE5nRG9jUGxheWdyb3VuZEZvcm0+O1xuXHRkZWZhdWx0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cdGNvbmZpZ3VyYXRpb24hOiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb290UGFnZTogTmdEb2NSb290UGFnZSwgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHt9XG5cblx0bmdPbkNoYW5nZXMoe29wdGlvbnN9OiBTaW1wbGVDaGFuZ2VzKSB7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdC8vIEpvaW4gY29uZmlndXJhdGlvbiB3aXRoIG9wdGlvbnNcblx0XHRcdHRoaXMuY29uZmlndXJhdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucm9vdFBhZ2UucGFnZT8ucGxheWdyb3VuZHM/Llt0aGlzLmlkXSwgdGhpcy5vcHRpb25zKTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG5cdFx0Y29uc3QgcHJvcGVydGllc0Zvcm06IEZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAodGhpcy5nZXRQcm9wZXJ0aWVzRm9ybVZhbHVlcygpKTtcblx0XHRjb25zdCBjb250ZW50Rm9ybTogRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh0aGlzLmdldENvbnRlbnRGb3JtVmFsdWVzKCkpO1xuXG5cdFx0dGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcblx0XHRcdHByb3BlcnRpZXM6IHByb3BlcnRpZXNGb3JtLFxuXHRcdFx0Y29udGVudDogY29udGVudEZvcm0sXG5cdFx0fSk7XG5cdFx0Ly8gYHBhdGNoVmFsdWVgIGlzIG5lZWRlZCB0byBzZXQgYHVuZGVmaW5lZGAgdmFsdWVzLCBvdGhlcndpc2UgdGhleSB3aWxsIGJlIGlnbm9yZWQgYnkgdGhlIEFuZ3VsYXIgZm9ybVxuXHRcdHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoe1xuXHRcdFx0cHJvcGVydGllczogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5nZXRQcm9wZXJ0aWVzRm9ybVZhbHVlcygpLCB0aGlzLmNvbmZpZ3VyYXRpb24uaW5wdXRzKSxcblx0XHRcdGNvbnRlbnQ6IHRoaXMuZ2V0Q29udGVudEZvcm1WYWx1ZXMoKSxcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0UHJvcGVydGllc0Zvcm1WYWx1ZXMoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuXHRcdGNvbnN0IGZvcm1WYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gb2JqZWN0S2V5cyh0aGlzLnByb3BlcnRpZXMgPz8ge30pLnJlZHVjZShcblx0XHRcdChjb250cm9sczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRjb250cm9sc1trZXldID0gdGhpcy5kZWZhdWx0VmFsdWVzID8gdGhpcy5kZWZhdWx0VmFsdWVzW2tleV0gOiB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0XHR9LFxuXHRcdFx0e30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG5cdFx0KTtcblxuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBmb3JtVmFsdWVzLCB0aGlzLmNvbmZpZ3VyYXRpb24uZGVmYXVsdHMpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRDb250ZW50Rm9ybVZhbHVlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG5cdFx0cmV0dXJuIG9iamVjdEtleXModGhpcy5jb25maWd1cmF0aW9uPy5jb250ZW50ID8/IHt9KS5yZWR1Y2UoKGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdGlmICh0aGlzLmNvbmZpZ3VyYXRpb24/LmNvbnRlbnQpIHtcblx0XHRcdFx0Y29udHJvbHNba2V5XSA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gY29udHJvbHM7XG5cdFx0fSwge30gYXMgUmVjb3JkPGtleW9mIFQsIGJvb2xlYW4+KTtcblx0fVxuXG5cdHJlc2V0Rm9ybSgpOiB2b2lkIHtcblx0XHR0aGlzLmZvcm1Hcm91cD8ucGF0Y2hWYWx1ZSh7XG5cdFx0XHRwcm9wZXJ0aWVzOiB0aGlzLmdldFByb3BlcnRpZXNGb3JtVmFsdWVzKCksXG5cdFx0XHRjb250ZW50OiB0aGlzLmdldENvbnRlbnRGb3JtVmFsdWVzKCksXG5cdFx0fSk7XG5cdH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWd1cmF0aW9uXCI+XG5cdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzXG5cdFx0W2Zvcm1dPVwiZm9ybUdyb3VwXCJcblx0XHRbcHJvcGVydGllc109XCJwcm9wZXJ0aWVzXCJcblx0XHRbZHluYW1pY0NvbnRlbnRdPVwiY29uZmlndXJhdGlvbi5jb250ZW50XCJcblx0XHRbaGlkZVNpZGVQYW5lbF09XCJjb25maWd1cmF0aW9uLmhpZGVTaWRlUGFuZWwgPz8gZmFsc2VcIlxuXHRcdFtkZWZhdWx0VmFsdWVzXT1cImRlZmF1bHRWYWx1ZXNcIlxuXHRcdFsocmVjcmVhdGVEZW1vKV09XCJyZWNyZWF0ZURlbW9cIlxuXHRcdChyZXNldEZvcm0pPVwicmVzZXRGb3JtKClcIlxuXHQ+XG5cdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLWRlbW9cblx0XHRcdCpuZ0Zvcj1cImxldCBzZWxlY3RvciBvZiBjb25maWd1cmF0aW9uLnNlbGVjdG9ycyA/PyBzZWxlY3RvcnMgfCBhc0FycmF5XCJcblx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxuXHRcdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCJcblx0XHRcdFtyZWNyZWF0ZURlbW9dPVwicmVjcmVhdGVEZW1vXCJcblx0XHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiXG5cdFx0XHRbZXhwYW5kZWRdPVwiY29uZmlndXJhdGlvbi5leHBhbmRlZCA/PyBmYWxzZVwiXG5cdFx0PlxuXHRcdDwvbmctZG9jLXBsYXlncm91bmQtZGVtbz5cblxuXHRcdDxuZy1kb2MtcGxheWdyb3VuZC1kZW1vXG5cdFx0XHQqbmdJZj1cInBpcGVOYW1lXCJcblx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRbcGlwZU5hbWVdPVwicGlwZU5hbWVcIlxuXHRcdFx0W3Byb3BlcnRpZXNdPVwicHJvcGVydGllc1wiXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCJcblx0XHRcdFtyZWNyZWF0ZURlbW9dPVwicmVjcmVhdGVEZW1vXCJcblx0XHRcdFtmb3JtXT1cImZvcm1Hcm91cFwiXG5cdFx0PlxuXHRcdDwvbmctZG9jLXBsYXlncm91bmQtZGVtbz5cblx0PC9uZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL2RlbW8tYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRG9jQ29kZVR5cGV9IGZyb20gJ0BuZy1kb2MvY29yZS90eXBlcy9jb2RlLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVtb0Fzc2V0cyB7XG5cdFtuYW1lOiBzdHJpbmddOiBOZ0RvY0RlbW9Bc3NldFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVtb0Fzc2V0IHtcblx0Y29kZVR5cGU6IE5nRG9jQ29kZVR5cGU7XG5cdGNvZGU6IHN0cmluZztcblx0dGl0bGU6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby1hc3NldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9pbnRlcmZhY2VzL2RlbW8tYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVtb0Fzc2V0cyB7XG5cdFtuYW1lOiBzdHJpbmddOiBOZ0RvY0RlbW9Bc3NldFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5nRG9jRGVtb0Fzc2V0IHtcblx0Y29kZTogc3RyaW5nO1xuXHR0aXRsZTogc3RyaW5nO1xuXHRpY29uPzogc3RyaW5nO1xuXHRvcGVuZWQ/OiBib29sZWFuO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2ludGVyZmFjZXMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0RvY0Jhc2VFbnRpdHl9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIGl0ZW0gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NOYXZpZ2F0aW9uIGV4dGVuZHMgTmdEb2NCYXNlRW50aXR5IHtcblx0ZXhwYW5kYWJsZT86IGJvb2xlYW47XG5cdC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNhdGVnb3J5IHNob3VsZCBiZSBleHBhbmRlZCBieSBkZWZhdWx0ICovXG5cdGV4cGFuZGVkPzogYm9vbGVhbjtcblx0LyoqIENoaWxkcmVuIG9mIHRoZSBuYXZpZ2F0aW9uIGl0ZW0gKi9cblx0Y2hpbGRyZW4/OiBOZ0RvY05hdmlnYXRpb25bXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2ludGVyZmFjZXMvbmF2aWdhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0RvY0Jhc2VFbnRpdHl9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIGl0ZW0gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdEb2NOYXZpZ2F0aW9uIGV4dGVuZHMgTmdEb2NCYXNlRW50aXR5IHtcblx0ZXhwYW5kYWJsZT86IGJvb2xlYW47XG5cdC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNhdGVnb3J5IHNob3VsZCBiZSBleHBhbmRlZCBieSBkZWZhdWx0ICovXG5cdGV4cGFuZGVkPzogYm9vbGVhbjtcblx0LyoqIENoaWxkcmVuIG9mIHRoZSBuYXZpZ2F0aW9uIGl0ZW0gKi9cblx0Y2hpbGRyZW4/OiBOZ0RvY05hdmlnYXRpb25bXTtcblx0LyoqIFRoZSByb3V0ZSBvZiB0aGUgZW50aXR5IChjdXJyZW50IHNvdXJjZUZpbGVGb2xkZXIgbmFtZSBieSBkZWZhdWx0KSAqL1xuXHRyb3V0ZTogc3RyaW5nO1xufVxuIl19