@skyux/docs-tools 7.1.2 → 7.1.3

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.
@@ -41,6 +41,7 @@ export class SkyDocsPropertyDefinitionsComponent {
41
41
  deprecationWarning: property.deprecationWarning,
42
42
  description: property.description,
43
43
  formattedName: this.formatService.getFormattedPropertyName(property),
44
+ isOutput: property.decorator?.name === 'Output',
44
45
  isOptional: property.isOptional,
45
46
  };
46
47
  return vm;
@@ -48,10 +49,10 @@ export class SkyDocsPropertyDefinitionsComponent {
48
49
  }
49
50
  }
50
51
  SkyDocsPropertyDefinitionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SkyDocsPropertyDefinitionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDocsTypeDefinitionsFormatService }, { token: i2.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
51
- SkyDocsPropertyDefinitionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SkyDocsPropertyDefinitionsComponent, selector: "sky-docs-property-definitions", inputs: { config: "config", propertyType: "propertyType", showOptionalStatus: "showOptionalStatus" }, ngImport: i0, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ1, selector: "sky-code" }, { kind: "component", type: i5.SkyDocsSafeHtmlComponent, selector: "sky-docs-safe-html", inputs: ["innerHtml"] }, { kind: "component", type: i6.SkyDocsCallSignatureDefinitionComponent, selector: "sky-docs-call-signature-definition", inputs: ["config"] }, { kind: "pipe", type: i7.SkyDocsMarkdownPipe, name: "skyDocsMarkdown" }, { kind: "pipe", type: i8.SkyDocsTypeAnchorLinksPipe, name: "skyDocsTypeAnchorLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ SkyDocsPropertyDefinitionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SkyDocsPropertyDefinitionsComponent, selector: "sky-docs-property-definitions", inputs: { config: "config", propertyType: "propertyType", showOptionalStatus: "showOptionalStatus" }, ngImport: i0, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ1, selector: "sky-code" }, { kind: "component", type: i5.SkyDocsSafeHtmlComponent, selector: "sky-docs-safe-html", inputs: ["innerHtml"] }, { kind: "component", type: i6.SkyDocsCallSignatureDefinitionComponent, selector: "sky-docs-call-signature-definition", inputs: ["config"] }, { kind: "pipe", type: i7.SkyDocsMarkdownPipe, name: "skyDocsMarkdown" }, { kind: "pipe", type: i8.SkyDocsTypeAnchorLinksPipe, name: "skyDocsTypeAnchorLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SkyDocsPropertyDefinitionsComponent, decorators: [{
53
54
  type: Component,
54
- args: [{ selector: 'sky-docs-property-definitions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"] }]
55
+ args: [{ selector: 'sky-docs-property-definitions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"] }]
55
56
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyDocsTypeDefinitionsFormatService }, { type: i2.SkyMediaQueryService }]; }, propDecorators: { config: [{
56
57
  type: Input
57
58
  }], propertyType: [{
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
59
60
  }], showOptionalStatus: [{
60
61
  type: Input
61
62
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVmaW5pdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3Byb3BlcnR5LWRlZmluaXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy9wcm9wZXJ0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUF3QixNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7OztBQXVCeEUsTUFBTSxPQUFPLG1DQUFtQztJQTJCOUMsWUFDVSxjQUFpQyxFQUNqQyxhQUFrRCxFQUNsRCxpQkFBdUM7UUFGdkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQztRQUNsRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBbEIxQyxpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUcxQix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFFbkMsNkJBQXdCLEdBQUcsd0RBQXdELENBQUM7UUFFcEYsYUFBUSxHQUFZLElBQUksQ0FBQztRQUV6QixlQUFVLEdBQXdCLEVBQUUsQ0FBQztJQVV6QyxDQUFDO0lBOUJKLElBQ1csTUFBTSxDQUFDLEtBQXdEO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBd0JNLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0MsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsR0FBc0I7Z0JBQzVCLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWE7Z0JBQzNDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUN0RCxRQUFRLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FDNUI7Z0JBQ0Qsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtnQkFDL0MsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BFLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTthQUNoQyxDQUFDO1lBRUYsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lJQXZEVSxtQ0FBbUM7cUhBQW5DLG1DQUFtQywyS0MvQmhELG9tSEFxSEE7NEZEdEZhLG1DQUFtQztrQkFOL0MsU0FBUzsrQkFDRSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU07NkxBSXBDLE1BQU07c0JBRGhCLEtBQUs7Z0JBV0MsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMsIFNreU1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb24gfSBmcm9tICcuL2NhbGwtc2lnbmF0dXJlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZURlZmluaXRpb25zRm9ybWF0U2VydmljZSB9IGZyb20gJy4vdHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZSc7XG5cbmludGVyZmFjZSBQcm9wZXJ0eVZpZXdNb2RlbCB7XG4gIGNhbGxTaWduYXR1cmU6IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbjtcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gIGRlcHJlY2F0aW9uV2FybmluZzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBmb3JtYXR0ZWROYW1lOiBzdHJpbmc7XG4gIGlzT3B0aW9uYWw6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWRlZmluaXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvcGVydHktZGVmaW5pdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NQcm9wZXJ0eURlZmluaXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjb25maWcodmFsdWU6IHsgcHJvcGVydGllcz86IFNreURvY3NDbGFzc1Byb3BlcnR5RGVmaW5pdGlvbltdIH0pIHtcbiAgICB0aGlzLl9jb25maWcgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IHsgcHJvcGVydGllcz86IFNreURvY3NDbGFzc1Byb3BlcnR5RGVmaW5pdGlvbltdIH0ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcgfHwge307XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJvcGVydHlUeXBlID0gJ1Byb3BlcnR5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd09wdGlvbmFsU3RhdHVzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgZGVwcmVjYXRpb25XYXJuaW5nUHJlZml4ID0gYDxzcGFuIGNsYXNzPVwic2t5LXRleHQtd2FybmluZ1wiPjwvc3Bhbj4qKkRlcHJlY2F0ZWQuKiogYDtcblxuICBwdWJsaWMgaXNNb2JpbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBwcm9wZXJ0aWVzOiBQcm9wZXJ0eVZpZXdNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiB7XG4gICAgcHJvcGVydGllcz86IFNreURvY3NDbGFzc1Byb3BlcnR5RGVmaW5pdGlvbltdO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZTogU2t5RG9jc1R5cGVEZWZpbml0aW9uc0Zvcm1hdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZSgoYnJlYWtwb2ludHM6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBicmVha3BvaW50cyA8PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BlcnRpZXMgPSB0aGlzLmNvbmZpZz8ucHJvcGVydGllcz8ubWFwKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3Qgdm06IFByb3BlcnR5Vmlld01vZGVsID0ge1xuICAgICAgICBjYWxsU2lnbmF0dXJlOiBwcm9wZXJ0eS50eXBlPy5jYWxsU2lnbmF0dXJlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZm9ybWF0U2VydmljZS5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhcbiAgICAgICAgICBwcm9wZXJ0eS5kZWZhdWx0VmFsdWUgfHwgJydcbiAgICAgICAgKSxcbiAgICAgICAgZGVwcmVjYXRpb25XYXJuaW5nOiBwcm9wZXJ0eS5kZXByZWNhdGlvbldhcm5pbmcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wZXJ0eS5kZXNjcmlwdGlvbixcbiAgICAgICAgZm9ybWF0dGVkTmFtZTogdGhpcy5mb3JtYXRTZXJ2aWNlLmdldEZvcm1hdHRlZFByb3BlcnR5TmFtZShwcm9wZXJ0eSksXG4gICAgICAgIGlzT3B0aW9uYWw6IHByb3BlcnR5LmlzT3B0aW9uYWwsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdm07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJwcm9wZXJ0aWVzXCIgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9uc1wiPlxuICA8dGFibGUgKm5nSWY9XCIhaXNNb2JpbGU7IGVsc2UgbW9iaWxlVGVtcGxhdGVcIiBjbGFzcz1cInNreS1kb2NzLXRhYmxlXCI+XG4gICAgPHRyIGNsYXNzPVwic2t5LWRvY3MtdGFibGUtcm93XCI+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1jb2x1bW4taGVhZGVyIHNreS1kb2NzLXRhYmxlLWNvbHVtbi1oZWFkZXItbmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByb3BlcnR5VHlwZSB9fVxuICAgICAgPC90aD5cbiAgICAgIDx0aFxuICAgICAgICBjbGFzcz1cInNreS1kb2NzLXRhYmxlLWNvbHVtbi1oZWFkZXIgc2t5LWRvY3MtdGFibGUtY29sdW1uLWhlYWRlci1kZXNjcmlwdGlvblwiXG4gICAgICA+XG4gICAgICAgIERlc2NyaXB0aW9uXG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzXCIgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1yb3dcIj5cbiAgICAgIDx0ZFxuICAgICAgICBjbGFzcz1cInNreS1kb2NzLXRhYmxlLWNlbGwgc2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbnMtdGFibGUtY2VsbC1uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibmFtZVRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGRcbiAgICAgICAgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1jZWxsIHNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb25zLXRhYmxlLWNlbGwtZGVzY3JpcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXNjcmlwdGlvblRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90YWJsZT5cblxuICA8bmctdGVtcGxhdGUgI21vYmlsZVRlbXBsYXRlPlxuICAgIDxkbCBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb24tbGlzdFwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcHJvcGVydGllc1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbi1saXN0LWl0ZW1cIlxuICAgICAgPlxuICAgICAgICA8ZHQgY2xhc3M9XCJza3ktZmllbGQtbGFiZWxcIj57eyBwcm9wZXJ0eVR5cGUgfX08L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZC1uYW1lXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJuYW1lVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBwcm9wZXJ0eSB9XCJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGR0IGNsYXNzPVwic2t5LWZpZWxkLWxhYmVsXCI+RGVzY3JpcHRpb248L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZC1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVzY3JpcHRpb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgbGV0LXByb3BlcnR5ICNuYW1lVGVtcGxhdGU+XG4gIDxza3ktY29kZVxuICAgID48c3BhblxuICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgcHJvcGVydHkuZm9ybWF0dGVkTmFtZSB8IHNreURvY3NUeXBlQW5jaG9yTGlua3M6ICduby1jb2RlLXRhZ3MnXG4gICAgICBcIlxuICAgID48L3NwYW5cbiAgPjwvc2t5LWNvZGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgbGV0LXByb3BlcnR5ICNkZXNjcmlwdGlvblRlbXBsYXRlPlxuICA8ZGl2XG4gICAgKm5nSWY9XCIhcHJvcGVydHkuaXNPcHRpb25hbCAmJiBzaG93T3B0aW9uYWxTdGF0dXNcIlxuICAgIGNsYXNzPVwic2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbi1sYWJlbCBza3ktdGV4dC1kYW5nZXJcIlxuICA+XG4gICAgUmVxdWlyZWQuXG4gIDwvZGl2PlxuXG4gIDxza3ktZG9jcy1zYWZlLWh0bWxcbiAgICAqbmdJZj1cInByb3BlcnR5LmRlcHJlY2F0aW9uV2FybmluZyAhPT0gdW5kZWZpbmVkXCJcbiAgICBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb25zLWRlcHJlY2F0aW9uLXdhcm5pbmdcIlxuICAgIFtpbm5lckh0bWxdPVwiXG4gICAgICBkZXByZWNhdGlvbldhcm5pbmdQcmVmaXggKyBwcm9wZXJ0eS5kZXByZWNhdGlvbldhcm5pbmdcbiAgICAgICAgfCBza3lEb2NzVHlwZUFuY2hvckxpbmtzXG4gICAgICAgIHwgc2t5RG9jc01hcmtkb3duXG4gICAgXCJcbiAgPjwvc2t5LWRvY3Mtc2FmZS1odG1sPlxuXG4gIDxza3ktZG9jcy1zYWZlLWh0bWxcbiAgICAqbmdJZj1cInByb3BlcnR5LmRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb25zLWRlc2NyaXB0aW9uXCJcbiAgICBbaW5uZXJIdG1sXT1cIlxuICAgICAgcHJvcGVydHkuZGVzY3JpcHRpb24gfCBza3lEb2NzVHlwZUFuY2hvckxpbmtzIHwgc2t5RG9jc01hcmtkb3duXG4gICAgXCJcbiAgPjwvc2t5LWRvY3Mtc2FmZS1odG1sPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cInByb3BlcnR5LmlzT3B0aW9uYWwgJiYgc2hvd09wdGlvbmFsU3RhdHVzXCJcbiAgICBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb24tbGFiZWwgc2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbi1sYWJlbC1vcHRpb25hbFwiXG4gID5cbiAgICBPcHRpb25hbC5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkuZGVmYXVsdFZhbHVlXCJcbiAgICAgID5EZWZhdWx0IGlzXG4gICAgICA8c2t5LWNvZGVcbiAgICAgICAgPjxzcGFuXG4gICAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICAgIHByb3BlcnR5LmRlZmF1bHRWYWx1ZSB8IHNreURvY3NUeXBlQW5jaG9yTGlua3M6ICduby1jb2RlLXRhZ3MnXG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvc3Bhbj48L3NreS1jb2RlXG4gICAgICA+LjwvbmctY29udGFpbmVyXG4gICAgPlxuICA8L2Rpdj5cblxuICA8c2t5LWRvY3MtY2FsbC1zaWduYXR1cmUtZGVmaW5pdGlvblxuICAgICpuZ0lmPVwicHJvcGVydHkuY2FsbFNpZ25hdHVyZVwiXG4gICAgW2NvbmZpZ109XCJwcm9wZXJ0eS5jYWxsU2lnbmF0dXJlXCJcbiAgPjwvc2t5LWRvY3MtY2FsbC1zaWduYXR1cmUtZGVmaW5pdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVmaW5pdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3Byb3BlcnR5LWRlZmluaXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy9wcm9wZXJ0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUF3QixNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7OztBQXdCeEUsTUFBTSxPQUFPLG1DQUFtQztJQTJCOUMsWUFDVSxjQUFpQyxFQUNqQyxhQUFrRCxFQUNsRCxpQkFBdUM7UUFGdkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQztRQUNsRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBbEIxQyxpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUcxQix1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFFbkMsNkJBQXdCLEdBQUcsd0RBQXdELENBQUM7UUFFcEYsYUFBUSxHQUFZLElBQUksQ0FBQztRQUV6QixlQUFVLEdBQXdCLEVBQUUsQ0FBQztJQVV6QyxDQUFDO0lBOUJKLElBQ1csTUFBTSxDQUFDLEtBQXdEO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBd0JNLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0MsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsR0FBc0I7Z0JBQzVCLGFBQWEsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGFBQWE7Z0JBQzNDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUN0RCxRQUFRLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FDNUI7Z0JBQ0Qsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtnQkFDL0MsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BFLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksS0FBSyxRQUFRO2dCQUMvQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7YUFDaEMsQ0FBQztZQUVGLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSUF4RFUsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsMktDaENoRCxncEhBcUhBOzRGRHJGYSxtQ0FBbUM7a0JBTi9DLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNOzZMQUlwQyxNQUFNO3NCQURoQixLQUFLO2dCQVdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzLCBTa3lNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uIH0gZnJvbSAnLi9jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVEZWZpbml0aW9uc0Zvcm1hdFNlcnZpY2UgfSBmcm9tICcuL3R5cGUtZGVmaW5pdGlvbnMtZm9ybWF0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgUHJvcGVydHlWaWV3TW9kZWwge1xuICBjYWxsU2lnbmF0dXJlOiBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb247XG4gIGRlZmF1bHRWYWx1ZTogc3RyaW5nO1xuICBkZXByZWNhdGlvbldhcm5pbmc6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZm9ybWF0dGVkTmFtZTogc3RyaW5nO1xuICBpc091dHB1dDogYm9vbGVhbjtcbiAgaXNPcHRpb25hbDogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvcGVydHktZGVmaW5pdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9wZXJ0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc1Byb3BlcnR5RGVmaW5pdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbmZpZyh2YWx1ZTogeyBwcm9wZXJ0aWVzPzogU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uW10gfSkge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlVmlldygpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb25maWcoKTogeyBwcm9wZXJ0aWVzPzogU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uW10gfSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZyB8fCB7fTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcm9wZXJ0eVR5cGUgPSAnUHJvcGVydHknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93T3B0aW9uYWxTdGF0dXM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBkZXByZWNhdGlvbldhcm5pbmdQcmVmaXggPSBgPHNwYW4gY2xhc3M9XCJza3ktdGV4dC13YXJuaW5nXCI+PC9zcGFuPioqRGVwcmVjYXRlZC4qKiBgO1xuXG4gIHB1YmxpYyBpc01vYmlsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHVibGljIHByb3BlcnRpZXM6IFByb3BlcnR5Vmlld01vZGVsW10gPSBbXTtcblxuICBwcml2YXRlIF9jb25maWc6IHtcbiAgICBwcm9wZXJ0aWVzPzogU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uW107XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlOiBTa3lEb2NzVHlwZURlZmluaXRpb25zRm9ybWF0U2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2Uuc3Vic2NyaWJlKChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgdGhpcy5pc01vYmlsZSA9IGJyZWFrcG9pbnRzIDw9IFNreU1lZGlhQnJlYWtwb2ludHMuc207XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHRoaXMuY29uZmlnPy5wcm9wZXJ0aWVzPy5tYXAoKHByb3BlcnR5KSA9PiB7XG4gICAgICBjb25zdCB2bTogUHJvcGVydHlWaWV3TW9kZWwgPSB7XG4gICAgICAgIGNhbGxTaWduYXR1cmU6IHByb3BlcnR5LnR5cGU/LmNhbGxTaWduYXR1cmUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5mb3JtYXRTZXJ2aWNlLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKFxuICAgICAgICAgIHByb3BlcnR5LmRlZmF1bHRWYWx1ZSB8fCAnJ1xuICAgICAgICApLFxuICAgICAgICBkZXByZWNhdGlvbldhcm5pbmc6IHByb3BlcnR5LmRlcHJlY2F0aW9uV2FybmluZyxcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BlcnR5LmRlc2NyaXB0aW9uLFxuICAgICAgICBmb3JtYXR0ZWROYW1lOiB0aGlzLmZvcm1hdFNlcnZpY2UuZ2V0Rm9ybWF0dGVkUHJvcGVydHlOYW1lKHByb3BlcnR5KSxcbiAgICAgICAgaXNPdXRwdXQ6IHByb3BlcnR5LmRlY29yYXRvcj8ubmFtZSA9PT0gJ091dHB1dCcsXG4gICAgICAgIGlzT3B0aW9uYWw6IHByb3BlcnR5LmlzT3B0aW9uYWwsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdm07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJwcm9wZXJ0aWVzXCIgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9uc1wiPlxuICA8dGFibGUgKm5nSWY9XCIhaXNNb2JpbGU7IGVsc2UgbW9iaWxlVGVtcGxhdGVcIiBjbGFzcz1cInNreS1kb2NzLXRhYmxlXCI+XG4gICAgPHRyIGNsYXNzPVwic2t5LWRvY3MtdGFibGUtcm93XCI+XG4gICAgICA8dGhcbiAgICAgICAgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1jb2x1bW4taGVhZGVyIHNreS1kb2NzLXRhYmxlLWNvbHVtbi1oZWFkZXItbmFtZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHByb3BlcnR5VHlwZSB9fVxuICAgICAgPC90aD5cbiAgICAgIDx0aFxuICAgICAgICBjbGFzcz1cInNreS1kb2NzLXRhYmxlLWNvbHVtbi1oZWFkZXIgc2t5LWRvY3MtdGFibGUtY29sdW1uLWhlYWRlci1kZXNjcmlwdGlvblwiXG4gICAgICA+XG4gICAgICAgIERlc2NyaXB0aW9uXG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzXCIgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1yb3dcIj5cbiAgICAgIDx0ZFxuICAgICAgICBjbGFzcz1cInNreS1kb2NzLXRhYmxlLWNlbGwgc2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbnMtdGFibGUtY2VsbC1uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibmFtZVRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGRcbiAgICAgICAgY2xhc3M9XCJza3ktZG9jcy10YWJsZS1jZWxsIHNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb25zLXRhYmxlLWNlbGwtZGVzY3JpcHRpb25cIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXNjcmlwdGlvblRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90YWJsZT5cblxuICA8bmctdGVtcGxhdGUgI21vYmlsZVRlbXBsYXRlPlxuICAgIDxkbCBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb24tbGlzdFwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcHJvcGVydGllc1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbi1saXN0LWl0ZW1cIlxuICAgICAgPlxuICAgICAgICA8ZHQgY2xhc3M9XCJza3ktZmllbGQtbGFiZWxcIj57eyBwcm9wZXJ0eVR5cGUgfX08L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZC1uYW1lXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJuYW1lVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBwcm9wZXJ0eSB9XCJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGR0IGNsYXNzPVwic2t5LWZpZWxkLWxhYmVsXCI+RGVzY3JpcHRpb248L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZC1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVzY3JpcHRpb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHByb3BlcnR5IH1cIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgbGV0LXByb3BlcnR5ICNuYW1lVGVtcGxhdGU+XG4gIDxza3ktY29kZVxuICAgID48c3BhblxuICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgcHJvcGVydHkuZm9ybWF0dGVkTmFtZSB8IHNreURvY3NUeXBlQW5jaG9yTGlua3M6ICduby1jb2RlLXRhZ3MnXG4gICAgICBcIlxuICAgID48L3NwYW5cbiAgPjwvc2t5LWNvZGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgbGV0LXByb3BlcnR5ICNkZXNjcmlwdGlvblRlbXBsYXRlPlxuICA8ZGl2XG4gICAgKm5nSWY9XCIhcHJvcGVydHkuaXNPdXRwdXQgJiYgIXByb3BlcnR5LmlzT3B0aW9uYWwgJiYgc2hvd09wdGlvbmFsU3RhdHVzXCJcbiAgICBjbGFzcz1cInNreS1kb2NzLXByb3BlcnR5LWRlZmluaXRpb24tbGFiZWwgc2t5LXRleHQtZGFuZ2VyXCJcbiAgPlxuICAgIFJlcXVpcmVkLlxuICA8L2Rpdj5cblxuICA8c2t5LWRvY3Mtc2FmZS1odG1sXG4gICAgKm5nSWY9XCJwcm9wZXJ0eS5kZXByZWNhdGlvbldhcm5pbmcgIT09IHVuZGVmaW5lZFwiXG4gICAgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZXByZWNhdGlvbi13YXJuaW5nXCJcbiAgICBbaW5uZXJIdG1sXT1cIlxuICAgICAgZGVwcmVjYXRpb25XYXJuaW5nUHJlZml4ICsgcHJvcGVydHkuZGVwcmVjYXRpb25XYXJuaW5nXG4gICAgICAgIHwgc2t5RG9jc1R5cGVBbmNob3JMaW5rc1xuICAgICAgICB8IHNreURvY3NNYXJrZG93blxuICAgIFwiXG4gID48L3NreS1kb2NzLXNhZmUtaHRtbD5cblxuICA8c2t5LWRvY3Mtc2FmZS1odG1sXG4gICAgKm5nSWY9XCJwcm9wZXJ0eS5kZXNjcmlwdGlvblwiXG4gICAgY2xhc3M9XCJza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9ucy1kZXNjcmlwdGlvblwiXG4gICAgW2lubmVySHRtbF09XCJcbiAgICAgIHByb3BlcnR5LmRlc2NyaXB0aW9uIHwgc2t5RG9jc1R5cGVBbmNob3JMaW5rcyB8IHNreURvY3NNYXJrZG93blxuICAgIFwiXG4gID48L3NreS1kb2NzLXNhZmUtaHRtbD5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhcHJvcGVydHkuaXNPdXRwdXQgJiYgcHJvcGVydHkuaXNPcHRpb25hbCAmJiBzaG93T3B0aW9uYWxTdGF0dXNcIlxuICAgIGNsYXNzPVwic2t5LWRvY3MtcHJvcGVydHktZGVmaW5pdGlvbi1sYWJlbCBza3ktZG9jcy1wcm9wZXJ0eS1kZWZpbml0aW9uLWxhYmVsLW9wdGlvbmFsXCJcbiAgPlxuICAgIE9wdGlvbmFsLlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS5kZWZhdWx0VmFsdWVcIlxuICAgICAgPkRlZmF1bHQgaXNcbiAgICAgIDxza3ktY29kZVxuICAgICAgICA+PHNwYW5cbiAgICAgICAgICBbaW5uZXJIdG1sXT1cIlxuICAgICAgICAgICAgcHJvcGVydHkuZGVmYXVsdFZhbHVlIHwgc2t5RG9jc1R5cGVBbmNob3JMaW5rczogJ25vLWNvZGUtdGFncydcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9zcGFuPjwvc2t5LWNvZGVcbiAgICAgID4uPC9uZy1jb250YWluZXJcbiAgICA+XG4gIDwvZGl2PlxuXG4gIDxza3ktZG9jcy1jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uXG4gICAgKm5nSWY9XCJwcm9wZXJ0eS5jYWxsU2lnbmF0dXJlXCJcbiAgICBbY29uZmlnXT1cInByb3BlcnR5LmNhbGxTaWduYXR1cmVcIlxuICA+PC9za3ktZG9jcy1jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3R5cGUtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uIH0gZnJvbSAnLi9jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0luZGV4U2lnbmF0dXJlRGVmaW5pdGlvbiB9IGZyb20gJy4vaW5kZXgtc2lnbmF0dXJlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtcHJvcGVydHktZGVmaW5pdGlvbic7XG5cbi8qKlxuICogRGVzY3JpYmVzIFR5cGVTY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RG9jc1R5cGVEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFVzZWQgYnkgbWV0aG9kLCBmdW5jdGlvbiwgYW5kIGFycm93IGZ1bmN0aW9uIHR5cGVzLlxuICAgKi9cbiAgY2FsbFNpZ25hdHVyZT86IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVXNlZCBmb3IgaW5kZXggc2lnbmF0dXJlcywgZS5nLiBgW186IHN0cmluZ106IGFueWBcbiAgICovXG4gIGluZGV4U2lnbmF0dXJlPzogU2t5RG9jc0luZGV4U2lnbmF0dXJlRGVmaW5pdGlvbjtcblxuICBuYW1lPzogc3RyaW5nO1xuXG4gIHR5cGU/OlxuICAgIHwgJ2FycmF5J1xuICAgIHwgJ2ludHJpbnNpYydcbiAgICB8ICdyZWZlcmVuY2UnXG4gICAgfCAncmVmbGVjdGlvbidcbiAgICB8ICdzdHJpbmdMaXRlcmFsJ1xuICAgIHwgJ3R5cGVQYXJhbWV0ZXInXG4gICAgfCAndHlwZU9wZXJhdG9yJ1xuICAgIHwgJ3VuaW9uJ1xuICAgIHwgJ3Vua25vd24nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgYW55IHR5cGUgYXJndW1lbnRzLCBlLmcuIGA8VCwgRj5gLlxuICAgKi9cbiAgdHlwZUFyZ3VtZW50cz86IFNreURvY3NUeXBlRGVmaW5pdGlvbltdO1xuXG4gIC8qKlxuICAgKiBVc2VkIGZvciB0eXBlIGxpdGVyYWxzIG9yIGlubGluZSBpbnRlcmZhY2VzLCBlLmcuIGByb3V0ZTogeyBjb21tYW5kczogYW55W10gfWBcbiAgICovXG4gIHR5cGVMaXRlcmFsPzoge1xuICAgIHByb3BlcnRpZXM/OiBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uW107XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlcyB0aGF0IGNvbXBvc2UgYSB1bmlvbiB0eXBlLlxuICAgKi9cbiAgdW5pb25UeXBlcz86IFNreURvY3NUeXBlRGVmaW5pdGlvbltdO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy90eXBlLWRlZmluaXRpb25zL3R5cGUtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uIH0gZnJvbSAnLi9jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0luZGV4U2lnbmF0dXJlRGVmaW5pdGlvbiB9IGZyb20gJy4vaW5kZXgtc2lnbmF0dXJlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtcHJvcGVydHktZGVmaW5pdGlvbic7XG5cbi8qKlxuICogRGVzY3JpYmVzIFR5cGVTY3JpcHQgdHlwZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5RG9jc1R5cGVEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFVzZWQgYnkgbWV0aG9kLCBmdW5jdGlvbiwgYW5kIGFycm93IGZ1bmN0aW9uIHR5cGVzLlxuICAgKi9cbiAgY2FsbFNpZ25hdHVyZT86IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVXNlZCBmb3IgaW5kZXggc2lnbmF0dXJlcywgZS5nLiBgW186IHN0cmluZ106IGFueWBcbiAgICovXG4gIGluZGV4U2lnbmF0dXJlPzogU2t5RG9jc0luZGV4U2lnbmF0dXJlRGVmaW5pdGlvbjtcblxuICBuYW1lPzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcblxuICB0eXBlPzpcbiAgICB8ICdhcnJheSdcbiAgICB8ICdpbnRyaW5zaWMnXG4gICAgfCAnbGl0ZXJhbCdcbiAgICB8ICdyZWZlcmVuY2UnXG4gICAgfCAncmVmbGVjdGlvbidcbiAgICB8ICd0eXBlUGFyYW1ldGVyJ1xuICAgIHwgJ3R5cGVPcGVyYXRvcidcbiAgICB8ICd1bmlvbidcbiAgICB8ICd1bmtub3duJztcblxuICAvKipcbiAgICogRGVzY3JpYmVzIGFueSB0eXBlIGFyZ3VtZW50cywgZS5nLiBgPFQsIEY+YC5cbiAgICovXG4gIHR5cGVBcmd1bWVudHM/OiBTa3lEb2NzVHlwZURlZmluaXRpb25bXTtcblxuICAvKipcbiAgICogVXNlZCBmb3IgdHlwZSBsaXRlcmFscyBvciBpbmxpbmUgaW50ZXJmYWNlcywgZS5nLiBgcm91dGU6IHsgY29tbWFuZHM6IGFueVtdIH1gXG4gICAqL1xuICB0eXBlTGl0ZXJhbD86IHtcbiAgICBwcm9wZXJ0aWVzPzogU2t5RG9jc0ludGVyZmFjZVByb3BlcnR5RGVmaW5pdGlvbltdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZXMgdGhhdCBjb21wb3NlIGEgdW5pb24gdHlwZS5cbiAgICovXG4gIHVuaW9uVHlwZXM/OiBTa3lEb2NzVHlwZURlZmluaXRpb25bXTtcbn1cbiJdfQ==
@@ -100,7 +100,9 @@ export class SkyDocsTypeDefinitionsFormatService {
100
100
  else {
101
101
  signature += name;
102
102
  }
103
- if (property.isOptional && !indexSignature) {
103
+ if (property.decorator?.name !== 'Output' &&
104
+ property.isOptional &&
105
+ !indexSignature) {
104
106
  signature += '?';
105
107
  }
106
108
  if (indexSignature) {
@@ -147,8 +149,8 @@ export class SkyDocsTypeDefinitionsFormatService {
147
149
  if (type.unionTypes) {
148
150
  return this.getFormattedUnion(type, config);
149
151
  }
150
- if (type.name) {
151
- formatted = type.name;
152
+ if (type.name !== null && type.name !== undefined) {
153
+ formatted = `${type.name}`;
152
154
  }
153
155
  if (type.typeArguments) {
154
156
  formatted += this.getFormattedTypeArguments(type, config);
@@ -156,6 +158,9 @@ export class SkyDocsTypeDefinitionsFormatService {
156
158
  if (type.type === 'array') {
157
159
  formatted += '[]';
158
160
  }
161
+ if (type.type === 'literal' && typeof type.name === 'string') {
162
+ formatted = `'${formatted}'`;
163
+ }
159
164
  if (type.typeLiteral) {
160
165
  const formattedTypeLiteral = this.getFormattedInterfaceProperties(type.typeLiteral, config)
161
166
  .replace(/\n/g, ' ')
@@ -246,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
246
251
  providedIn: 'root',
247
252
  }]
248
253
  }] });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLWZvcm1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7O09BRUc7SUFDSSxzQkFBc0IsQ0FDM0IsVUFBc0M7UUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxVQUFVLENBQUMsY0FBYyxDQUMxQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYix1QkFBdUIsRUFBRSxLQUFLO1NBQy9CLENBQUM7UUFFRixJQUFJLFNBQVMsR0FBVyxhQUFhLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUM7UUFDMUUsU0FBUyxJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxVQUF3QztRQUNqRSxNQUFNLE1BQU0sR0FBRztZQUNiLHVCQUF1QixFQUFFLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsVUFBVSxDQUFDLElBQUksRUFDZixNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxF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YmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURvY3NDYWxsU2lnbmF0dXJlRGVmaW5pdGlvbiB9IGZyb20gJy4vY2FsbC1zaWduYXR1cmUtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NDbGFzc1Byb3BlcnR5RGVmaW5pdGlvbiB9IGZyb20gJy4vcHJvcGVydHktZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NJbnRlcmZhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NDbGFzc01ldGhvZERlZmluaXRpb24gfSBmcm9tICcuL21ldGhvZC1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1BhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVBbGlhc0RlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtYWxpYXMtZGVmaW5pdGlvbic7XG5cbmltcG9ydCB7IFNreURvY3NUeXBlRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlLXBhcmFtZXRlci1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0ludGVyZmFjZVByb3BlcnR5RGVmaW5pdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlLXByb3BlcnR5LWRlZmluaXRpb24nO1xuXG5pbnRlcmZhY2UgR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyB7XG4gIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZvcm1hdHMgdHlwZSBkZWZpbml0aW9ucyBpbnRvIEhUTUwtY29tcGF0aWJsZSBzdHJpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc1R5cGVEZWZpbml0aW9uc0Zvcm1hdFNlcnZpY2Uge1xuICAvKipcbiAgICogUmV0dXJucyBhbiBIVE1MLWZvcm1hdHRlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHJvdmlkZWQgaW50ZXJmYWNlIGNvbmZpZy5cbiAgICovXG4gIHB1YmxpYyBnZXRJbnRlcmZhY2VTb3VyY2VDb2RlKFxuICAgIGRlZmluaXRpb246IFNreURvY3NJbnRlcmZhY2VEZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVQYXJhbWV0ZXJzKFxuICAgICAgZGVmaW5pdGlvbi50eXBlUGFyYW1ldGVyc1xuICAgICk7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBsZXQgc2lnbmF0dXJlOiBzdHJpbmcgPSBgaW50ZXJmYWNlICR7ZGVmaW5pdGlvbi5uYW1lfSR7dHlwZVBhcmFtZXRlcnN9IHtgO1xuICAgIHNpZ25hdHVyZSArPSB0aGlzLmdldEZvcm1hdHRlZEludGVyZmFjZVByb3BlcnRpZXMoZGVmaW5pdGlvbiwgY29uZmlnKTtcbiAgICBzaWduYXR1cmUgKz0gJ1xcbn0nO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCBtZXRob2QgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldE1ldGhvZFNvdXJjZUNvZGUoZGVmaW5pdGlvbjogU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvbik6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlQXJndW1lbnRzID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlQXJndW1lbnRzKFxuICAgICAgZGVmaW5pdGlvbi50eXBlLFxuICAgICAgY29uZmlnXG4gICAgKTtcbiAgICBjb25zdCBjYWxsU2lnbmF0dXJlID0gZGVmaW5pdGlvbi50eXBlLmNhbGxTaWduYXR1cmU7XG4gICAgY29uc3QgcmV0dXJuVHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShjYWxsU2lnbmF0dXJlLnJldHVyblR5cGUsIGNvbmZpZyk7XG5cbiAgICBsZXQgcGFyYW1zOiBzdHJpbmcgPSAnJztcbiAgICBpZiAoY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzKSB7XG4gICAgICBwYXJhbXMgKz0gY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzXG4gICAgICAgIC5tYXAoKHApID0+IHRoaXMuZ2V0Rm9ybWF0dGVkUGFyYW1ldGVyTmFtZShwLCBjb25maWcpKVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYHB1YmxpYyAke2RlZmluaXRpb24uaXNTdGF0aWMgPyAnc3RhdGljICcgOiAnJ30ke1xuICAgICAgZGVmaW5pdGlvbi5uYW1lXG4gICAgfSR7dHlwZUFyZ3VtZW50c30oJHtwYXJhbXN9KTogJHtyZXR1cm5UeXBlfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBIVE1MLWZvcm1hdHRlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgcHJvdmlkZWQgdHlwZSBhbGlhcyBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgZ2V0VHlwZUFsaWFzU291cmNlQ29kZShcbiAgICBkZWZpbml0aW9uOiBTa3lEb2NzVHlwZUFsaWFzRGVmaW5pdGlvblxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgY29uc3QgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVQYXJhbWV0ZXJzKFxuICAgICAgZGVmaW5pdGlvbi50eXBlUGFyYW1ldGVyc1xuICAgICk7XG5cbiAgICBsZXQgc2lnbmF0dXJlID0gYHR5cGUgJHtkZWZpbml0aW9uLm5hbWV9JHt0eXBlUGFyYW1ldGVyc30gPSBgO1xuXG4gICAgaWYgKGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlKSB7XG4gICAgICBzaWduYXR1cmUgKz0gdGhpcy5nZXRGb3JtYXR0ZWRDYWxsU2lnbmF0dXJlKFxuICAgICAgICBkZWZpbml0aW9uLnR5cGUuY2FsbFNpZ25hdHVyZSxcbiAgICAgICAge1xuICAgICAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiBmYWxzZSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGRlZmluaXRpb24udHlwZS5pbmRleFNpZ25hdHVyZSkge1xuICAgICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBkZWZpbml0aW9uLnR5cGUuaW5kZXhTaWduYXR1cmU7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGluZGV4U2lnbmF0dXJlLnR5cGUsIHtcbiAgICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICBzaWduYXR1cmUgKz0gYHtcXG4gIFske2luZGV4U2lnbmF0dXJlLmtleS5uYW1lfTogc3RyaW5nXTogJHt0eXBlfTtcXG59YDtcbiAgICB9IGVsc2Uge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGRlZmluaXRpb24udHlwZS50eXBlID09PSAndW5pb24nKSB7XG4gICAgICAgIHNpZ25hdHVyZSArPSB0aGlzLmdldEZvcm1hdHRlZFVuaW9uKGRlZmluaXRpb24udHlwZSwgY29uZmlnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmb3JtYXR0ZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIHBhcmFtZXRlcidzIG5hbWUgYW5kIHZhbHVlLiBGb3IgZXhhbXBsZTogYCdmb286IHN0cmluZydgLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZFBhcmFtZXRlck5hbWUoXG4gICAgcGFyYW1ldGVyOiBTa3lEb2NzUGFyYW1ldGVyRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogdHJ1ZSxcbiAgICB9XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9uYWxNYXJrZXIgPSBwYXJhbWV0ZXIuaXNPcHRpb25hbCA/ICc/JyA6ICcnO1xuICAgIGNvbnN0IHBhcmFtZXRlclR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUocGFyYW1ldGVyLnR5cGUsIGNvbmZpZyk7XG5cbiAgICBsZXQgc2lnbmF0dXJlID0gYCR7cGFyYW1ldGVyLm5hbWV9JHtvcHRpb25hbE1hcmtlcn06ICR7cGFyYW1ldGVyVHlwZX1gO1xuICAgIGlmIChjb25maWcuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMpIHtcbiAgICAgIHNpZ25hdHVyZSA9IHRoaXMuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMoc2lnbmF0dXJlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmb3JtYXR0ZWQgc3RyaW5nIHJlcHJlc2VudGluZyBhIHByb3BlcnR5IChvciBtZXRob2QncykgbmFtZSBhbmQgdmFsdWUuIEZvciBleGFtcGxlOiBgJ3B1YmxpYyBmb286IHN0cmluZydgLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZFByb3BlcnR5TmFtZShcbiAgICBwcm9wZXJ0eTogU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IHNpZ25hdHVyZSA9ICcnO1xuXG4gICAgaWYgKHByb3BlcnR5LmRlY29yYXRvcj8ubmFtZSkge1xuICAgICAgc2lnbmF0dXJlICs9IGBAJHtwcm9wZXJ0eS5kZWNvcmF0b3IubmFtZX0oKTxicj5gO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4U2lnbmF0dXJlID0gcHJvcGVydHkudHlwZT8uaW5kZXhTaWduYXR1cmU7XG4gICAgbGV0IG5hbWU6IHN0cmluZztcbiAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIG5hbWUgPSBgWyR7aW5kZXhTaWduYXR1cmUua2V5Lm5hbWV9OiAke3RoaXMuZ2V0Rm9ybWF0dGVkVHlwZShcbiAgICAgICAgaW5kZXhTaWduYXR1cmUua2V5LnR5cGVcbiAgICAgICl9XWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBwcm9wZXJ0eS5uYW1lO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eS5kZXByZWNhdGlvbldhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2lnbmF0dXJlICs9IGA8c3RyaWtlPiR7bmFtZX08L3N0cmlrZT5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaWduYXR1cmUgKz0gbmFtZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHkuaXNPcHRpb25hbCAmJiAhaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSAnPyc7XG4gICAgfVxuXG4gICAgaWYgKGluZGV4U2lnbmF0dXJlKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYDogJHt0aGlzLmdldEZvcm1hdHRlZFR5cGUoaW5kZXhTaWduYXR1cmUudHlwZSl9YDtcbiAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgOiAke3RoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwcm9wZXJ0eS50eXBlKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBIVE1MLWZvcm1hdHRlZCBtZXRob2QgbmFtZSB0byBiZSB1c2VkIG9uIHRoZSBwcm9wZXJ0aWVzIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZE1ldGhvZE5hbWUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvblxuICApOiBzdHJpbmcge1xuICAgIGxldCBmb3JtYXR0ZWQgPSAnJztcblxuICAgIGlmIChkZWZpbml0aW9uLmlzU3RhdGljKSB7XG4gICAgICBmb3JtYXR0ZWQgKz0gYCR7ZGVmaW5pdGlvbi5wYXJlbnROYW1lfS5gO1xuICAgIH1cblxuICAgIGlmIChkZWZpbml0aW9uLmRlcHJlY2F0aW9uV2FybmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3JtYXR0ZWQgPSBgPHN0cmlrZT4ke2Zvcm1hdHRlZH0ke2RlZmluaXRpb24ubmFtZX08L3N0cmlrZT5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXR0ZWQgKz0gZGVmaW5pdGlvbi5uYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtmb3JtYXR0ZWR9KClgO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBmb3JtYXR0ZWQgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcHJvdmlkZWQgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBnZXRGb3JtYXR0ZWRUeXBlKFxuICAgIHR5cGU6IFNreURvY3NUeXBlRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogdHJ1ZSxcbiAgICB9XG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGZvcm1hdHRlZCA9ICdhbnknO1xuXG4gICAgaWYgKCF0eXBlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgIH1cblxuICAgIGlmICh0eXBlLmNhbGxTaWduYXR1cmUpIHtcbiAgICAgIGxldCBmb3JtYXR0ZWRTaWduYXR1cmUgPSB0aGlzLmdldEZvcm1hdHRlZENhbGxTaWduYXR1cmUoXG4gICAgICAgIHR5cGUuY2FsbFNpZ25hdHVyZSxcbiAgICAgICAgY29uZmlnXG4gICAgICApO1xuXG4gICAgICBpZiAodHlwZS50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIGZvcm1hdHRlZFNpZ25hdHVyZSA9IGAoJHtmb3JtYXR0ZWRTaWduYXR1cmV9KVtdYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRTaWduYXR1cmU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudW5pb25UeXBlcykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkVW5pb24odHlwZSwgY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS5uYW1lKSB7XG4gICAgICBmb3JtYXR0ZWQgPSB0eXBlLm5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZUFyZ3VtZW50cykge1xuICAgICAgZm9ybWF0dGVkICs9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyh0eXBlLCBjb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgIGZvcm1hdHRlZCArPSAnW10nO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGVMaXRlcmFsKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRUeXBlTGl0ZXJhbCA9IHRoaXMuZ2V0Rm9ybWF0dGVkSW50ZXJmYWNlUHJvcGVydGllcyhcbiAgICAgICAgdHlwZS50eXBlTGl0ZXJhbCxcbiAgICAgICAgY29uZmlnXG4gICAgICApXG4gICAgICAgIC5yZXBsYWNlKC9cXG4vZywgJyAnKVxuICAgICAgICAucmVwbGFjZSgvXFxzXFxzKy9nLCAnICcpO1xuICAgICAgZm9ybWF0dGVkID0gYHske2Zvcm1hdHRlZFR5cGVMaXRlcmFsfSB9YDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKSB7XG4gICAgICByZXR1cm4gdGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhmb3JtYXR0ZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gIH1cblxuICBwdWJsaWMgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnModmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZENhbGxTaWduYXR1cmUoXG4gICAgY2FsbFNpZ25hdHVyZTogU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlLFxuICAgIH1cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXR1cm5UeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGNhbGxTaWduYXR1cmUucmV0dXJuVHlwZSwgY29uZmlnKTtcblxuICAgIGlmICghY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzKSB7XG4gICAgICByZXR1cm4gYCgpID0+ICR7cmV0dXJuVHlwZX1gO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBhcmFtcyA9IGNhbGxTaWduYXR1cmUucGFyYW1ldGVyc1xuICAgICAgLm1hcCgocCkgPT4gdGhpcy5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKHAsIGNvbmZpZykpXG4gICAgICAuam9pbignLCAnKTtcblxuICAgIHJldHVybiBgKCR7Zm9ybWF0dGVkUGFyYW1zfSkgPT4gJHtyZXR1cm5UeXBlfWA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZFVuaW9uKFxuICAgIHR5cGVDb25maWc6IFNreURvY3NUeXBlRGVmaW5pdGlvbixcbiAgICBjb25maWc6IEdldEZvcm1hdHRlZFR5cGVDb25maWdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZUNvbmZpZy51bmlvblR5cGVzXG4gICAgICAubWFwKCh0KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFR5cGUodCwgY29uZmlnKTtcbiAgICAgIH0pXG4gICAgICAuam9pbignIHwgJyk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgYW55IHR5cGUgYXJndW1lbnRzIGUuZy4gYDxULCBGPmAuXG4gICAqL1xuICBwcml2YXRlIGdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHMoXG4gICAgdHlwZUNvbmZpZzogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICghdHlwZUNvbmZpZy50eXBlQXJndW1lbnRzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdHlwZUFyZ3VtZW50cyA9IHR5cGVDb25maWcudHlwZUFyZ3VtZW50cy5tYXAoKHR5cGVBcmd1bWVudCkgPT4ge1xuICAgICAgaWYgKHR5cGVBcmd1bWVudC50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgIHJldHVybiBgJHt0eXBlQXJndW1lbnQubmFtZX1bXWA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlQXJndW1lbnQudW5pb25UeXBlcykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbih0eXBlQXJndW1lbnQsIGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlQXJndW1lbnQubmFtZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBgPCR7dHlwZUFyZ3VtZW50cy5qb2luKCcsICcpfT5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRUeXBlUGFyYW1ldGVycyhcbiAgICB0eXBlUGFyYW1ldGVyczogU2t5RG9jc1R5cGVQYXJhbWV0ZXJEZWZpbml0aW9uW11cbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXR5cGVQYXJhbWV0ZXJzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gdHlwZVBhcmFtZXRlcnMubWFwKCh0eXBlUGFyYW1ldGVyKSA9PiB7XG4gICAgICBsZXQgcmVzdWx0ID0gdHlwZVBhcmFtZXRlci5uYW1lO1xuICAgICAgaWYgKHR5cGVQYXJhbWV0ZXIudHlwZSAmJiB0eXBlUGFyYW1ldGVyLnR5cGUudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgcmVzdWx0ICs9IGAgZXh0ZW5kcyAke3R5cGVQYXJhbWV0ZXIudHlwZS5uYW1lfWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYDwke2Zvcm1hdHRlZC5qb2luKCcsICcpfT5gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRJbnRlcmZhY2VQcm9wZXJ0aWVzKFxuICAgIGRlZmluaXRpb246IHtcbiAgICAgIHByb3BlcnRpZXM/OiBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uW107XG4gICAgfSxcbiAgICBjb25maWc/OiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IHNpZ25hdHVyZTogc3RyaW5nID0gJyc7XG5cbiAgICBkZWZpbml0aW9uLnByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4U2lnbmF0dXJlID0gcHJvcGVydHkudHlwZS5pbmRleFNpZ25hdHVyZTtcbiAgICAgIGNvbnN0IG9wdGlvbmFsSW5kaWNhdG9yID1cbiAgICAgICAgcHJvcGVydHkuaXNPcHRpb25hbCAmJiAhaW5kZXhTaWduYXR1cmUgPyAnPycgOiAnJztcbiAgICAgIGNvbnN0IHByb3BlcnR5VHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwcm9wZXJ0eS50eXBlLCBjb25maWcpO1xuXG4gICAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgICAgaWYgKGluZGV4U2lnbmF0dXJlKSB7XG4gICAgICAgIG5hbWUgPSBgWyR7aW5kZXhTaWduYXR1cmUua2V5Lm5hbWV9OiBzdHJpbmddYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hbWUgPSBwcm9wZXJ0eS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBzaWduYXR1cmUgKz0gYFxcbiAgJHtuYW1lfSR7b3B0aW9uYWxJbmRpY2F0b3J9OiAke3Byb3BlcnR5VHlwZX07YDtcbiAgICB9KTtcblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cbn1cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWZpbml0aW9ucy1mb3JtYXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlLWRlZmluaXRpb25zLWZvcm1hdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBd0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUM7O09BRUc7SUFDSSxzQkFBc0IsQ0FDM0IsVUFBc0M7UUFFdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxVQUFVLENBQUMsY0FBYyxDQUMxQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUc7WUFDYix1QkFBdUIsRUFBRSxLQUFLO1NBQy9CLENBQUM7UUFFRixJQUFJLFNBQVMsR0FBVyxhQUFhLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxJQUFJLENBQUM7UUFDMUUsU0FBUyxJQUFJLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUVuQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxVQUF3QztRQUNqRSxNQUFNLE1BQU0sR0FBRztZQUNiLHVCQUF1QixFQUFFLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsVUFBVSxDQUFDLElBQUksRUFDZixNQUFNLENBQ1AsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxF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QixLQUFLLFlBQVksR0FBRyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7aUlBclZVLG1DQUFtQztxSUFBbkMsbUNBQW1DLGNBRmxDLE1BQU07NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NhbGxTaWduYXR1cmVEZWZpbml0aW9uIH0gZnJvbSAnLi9jYWxsLXNpZ25hdHVyZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0NsYXNzUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0ludGVyZmFjZURlZmluaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZS1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc0NsYXNzTWV0aG9kRGVmaW5pdGlvbiB9IGZyb20gJy4vbWV0aG9kLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZUFsaWFzRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZS1hbGlhcy1kZWZpbml0aW9uJztcblxuaW1wb3J0IHsgU2t5RG9jc1R5cGVEZWZpbml0aW9uIH0gZnJvbSAnLi90eXBlLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzVHlwZVBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3R5cGUtcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5pbXBvcnQgeyBTa3lEb2NzSW50ZXJmYWNlUHJvcGVydHlEZWZpbml0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2UtcHJvcGVydHktZGVmaW5pdGlvbic7XG5cbmludGVyZmFjZSBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnIHtcbiAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRm9ybWF0cyB0eXBlIGRlZmluaXRpb25zIGludG8gSFRNTC1jb21wYXRpYmxlIHN0cmluZ3MuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzVHlwZURlZmluaXRpb25zRm9ybWF0U2VydmljZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCBpbnRlcmZhY2UgY29uZmlnLlxuICAgKi9cbiAgcHVibGljIGdldEludGVyZmFjZVNvdXJjZUNvZGUoXG4gICAgZGVmaW5pdGlvbjogU2t5RG9jc0ludGVyZmFjZURlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgfTtcblxuICAgIGxldCBzaWduYXR1cmU6IHN0cmluZyA9IGBpbnRlcmZhY2UgJHtkZWZpbml0aW9uLm5hbWV9JHt0eXBlUGFyYW1ldGVyc30ge2A7XG4gICAgc2lnbmF0dXJlICs9IHRoaXMuZ2V0Rm9ybWF0dGVkSW50ZXJmYWNlUHJvcGVydGllcyhkZWZpbml0aW9uLCBjb25maWcpO1xuICAgIHNpZ25hdHVyZSArPSAnXFxufSc7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gSFRNTC1mb3JtYXR0ZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHByb3ZpZGVkIG1ldGhvZCBjb25maWcuXG4gICAqL1xuICBwdWJsaWMgZ2V0TWV0aG9kU291cmNlQ29kZShkZWZpbml0aW9uOiBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbnN0IHR5cGVBcmd1bWVudHMgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHMoXG4gICAgICBkZWZpbml0aW9uLnR5cGUsXG4gICAgICBjb25maWdcbiAgICApO1xuICAgIGNvbnN0IGNhbGxTaWduYXR1cmUgPSBkZWZpbml0aW9uLnR5cGUuY2FsbFNpZ25hdHVyZTtcbiAgICBjb25zdCByZXR1cm5UeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKGNhbGxTaWduYXR1cmUucmV0dXJuVHlwZSwgY29uZmlnKTtcblxuICAgIGxldCBwYXJhbXM6IHN0cmluZyA9ICcnO1xuICAgIGlmIChjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnMpIHtcbiAgICAgIHBhcmFtcyArPSBjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnNcbiAgICAgICAgLm1hcCgocCkgPT4gdGhpcy5nZXRGb3JtYXR0ZWRQYXJhbWV0ZXJOYW1lKHAsIGNvbmZpZykpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cblxuICAgIHJldHVybiBgcHVibGljICR7ZGVmaW5pdGlvbi5pc1N0YXRpYyA/ICdzdGF0aWMgJyA6ICcnfSR7XG4gICAgICBkZWZpbml0aW9uLm5hbWVcbiAgICB9JHt0eXBlQXJndW1lbnRzfSgke3BhcmFtc30pOiAke3JldHVyblR5cGV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCB0eXBlIGFsaWFzIGNvbmZpZy5cbiAgICovXG4gIHB1YmxpYyBnZXRUeXBlQWxpYXNTb3VyY2VDb2RlKFxuICAgIGRlZmluaXRpb246IFNreURvY3NUeXBlQWxpYXNEZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZVBhcmFtZXRlcnMoXG4gICAgICBkZWZpbml0aW9uLnR5cGVQYXJhbWV0ZXJzXG4gICAgKTtcblxuICAgIGxldCBzaWduYXR1cmUgPSBgdHlwZSAke2RlZmluaXRpb24ubmFtZX0ke3R5cGVQYXJhbWV0ZXJzfSA9IGA7XG5cbiAgICBpZiAoZGVmaW5pdGlvbi50eXBlLmNhbGxTaWduYXR1cmUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSB0aGlzLmdldEZvcm1hdHRlZENhbGxTaWduYXR1cmUoXG4gICAgICAgIGRlZmluaXRpb24udHlwZS5jYWxsU2lnbmF0dXJlLFxuICAgICAgICB7XG4gICAgICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoZGVmaW5pdGlvbi50eXBlLmluZGV4U2lnbmF0dXJlKSB7XG4gICAgICBjb25zdCBpbmRleFNpZ25hdHVyZSA9IGRlZmluaXRpb24udHlwZS5pbmRleFNpZ25hdHVyZTtcbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoaW5kZXhTaWduYXR1cmUudHlwZSwge1xuICAgICAgICBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVyczogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIHNpZ25hdHVyZSArPSBge1xcbiAgWyR7aW5kZXhTaWduYXR1cmUua2V5Lm5hbWV9OiBzdHJpbmddOiAke3R5cGV9O1xcbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZGVmaW5pdGlvbi50eXBlLnR5cGUgPT09ICd1bmlvbicpIHtcbiAgICAgICAgc2lnbmF0dXJlICs9IHRoaXMuZ2V0Rm9ybWF0dGVkVW5pb24oZGVmaW5pdGlvbi50eXBlLCBjb25maWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgcGFyYW1ldGVyJ3MgbmFtZSBhbmQgdmFsdWUuIEZvciBleGFtcGxlOiBgJ2Zvbzogc3RyaW5nJ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUGFyYW1ldGVyTmFtZShcbiAgICBwYXJhbWV0ZXI6IFNreURvY3NQYXJhbWV0ZXJEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlLFxuICAgIH1cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25hbE1hcmtlciA9IHBhcmFtZXRlci5pc09wdGlvbmFsID8gJz8nIDogJyc7XG4gICAgY29uc3QgcGFyYW1ldGVyVHlwZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZShwYXJhbWV0ZXIudHlwZSwgY29uZmlnKTtcblxuICAgIGxldCBzaWduYXR1cmUgPSBgJHtwYXJhbWV0ZXIubmFtZX0ke29wdGlvbmFsTWFya2VyfTogJHtwYXJhbWV0ZXJUeXBlfWA7XG4gICAgaWYgKGNvbmZpZy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAgc2lnbmF0dXJlID0gdGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhzaWduYXR1cmUpO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduYXR1cmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIGEgcHJvcGVydHkgKG9yIG1ldGhvZCdzKSBuYW1lIGFuZCB2YWx1ZS4gRm9yIGV4YW1wbGU6IGAncHVibGljIGZvbzogc3RyaW5nJ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkUHJvcGVydHlOYW1lKFxuICAgIHByb3BlcnR5OiBTa3lEb2NzQ2xhc3NQcm9wZXJ0eURlZmluaXRpb25cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc2lnbmF0dXJlID0gJyc7XG5cbiAgICBpZiAocHJvcGVydHkuZGVjb3JhdG9yPy5uYW1lKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYEAke3Byb3BlcnR5LmRlY29yYXRvci5uYW1lfSgpPGJyPmA7XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlPy5pbmRleFNpZ25hdHVyZTtcbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIGlmIChpbmRleFNpZ25hdHVyZSkge1xuICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKFxuICAgICAgICBpbmRleFNpZ25hdHVyZS5rZXkudHlwZVxuICAgICAgKX1dYDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IHByb3BlcnR5Lm5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BlcnR5LmRlcHJlY2F0aW9uV2FybmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzaWduYXR1cmUgKz0gYDxzdHJpa2U+JHtuYW1lfTwvc3RyaWtlPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25hdHVyZSArPSBuYW1lO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BlcnR5LmRlY29yYXRvcj8ubmFtZSAhPT0gJ091dHB1dCcgJiZcbiAgICAgIHByb3BlcnR5LmlzT3B0aW9uYWwgJiZcbiAgICAgICFpbmRleFNpZ25hdHVyZVxuICAgICkge1xuICAgICAgc2lnbmF0dXJlICs9ICc/JztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgIHNpZ25hdHVyZSArPSBgOiAke3RoaXMuZ2V0Rm9ybWF0dGVkVHlwZShpbmRleFNpZ25hdHVyZS50eXBlKX1gO1xuICAgIH0gZWxzZSBpZiAocHJvcGVydHkudHlwZSkge1xuICAgICAgc2lnbmF0dXJlICs9IGA6ICR7dGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHByb3BlcnR5LnR5cGUpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIEhUTUwtZm9ybWF0dGVkIG1ldGhvZCBuYW1lIHRvIGJlIHVzZWQgb24gdGhlIHByb3BlcnRpZXMgdGFibGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9ybWF0dGVkTWV0aG9kTmFtZShcbiAgICBkZWZpbml0aW9uOiBTa3lEb2NzQ2xhc3NNZXRob2REZWZpbml0aW9uXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGZvcm1hdHRlZCA9ICcnO1xuXG4gICAgaWYgKGRlZmluaXRpb24uaXNTdGF0aWMpIHtcbiAgICAgIGZvcm1hdHRlZCArPSBgJHtkZWZpbml0aW9uLnBhcmVudE5hbWV9LmA7XG4gICAgfVxuXG4gICAgaWYgKGRlZmluaXRpb24uZGVwcmVjYXRpb25XYXJuaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGA8c3RyaWtlPiR7Zm9ybWF0dGVkfSR7ZGVmaW5pdGlvbi5uYW1lfTwvc3RyaWtlPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdHRlZCArPSBkZWZpbml0aW9uLm5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2Zvcm1hdHRlZH0oKWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcm92aWRlZCB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldEZvcm1hdHRlZFR5cGUoXG4gICAgdHlwZTogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZyA9IHtcbiAgICAgIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzOiB0cnVlLFxuICAgIH1cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgZm9ybWF0dGVkID0gJ2FueSc7XG5cbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUuY2FsbFNpZ25hdHVyZSkge1xuICAgICAgbGV0IGZvcm1hdHRlZFNpZ25hdHVyZSA9IHRoaXMuZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICAgICAgdHlwZS5jYWxsU2lnbmF0dXJlLFxuICAgICAgICBjb25maWdcbiAgICAgICk7XG5cbiAgICAgIGlmICh0eXBlLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgZm9ybWF0dGVkU2lnbmF0dXJlID0gYCgke2Zvcm1hdHRlZFNpZ25hdHVyZX0pW11gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFNpZ25hdHVyZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS51bmlvblR5cGVzKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRVbmlvbih0eXBlLCBjb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLm5hbWUgIT09IG51bGwgJiYgdHlwZS5uYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGAke3R5cGUubmFtZX1gO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnR5cGVBcmd1bWVudHMpIHtcbiAgICAgIGZvcm1hdHRlZCArPSB0aGlzLmdldEZvcm1hdHRlZFR5cGVBcmd1bWVudHModHlwZSwgY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICBmb3JtYXR0ZWQgKz0gJ1tdJztcbiAgICB9XG5cbiAgICBpZiAodHlwZS50eXBlID09PSAnbGl0ZXJhbCcgJiYgdHlwZW9mIHR5cGUubmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGZvcm1hdHRlZCA9IGAnJHtmb3JtYXR0ZWR9J2A7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUudHlwZUxpdGVyYWwpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFR5cGVMaXRlcmFsID0gdGhpcy5nZXRGb3JtYXR0ZWRJbnRlcmZhY2VQcm9wZXJ0aWVzKFxuICAgICAgICB0eXBlLnR5cGVMaXRlcmFsLFxuICAgICAgICBjb25maWdcbiAgICAgIClcbiAgICAgICAgLnJlcGxhY2UoL1xcbi9nLCAnICcpXG4gICAgICAgIC5yZXBsYWNlKC9cXHNcXHMrL2csICcgJyk7XG4gICAgICBmb3JtYXR0ZWQgPSBgeyR7Zm9ybWF0dGVkVHlwZUxpdGVyYWx9IH1gO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZXNjYXBlU3BlY2lhbENoYXJhY3RlcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKGZvcm1hdHRlZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgfVxuXG4gIHB1YmxpYyBlc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkQ2FsbFNpZ25hdHVyZShcbiAgICBjYWxsU2lnbmF0dXJlOiBTa3lEb2NzQ2FsbFNpZ25hdHVyZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnID0ge1xuICAgICAgZXNjYXBlU3BlY2lhbENoYXJhY3RlcnM6IHRydWUsXG4gICAgfVxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IHJldHVyblR5cGUgPSB0aGlzLmdldEZvcm1hdHRlZFR5cGUoY2FsbFNpZ25hdHVyZS5yZXR1cm5UeXBlLCBjb25maWcpO1xuXG4gICAgaWYgKCFjYWxsU2lnbmF0dXJlLnBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybiBgKCkgPT4gJHtyZXR1cm5UeXBlfWA7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkUGFyYW1zID0gY2FsbFNpZ25hdHVyZS5wYXJhbWV0ZXJzXG4gICAgICAubWFwKChwKSA9PiB0aGlzLmdldEZvcm1hdHRlZFBhcmFtZXRlck5hbWUocCwgY29uZmlnKSlcbiAgICAgIC5qb2luKCcsICcpO1xuXG4gICAgcmV0dXJuIGAoJHtmb3JtYXR0ZWRQYXJhbXN9KSA9PiAke3JldHVyblR5cGV9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkVW5pb24oXG4gICAgdHlwZUNvbmZpZzogU2t5RG9jc1R5cGVEZWZpbml0aW9uLFxuICAgIGNvbmZpZzogR2V0Rm9ybWF0dGVkVHlwZUNvbmZpZ1xuICApOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlQ29uZmlnLnVuaW9uVHlwZXNcbiAgICAgIC5tYXAoKHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkVHlwZSh0LCBjb25maWcpO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgfCAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhbnkgdHlwZSBhcmd1bWVudHMgZS5nLiBgPFQsIEY+YC5cbiAgICovXG4gIHByaXZhdGUgZ2V0Rm9ybWF0dGVkVHlwZUFyZ3VtZW50cyhcbiAgICB0eXBlQ29uZmlnOiBTa3lEb2NzVHlwZURlZmluaXRpb24sXG4gICAgY29uZmlnOiBHZXRGb3JtYXR0ZWRUeXBlQ29uZmlnXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF0eXBlQ29uZmlnLnR5cGVBcmd1bWVudHMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlQXJndW1lbnRzID0gdHlwZUNvbmZpZy50eXBlQXJndW1lbnRzLm1hcCgodHlwZUFyZ3VtZW50KSA9PiB7XG4gICAgICBpZiAodHlwZUFyZ3VtZW50LnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgcmV0dXJuIGAke3R5cGVBcmd1bWVudC5uYW1lfVtdYDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVBcmd1bWVudC51bmlvblR5cGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFVuaW9uKHR5cGVBcmd1bWVudCwgY29uZmlnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGVBcmd1bWVudC5uYW1lO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGA8JHt0eXBlQXJndW1lbnRzLmpvaW4oJywgJyl9PmA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZFR5cGVQYXJhbWV0ZXJzKFxuICAgIHR5cGVQYXJhbWV0ZXJzOiBTa3lEb2NzVHlwZVBhcmFtZXRlckRlZmluaXRpb25bXVxuICApOiBzdHJpbmcge1xuICAgIGlmICghdHlwZVBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWQgPSB0eXBlUGFyYW1ldGVycy5tYXAoKHR5cGVQYXJhbWV0ZXIpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSB0eXBlUGFyYW1ldGVyLm5hbWU7XG4gICAgICBpZiAodHlwZVBhcmFtZXRlci50eXBlICYmIHR5cGVQYXJhbWV0ZXIudHlwZS50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICByZXN1bHQgKz0gYCBleHRlbmRzICR7dHlwZVBhcmFtZXRlci50eXBlLm5hbWV9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIHJldHVybiBgPCR7Zm9ybWF0dGVkLmpvaW4oJywgJyl9PmA7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1hdHRlZEludGVyZmFjZVByb3BlcnRpZXMoXG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgcHJvcGVydGllcz86IFNreURvY3NJbnRlcmZhY2VQcm9wZXJ0eURlZmluaXRpb25bXTtcbiAgICB9LFxuICAgIGNvbmZpZz86IEdldEZvcm1hdHRlZFR5cGVDb25maWdcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgc2lnbmF0dXJlOiBzdHJpbmcgPSAnJztcblxuICAgIGRlZmluaXRpb24ucHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXhTaWduYXR1cmUgPSBwcm9wZXJ0eS50eXBlLmluZGV4U2lnbmF0dXJlO1xuICAgICAgY29uc3Qgb3B0aW9uYWxJbmRpY2F0b3IgPVxuICAgICAgICBwcm9wZXJ0eS5pc09wdGlvbmFsICYmICFpbmRleFNpZ25hdHVyZSA/ICc/JyA6ICcnO1xuICAgICAgY29uc3QgcHJvcGVydHlUeXBlID0gdGhpcy5nZXRGb3JtYXR0ZWRUeXBlKHByb3BlcnR5LnR5cGUsIGNvbmZpZyk7XG5cbiAgICAgIGxldCBuYW1lOiBzdHJpbmc7XG4gICAgICBpZiAoaW5kZXhTaWduYXR1cmUpIHtcbiAgICAgICAgbmFtZSA9IGBbJHtpbmRleFNpZ25hdHVyZS5rZXkubmFtZX06IHN0cmluZ11gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmFtZSA9IHByb3BlcnR5Lm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHNpZ25hdHVyZSArPSBgXFxuICAke25hbWV9JHtvcHRpb25hbEluZGljYXRvcn06ICR7cHJvcGVydHlUeXBlfTtgO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlZG9jLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NDb21tZW50IHtcbiAgc2hvcnRUZXh0Pzogc3RyaW5nO1xuXG4gIHRhZ3M/OiB7XG4gICAgcGFyYW0/OiBzdHJpbmc7XG4gICAgdGFnOlxuICAgICAgfCAnZGVmYXVsdCdcbiAgICAgIHwgJ2RlZmF1bHRWYWx1ZSdcbiAgICAgIHwgJ2RlcHJlY2F0ZWQnXG4gICAgICB8ICdleGFtcGxlJ1xuICAgICAgfCAncGFyYW0nXG4gICAgICB8ICdyZXF1aXJlZCc7XG4gICAgdGV4dDogc3RyaW5nO1xuICB9W107XG5cbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jU291cmNlIHtcbiAgZmlsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jU2lnbmF0dXJlIHtcbiAgY29tbWVudD86IFR5cGVEb2NDb21tZW50O1xuXG4gIGtpbmRTdHJpbmc/OiAnQ2FsbCBzaWduYXR1cmUnIHwgJ0NvbnN0cnVjdG9yIHNpZ25hdHVyZScgfCAnSW5kZXggc2lnbmF0dXJlJztcblxuICBuYW1lOiBzdHJpbmc7XG5cbiAgcGFyYW1ldGVycz86IFR5cGVEb2NQYXJhbWV0ZXJbXTtcblxuICByZXR1cm5UeXBlPzogVHlwZURvY1R5cGU7XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xuXG4gIHR5cGVQYXJhbWV0ZXI/OiBUeXBlRG9jVHlwZVBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NUeXBlUGFyYW1ldGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBraW5kU3RyaW5nOiAnVHlwZSBwYXJhbWV0ZXInO1xuICB0eXBlPzogVHlwZURvY1R5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY1R5cGUge1xuICBjb25zdHJhaW50Pzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcblxuICBjYWxsU2lnbmF0dXJlPzogVHlwZURvY1NpZ25hdHVyZTtcblxuICBkZWNsYXJhdGlvbj86IHtcbiAgICBjaGlsZHJlbj86IFR5cGVEb2NFbnRyeUNoaWxkW107XG4gICAgaW5kZXhTaWduYXR1cmU/OiBUeXBlRG9jU2lnbmF0dXJlO1xuICAgIHNpZ25hdHVyZXM/OiBUeXBlRG9jU2lnbmF0dXJlW107XG4gIH07XG5cbiAgZWxlbWVudFR5cGU/OiBUeXBlRG9jVHlwZTtcblxuICBuYW1lPzogc3RyaW5nO1xuXG4gIG9wZXJhdG9yPzogJ2tleW9mJztcblxuICB0YXJnZXQ/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuXG4gIHR5cGU/OlxuICAgIHwgJ2FycmF5J1xuICAgIHwgJ2ludHJpbnNpYydcbiAgICB8ICdyZWZlcmVuY2UnXG4gICAgfCAncmVmbGVjdGlvbidcbiAgICB8ICdzdHJpbmdMaXRlcmFsJ1xuICAgIHwgJ3R5cGVQYXJhbWV0ZXInXG4gICAgfCAndHlwZU9wZXJhdG9yJ1xuICAgIHwgJ3VuaW9uJ1xuICAgIHwgJ3Vua25vd24nO1xuXG4gIHR5cGVBcmd1bWVudHM/OiBUeXBlRG9jVHlwZVtdO1xuXG4gIHR5cGVzPzogVHlwZURvY1R5cGVbXTtcblxuICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jUGFyYW1ldGVyIHtcbiAgY29tbWVudD86IFR5cGVEb2NDb21tZW50O1xuXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICBraW5kU3RyaW5nOiAnUGFyYW1ldGVyJztcblxuICBuYW1lOiBzdHJpbmc7XG5cbiAgdHlwZTogVHlwZURvY1R5cGU7XG5cbiAgZmxhZ3M/OiB7XG4gICAgaXNPcHRpb25hbD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY0VudHJ5Q2hpbGQge1xuICBjb21tZW50PzogVHlwZURvY0NvbW1lbnQ7XG5cbiAgZGVjb3JhdG9ycz86IHtcbiAgICBhcmd1bWVudHM/OiB7XG4gICAgICBiaW5kaW5nUHJvcGVydHlOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgbmFtZTogJ0lucHV0JyB8ICdPdXRwdXQnO1xuICAgIHR5cGU6IFR5cGVEb2NUeXBlO1xuICB9W107XG5cbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIGZsYWdzPzoge1xuICAgIGlzT3B0aW9uYWw/OiBib29sZWFuO1xuICAgIGlzU3RhdGljPzogYm9vbGVhbjtcbiAgfTtcblxuICBraW5kU3RyaW5nPzpcbiAgICB8ICdBY2Nlc3NvcidcbiAgICB8ICdDYWxsIHNpZ25hdHVyZSdcbiAgICB8ICdDb25zdHJ1Y3RvcidcbiAgICB8ICdDb25zdHJ1Y3RvciBzaWduYXR1cmUnXG4gICAgfCAnSW5kZXggc2lnbmF0dXJlJ1xuICAgIHwgJ0VudW1lcmF0aW9uIG1lbWJlcidcbiAgICB8ICdQYXJhbWV0ZXInXG4gICAgfCAnUHJvcGVydHknXG4gICAgfCAnTWV0aG9kJztcblxuICBnZXRTaWduYXR1cmU/OiB7XG4gICAgY29tbWVudDogVHlwZURvY0NvbW1lbnQ7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IFR5cGVEb2NUeXBlO1xuICB9W107XG5cbiAgbmFtZT86IHN0cmluZztcblxuICBzZXRTaWduYXR1cmU/OiB7XG4gICAgY29tbWVudDogVHlwZURvY0NvbW1lbnQ7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM/OiBUeXBlRG9jUGFyYW1ldGVyW107XG4gICAgdHlwZTogVHlwZURvY1R5cGU7XG4gIH1bXTtcblxuICBzaWduYXR1cmVzPzogVHlwZURvY1NpZ25hdHVyZVtdO1xuXG4gIHNvdXJjZXM/OiBUeXBlRG9jU291cmNlW107XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NFbnRyeSB7XG4gIGFuY2hvcklkPzogc3RyaW5nO1xuXG4gIGNoaWxkcmVuPzogVHlwZURvY0VudHJ5Q2hpbGRbXTtcblxuICBjb21tZW50PzogVHlwZURvY0NvbW1lbnQ7XG5cbiAgZGVjb3JhdG9ycz86IHtcbiAgICBhcmd1bWVudHM/OiB7XG4gICAgICBvYmo/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBuYW1lOiAnQ29tcG9uZW50JyB8ICdEaXJlY3RpdmUnIHwgJ0luamVjdGFibGUnIHwgJ05nTW9kdWxlJyB8ICdQaXBlJztcbiAgICB0eXBlOiBUeXBlRG9jVHlwZTtcbiAgfVtdO1xuXG4gIGtpbmRTdHJpbmc/OiAnQ2xhc3MnIHwgJ0VudW1lcmF0aW9uJyB8ICdJbnRlcmZhY2UnIHwgJ1R5cGUgYWxpYXMnO1xuXG4gIGluZGV4U2lnbmF0dXJlPzogVHlwZURvY1NpZ25hdHVyZTtcblxuICBuYW1lPzogc3RyaW5nO1xuXG4gIHNvdXJjZXM/OiBUeXBlRG9jU291cmNlW107XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xuXG4gIHR5cGVQYXJhbWV0ZXI/OiBUeXBlRG9jVHlwZVBhcmFtZXRlcltdO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvdHlwZS1kZWZpbml0aW9ucy90eXBlZG9jLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NDb21tZW50IHtcbiAgc2hvcnRUZXh0Pzogc3RyaW5nO1xuXG4gIHRhZ3M/OiB7XG4gICAgcGFyYW0/OiBzdHJpbmc7XG4gICAgdGFnOlxuICAgICAgfCAnZGVmYXVsdCdcbiAgICAgIHwgJ2RlZmF1bHRWYWx1ZSdcbiAgICAgIHwgJ2RlcHJlY2F0ZWQnXG4gICAgICB8ICdleGFtcGxlJ1xuICAgICAgfCAncGFyYW0nXG4gICAgICB8ICdyZXF1aXJlZCc7XG4gICAgdGV4dDogc3RyaW5nO1xuICB9W107XG5cbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jU291cmNlIHtcbiAgZmlsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jU2lnbmF0dXJlIHtcbiAgY29tbWVudD86IFR5cGVEb2NDb21tZW50O1xuXG4gIGtpbmRTdHJpbmc/OiAnQ2FsbCBzaWduYXR1cmUnIHwgJ0NvbnN0cnVjdG9yIHNpZ25hdHVyZScgfCAnSW5kZXggc2lnbmF0dXJlJztcblxuICBuYW1lOiBzdHJpbmc7XG5cbiAgcGFyYW1ldGVycz86IFR5cGVEb2NQYXJhbWV0ZXJbXTtcblxuICByZXR1cm5UeXBlPzogVHlwZURvY1R5cGU7XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xuXG4gIHR5cGVQYXJhbWV0ZXI/OiBUeXBlRG9jVHlwZVBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NUeXBlUGFyYW1ldGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICBraW5kU3RyaW5nOiAnVHlwZSBwYXJhbWV0ZXInO1xuICB0eXBlPzogVHlwZURvY1R5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY1R5cGUge1xuICBjb25zdHJhaW50Pzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcblxuICBjYWxsU2lnbmF0dXJlPzogVHlwZURvY1NpZ25hdHVyZTtcblxuICBkZWNsYXJhdGlvbj86IHtcbiAgICBjaGlsZHJlbj86IFR5cGVEb2NFbnRyeUNoaWxkW107XG4gICAgaW5kZXhTaWduYXR1cmU/OiBUeXBlRG9jU2lnbmF0dXJlO1xuICAgIHNpZ25hdHVyZXM/OiBUeXBlRG9jU2lnbmF0dXJlW107XG4gIH07XG5cbiAgZWxlbWVudFR5cGU/OiBUeXBlRG9jVHlwZTtcblxuICBuYW1lPzogc3RyaW5nO1xuXG4gIG9wZXJhdG9yPzogJ2tleW9mJztcblxuICB0YXJnZXQ/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuXG4gIHR5cGU/OlxuICAgIHwgJ2FycmF5J1xuICAgIHwgJ2ludHJpbnNpYydcbiAgICB8ICdsaXRlcmFsJ1xuICAgIHwgJ3JlZmVyZW5jZSdcbiAgICB8ICdyZWZsZWN0aW9uJ1xuICAgIHwgJ3R5cGVQYXJhbWV0ZXInXG4gICAgfCAndHlwZU9wZXJhdG9yJ1xuICAgIHwgJ3VuaW9uJ1xuICAgIHwgJ3Vua25vd24nO1xuXG4gIHR5cGVBcmd1bWVudHM/OiBUeXBlRG9jVHlwZVtdO1xuXG4gIHR5cGVzPzogVHlwZURvY1R5cGVbXTtcblxuICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlRG9jUGFyYW1ldGVyIHtcbiAgY29tbWVudD86IFR5cGVEb2NDb21tZW50O1xuXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICBraW5kU3RyaW5nOiAnUGFyYW1ldGVyJztcblxuICBuYW1lOiBzdHJpbmc7XG5cbiAgdHlwZTogVHlwZURvY1R5cGU7XG5cbiAgZmxhZ3M/OiB7XG4gICAgaXNPcHRpb25hbD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY0VudHJ5Q2hpbGQge1xuICBjb21tZW50PzogVHlwZURvY0NvbW1lbnQ7XG5cbiAgZGVjb3JhdG9ycz86IHtcbiAgICBhcmd1bWVudHM/OiB7XG4gICAgICBiaW5kaW5nUHJvcGVydHlOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgbmFtZTogJ0lucHV0JyB8ICdPdXRwdXQnO1xuICAgIHR5cGU6IFR5cGVEb2NUeXBlO1xuICB9W107XG5cbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIGZsYWdzPzoge1xuICAgIGlzT3B0aW9uYWw/OiBib29sZWFuO1xuICAgIGlzU3RhdGljPzogYm9vbGVhbjtcbiAgfTtcblxuICBraW5kU3RyaW5nPzpcbiAgICB8ICdBY2Nlc3NvcidcbiAgICB8ICdDYWxsIHNpZ25hdHVyZSdcbiAgICB8ICdDb25zdHJ1Y3RvcidcbiAgICB8ICdDb25zdHJ1Y3RvciBzaWduYXR1cmUnXG4gICAgfCAnSW5kZXggc2lnbmF0dXJlJ1xuICAgIHwgJ0VudW1lcmF0aW9uIG1lbWJlcidcbiAgICB8ICdQYXJhbWV0ZXInXG4gICAgfCAnUHJvcGVydHknXG4gICAgfCAnTWV0aG9kJztcblxuICBnZXRTaWduYXR1cmU/OiB7XG4gICAgY29tbWVudDogVHlwZURvY0NvbW1lbnQ7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IFR5cGVEb2NUeXBlO1xuICB9W107XG5cbiAgbmFtZT86IHN0cmluZztcblxuICBzZXRTaWduYXR1cmU/OiB7XG4gICAgY29tbWVudDogVHlwZURvY0NvbW1lbnQ7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM/OiBUeXBlRG9jUGFyYW1ldGVyW107XG4gICAgdHlwZTogVHlwZURvY1R5cGU7XG4gIH1bXTtcblxuICBzaWduYXR1cmVzPzogVHlwZURvY1NpZ25hdHVyZVtdO1xuXG4gIHNvdXJjZXM/OiBUeXBlRG9jU291cmNlW107XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEb2NFbnRyeSB7XG4gIGFuY2hvcklkPzogc3RyaW5nO1xuXG4gIGNoaWxkcmVuPzogVHlwZURvY0VudHJ5Q2hpbGRbXTtcblxuICBjb21tZW50PzogVHlwZURvY0NvbW1lbnQ7XG5cbiAgZGVjb3JhdG9ycz86IHtcbiAgICBhcmd1bWVudHM/OiB7XG4gICAgICBvYmo/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBuYW1lOiAnQ29tcG9uZW50JyB8ICdEaXJlY3RpdmUnIHwgJ0luamVjdGFibGUnIHwgJ05nTW9kdWxlJyB8ICdQaXBlJztcbiAgICB0eXBlOiBUeXBlRG9jVHlwZTtcbiAgfVtdO1xuXG4gIGtpbmRTdHJpbmc/OiAnQ2xhc3MnIHwgJ0VudW1lcmF0aW9uJyB8ICdJbnRlcmZhY2UnIHwgJ1R5cGUgYWxpYXMnO1xuXG4gIGluZGV4U2lnbmF0dXJlPzogVHlwZURvY1NpZ25hdHVyZTtcblxuICBuYW1lPzogc3RyaW5nO1xuXG4gIHNvdXJjZXM/OiBUeXBlRG9jU291cmNlW107XG5cbiAgdHlwZT86IFR5cGVEb2NUeXBlO1xuXG4gIHR5cGVQYXJhbWV0ZXI/OiBUeXBlRG9jVHlwZVBhcmFtZXRlcltdO1xufVxuIl19
@@ -1296,7 +1296,7 @@ class SkyDocsTypeDefinitionsFormatService {
1296
1296
  * Returns a formatted string representing a property (or method's) name and value. For example: `'public foo: string'`.
1297
1297
  */
1298
1298
  getFormattedPropertyName(property) {
1299
- var _a, _b;
1299
+ var _a, _b, _c;
1300
1300
  let signature = '';
1301
1301
  if ((_a = property.decorator) === null || _a === void 0 ? void 0 : _a.name) {
1302
1302
  signature += `@${property.decorator.name}()<br>`;
@@ -1315,7 +1315,9 @@ class SkyDocsTypeDefinitionsFormatService {
1315
1315
  else {
1316
1316
  signature += name;
1317
1317
  }
1318
- if (property.isOptional && !indexSignature) {
1318
+ if (((_c = property.decorator) === null || _c === void 0 ? void 0 : _c.name) !== 'Output' &&
1319
+ property.isOptional &&
1320
+ !indexSignature) {
1319
1321
  signature += '?';
1320
1322
  }
1321
1323
  if (indexSignature) {
@@ -1362,8 +1364,8 @@ class SkyDocsTypeDefinitionsFormatService {
1362
1364
  if (type.unionTypes) {
1363
1365
  return this.getFormattedUnion(type, config);
1364
1366
  }
1365
- if (type.name) {
1366
- formatted = type.name;
1367
+ if (type.name !== null && type.name !== undefined) {
1368
+ formatted = `${type.name}`;
1367
1369
  }
1368
1370
  if (type.typeArguments) {
1369
1371
  formatted += this.getFormattedTypeArguments(type, config);
@@ -1371,6 +1373,9 @@ class SkyDocsTypeDefinitionsFormatService {
1371
1373
  if (type.type === 'array') {
1372
1374
  formatted += '[]';
1373
1375
  }
1376
+ if (type.type === 'literal' && typeof type.name === 'string') {
1377
+ formatted = `'${formatted}'`;
1378
+ }
1374
1379
  if (type.typeLiteral) {
1375
1380
  const formattedTypeLiteral = this.getFormattedInterfaceProperties(type.typeLiteral, config)
1376
1381
  .replace(/\n/g, ' ')
@@ -1662,13 +1667,14 @@ class SkyDocsPropertyDefinitionsComponent {
1662
1667
  updateView() {
1663
1668
  var _a, _b;
1664
1669
  this.properties = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.map((property) => {
1665
- var _a;
1670
+ var _a, _b;
1666
1671
  const vm = {
1667
1672
  callSignature: (_a = property.type) === null || _a === void 0 ? void 0 : _a.callSignature,
1668
1673
  defaultValue: this.formatService.escapeSpecialCharacters(property.defaultValue || ''),
1669
1674
  deprecationWarning: property.deprecationWarning,
1670
1675
  description: property.description,
1671
1676
  formattedName: this.formatService.getFormattedPropertyName(property),
1677
+ isOutput: ((_b = property.decorator) === null || _b === void 0 ? void 0 : _b.name) === 'Output',
1672
1678
  isOptional: property.isOptional,
1673
1679
  };
1674
1680
  return vm;
@@ -1676,10 +1682,10 @@ class SkyDocsPropertyDefinitionsComponent {
1676
1682
  }
1677
1683
  }
1678
1684
  SkyDocsPropertyDefinitionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SkyDocsPropertyDefinitionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyDocsTypeDefinitionsFormatService }, { token: i2$1.SkyMediaQueryService }], target: i0.ɵɵFactoryTarget.Component });
1679
- SkyDocsPropertyDefinitionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SkyDocsPropertyDefinitionsComponent, selector: "sky-docs-property-definitions", inputs: { config: "config", propertyType: "propertyType", showOptionalStatus: "showOptionalStatus" }, ngImport: i0, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ1, selector: "sky-code" }, { kind: "component", type: SkyDocsSafeHtmlComponent, selector: "sky-docs-safe-html", inputs: ["innerHtml"] }, { kind: "component", type: SkyDocsCallSignatureDefinitionComponent, selector: "sky-docs-call-signature-definition", inputs: ["config"] }, { kind: "pipe", type: SkyDocsMarkdownPipe, name: "skyDocsMarkdown" }, { kind: "pipe", type: SkyDocsTypeAnchorLinksPipe, name: "skyDocsTypeAnchorLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1685
+ SkyDocsPropertyDefinitionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SkyDocsPropertyDefinitionsComponent, selector: "sky-docs-property-definitions", inputs: { config: "config", propertyType: "propertyType", showOptionalStatus: "showOptionalStatus" }, ngImport: i0, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ1, selector: "sky-code" }, { kind: "component", type: SkyDocsSafeHtmlComponent, selector: "sky-docs-safe-html", inputs: ["innerHtml"] }, { kind: "component", type: SkyDocsCallSignatureDefinitionComponent, selector: "sky-docs-call-signature-definition", inputs: ["config"] }, { kind: "pipe", type: SkyDocsMarkdownPipe, name: "skyDocsMarkdown" }, { kind: "pipe", type: SkyDocsTypeAnchorLinksPipe, name: "skyDocsTypeAnchorLinks" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1680
1686
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SkyDocsPropertyDefinitionsComponent, decorators: [{
1681
1687
  type: Component,
1682
- args: [{ selector: 'sky-docs-property-definitions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"] }]
1688
+ args: [{ selector: 'sky-docs-property-definitions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"properties\" class=\"sky-docs-property-definitions\">\n <table *ngIf=\"!isMobile; else mobileTemplate\" class=\"sky-docs-table\">\n <tr class=\"sky-docs-table-row\">\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-name\"\n >\n {{ propertyType }}\n </th>\n <th\n class=\"sky-docs-table-column-header sky-docs-table-column-header-description\"\n >\n Description\n </th>\n </tr>\n <tr *ngFor=\"let property of properties\" class=\"sky-docs-table-row\">\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-name\"\n >\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n <td\n class=\"sky-docs-table-cell sky-docs-property-definitions-table-cell-description\"\n >\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </td>\n </tr>\n </table>\n\n <ng-template #mobileTemplate>\n <dl class=\"sky-docs-property-definition-list\">\n <div\n *ngFor=\"let property of properties\"\n class=\"sky-docs-property-definition-list-item\"\n >\n <dt class=\"sky-field-label\">{{ propertyType }}</dt>\n <dd class=\"sky-docs-property-definitions-dd-name\">\n <ng-template\n [ngTemplateOutlet]=\"nameTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n <dt class=\"sky-field-label\">Description</dt>\n <dd class=\"sky-docs-property-definitions-dd-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: property }\"\n ></ng-template>\n </dd>\n </div>\n </dl>\n </ng-template>\n</div>\n\n<ng-template let-property #nameTemplate>\n <sky-code\n ><span\n [innerHtml]=\"\n property.formattedName | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span\n ></sky-code>\n</ng-template>\n\n<ng-template let-property #descriptionTemplate>\n <div\n *ngIf=\"!property.isOutput && !property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-text-danger\"\n >\n Required.\n </div>\n\n <sky-docs-safe-html\n *ngIf=\"property.deprecationWarning !== undefined\"\n class=\"sky-docs-property-definitions-deprecation-warning\"\n [innerHtml]=\"\n deprecationWarningPrefix + property.deprecationWarning\n | skyDocsTypeAnchorLinks\n | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <sky-docs-safe-html\n *ngIf=\"property.description\"\n class=\"sky-docs-property-definitions-description\"\n [innerHtml]=\"\n property.description | skyDocsTypeAnchorLinks | skyDocsMarkdown\n \"\n ></sky-docs-safe-html>\n\n <div\n *ngIf=\"!property.isOutput && property.isOptional && showOptionalStatus\"\n class=\"sky-docs-property-definition-label sky-docs-property-definition-label-optional\"\n >\n Optional.\n <ng-container *ngIf=\"property.defaultValue\"\n >Default is\n <sky-code\n ><span\n [innerHtml]=\"\n property.defaultValue | skyDocsTypeAnchorLinks: 'no-code-tags'\n \"\n ></span></sky-code\n >.</ng-container\n >\n </div>\n\n <sky-docs-call-signature-definition\n *ngIf=\"property.callSignature\"\n [config]=\"property.callSignature\"\n ></sky-docs-call-signature-definition>\n</ng-template>\n", styles: [":host{margin:15px 0}.sky-docs-property-definitions{width:100%;max-width:100%;overflow:auto}.sky-docs-table-column-header-name{width:25%}.sky-docs-property-definition-label-optional{color:#686c73;margin-bottom:10px}.sky-docs-property-definition-list{margin:0}.sky-docs-property-definition-list-item{border-bottom:1px dotted #cdcfd2;margin:10px 0}.sky-docs-property-definition-list-item .sky-field-label{margin:10px 0}\n"] }]
1683
1689
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SkyDocsTypeDefinitionsFormatService }, { type: i2$1.SkyMediaQueryService }]; }, propDecorators: { config: [{
1684
1690
  type: Input
1685
1691
  }], propertyType: [{