@hestia-earth/ui-components 0.9.6 → 0.9.7
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.
- package/common/apply-pure.pipe.d.ts +12 -0
- package/common/common.light.module.d.ts +16 -15
- package/common/index.d.ts +1 -0
- package/common/maps-utils.d.ts +2 -2
- package/esm2020/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.mjs +3 -3
- package/esm2020/common/apply-pure.pipe.mjs +23 -0
- package/esm2020/common/common.light.module.mjs +5 -1
- package/esm2020/common/data-table/data-table.component.mjs +2 -2
- package/esm2020/common/index.mjs +2 -1
- package/esm2020/common/maps-drawing-confirm/maps-drawing-confirm.component.mjs +3 -3
- package/esm2020/common/maps-utils.mjs +3 -3
- package/esm2020/cycles/cycles-activity/cycles-activity.component.mjs +3 -3
- package/esm2020/cycles/cycles-completeness/cycles-completeness.component.mjs +3 -3
- package/esm2020/cycles/cycles-emissions/cycles-emissions.component.mjs +3 -3
- package/esm2020/cycles/cycles-emissions-chart/cycles-emissions-chart.component.mjs +3 -3
- package/esm2020/cycles/cycles-practices/cycles-practices.component.mjs +3 -3
- package/esm2020/engine/engine-orchestrator-edit/engine-orchestrator-edit.component.mjs +3 -3
- package/esm2020/files/files-form/files-form.component.mjs +9 -8
- package/esm2020/fontawesome/fontawesome.module.mjs +3 -3
- package/esm2020/impact-assessments/impact-assessments-graph/impact-assessments-graph.component.mjs +3 -3
- package/esm2020/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.mjs +3 -3
- package/esm2020/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.mjs +3 -3
- package/esm2020/impact-assessments/impact-assessments-products/impact-assessments-products.component.mjs +3 -3
- package/esm2020/node/node-csv-export-confirm/node-csv-export-confirm.component.mjs +6 -4
- package/esm2020/node/node-csv-select-headers/node-csv-select-headers.component.mjs +3 -3
- package/esm2020/node/node-logs-file/node-logs-file.component.mjs +3 -3
- package/esm2020/node/node-logs-models/node-logs-models.component.mjs +3 -3
- package/esm2020/node/node-missing-lookup-factors/node-missing-lookup-factors.component.mjs +3 -3
- package/esm2020/node/node.service.mjs +1 -10
- package/esm2020/sites/sites-measurements/sites-measurements.component.mjs +3 -3
- package/fesm2015/hestia-earth-ui-components.mjs +111 -97
- package/fesm2015/hestia-earth-ui-components.mjs.map +1 -1
- package/fesm2020/hestia-earth-ui-components.mjs +111 -96
- package/fesm2020/hestia-earth-ui-components.mjs.map +1 -1
- package/files/files-form/files-form.component.d.ts +3 -3
- package/node/node.service.d.ts +0 -12
- package/package.json +1 -1
- package/styles.scss +106 -17
|
@@ -7,7 +7,9 @@ import * as i2 from "@angular/common";
|
|
|
7
7
|
import * as i3 from "@angular/router";
|
|
8
8
|
import * as i4 from "@fortawesome/angular-fontawesome";
|
|
9
9
|
import * as i5 from "../../common/bind-once.directive";
|
|
10
|
-
import * as i6 from "
|
|
10
|
+
import * as i6 from "../../common/data-table/data-table.component";
|
|
11
|
+
import * as i7 from "../node-link/node-link.component";
|
|
12
|
+
import * as i8 from "../node-csv-select-headers/node-csv-select-headers.component";
|
|
11
13
|
export class NodeCsvExportConfirmComponent {
|
|
12
14
|
constructor(domSanitizer) {
|
|
13
15
|
this.domSanitizer = domSanitizer;
|
|
@@ -41,10 +43,10 @@ export class NodeCsvExportConfirmComponent {
|
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
NodeCsvExportConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeCsvExportConfirmComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
NodeCsvExportConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeCsvExportConfirmComponent, selector: "he-node-csv-export-confirm", inputs: { nodes: "nodes", filename: "filename", headerKeys: "headerKeys", extension: "extension", isUpload: "isUpload" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"modal is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Export as CSV</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"closed.next(true)\"></button>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"notification is-info\" role=\"alert\" *ngIf=\"isUpload\">\n <span>After Download, you can edit and</span>\n <a class=\"px-1\" routerLink=\"../\">upload the CSV file</a>\n <span>to submit your content on the Hestia platform, and your draft will remain unchanged.</span>\n\n <p>\n <span>Alternatively, you can import the CSV file right back by clicking on the \"Import from CSV\" button and selecting the exported file.</span>\n </p>\n </div>\n\n <ng-container *ngIf=\"!isUpload && includedNodes.length > 1\">\n <p class=\"mb-2\">\n <b>{{includedNodes.length}}</b>\n <span class=\"px-1\">Nodes will be included in your download.</span>\n <a (click)=\"showIncludeNodes = !showIncludeNodes\">\n <ng-container *ngIf=\"!showIncludeNodes\">Show list</ng-container>\n <ng-container *ngIf=\"showIncludeNodes\">Hide list</ng-container>\n </a>\n </p>\n\n <
|
|
46
|
+
NodeCsvExportConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeCsvExportConfirmComponent, selector: "he-node-csv-export-confirm", inputs: { nodes: "nodes", filename: "filename", headerKeys: "headerKeys", extension: "extension", isUpload: "isUpload" }, outputs: { closed: "closed" }, ngImport: i0, template: "<div class=\"modal is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Export as CSV</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"closed.next(true)\"></button>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"notification is-info\" role=\"alert\" *ngIf=\"isUpload\">\n <span>After Download, you can edit and</span>\n <a class=\"px-1\" routerLink=\"../\">upload the CSV file</a>\n <span>to submit your content on the Hestia platform, and your draft will remain unchanged.</span>\n\n <p>\n <span>Alternatively, you can import the CSV file right back by clicking on the \"Import from CSV\" button and selecting the exported file.</span>\n </p>\n </div>\n\n <ng-container *ngIf=\"!isUpload && includedNodes.length > 1\">\n <p class=\"mb-2\">\n <b>{{includedNodes.length}}</b>\n <span class=\"px-1\">Nodes will be included in your download.</span>\n <a (click)=\"showIncludeNodes = !showIncludeNodes\">\n <ng-container *ngIf=\"!showIncludeNodes\">Show list</ng-container>\n <ng-container *ngIf=\"showIncludeNodes\">Hide list</ng-container>\n </a>\n </p>\n\n <he-data-table maxHeight=\"400\" [nbRows]=\"includedNodes.length\" *ngIf=\"showIncludeNodes\">\n <table class=\"table is-fullwidth is-striped mb-0\" *bindOnce=\"includedNodes\">\n <thead>\n <tr>\n <th class=\"width-auto has-border-right\">\n <span>Type</span>\n </th>\n <th>\n <span>Name</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of includedNodes\">\n <td class=\"width-auto has-border-right\">\n {{node.node['@type']}}\n </td>\n <td>\n <he-node-link [node]=\"node.node\" [showExternalLink]=\"true\">\n <span>{{node.node.name}}</span>\n </he-node-link>\n </td>\n </tr>\n </tbody>\n </table>\n </he-data-table>\n </ng-container>\n\n <he-node-csv-select-headers [class.is-hidden]=\"isUpload\"\n [csv]=\"csvData\" [keys]=\"headerKeys\" [includeDefaultCSV]=\"isUpload\"\n (headersChanged)=\"headersUpdated($event)\"\n ></he-node-csv-select-headers>\n </section>\n <footer class=\"modal-card-foot\">\n <a class=\"button is-primary\" target=\"_blank\"\n [attr.disabled]=\"csvContent ? null : true\"\n [href]=\"csvContent\"\n [attr.download]=\"csvContent ? downloadFilename : null\"\n (click)=\"closed.next(true)\"\n >\n <fa-icon class=\"mr-2\" icon=\"download\"></fa-icon>\n <span>Download CSV</span>\n </a>\n <button class=\"button is-ghost\" (click)=\"closed.next(true)\">\n <span>Cancel</span>\n </button>\n </footer>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i5.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { kind: "component", type: i6.DataTableComponent, selector: "he-data-table", inputs: ["minHeight", "maxHeight", "nbRows", "small", "height", "width"] }, { kind: "component", type: i7.NodeLinkComponent, selector: "he-node-link", inputs: ["node", "showExternalLink"] }, { kind: "component", type: i8.NodeCsvSelectHeadersComponent, selector: "he-node-csv-select-headers", inputs: ["csv", "keys", "includeDefaultCSV"], outputs: ["headersChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeCsvExportConfirmComponent, decorators: [{
|
|
46
48
|
type: Component,
|
|
47
|
-
args: [{ selector: 'he-node-csv-export-confirm', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Export as CSV</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"closed.next(true)\"></button>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"notification is-info\" role=\"alert\" *ngIf=\"isUpload\">\n <span>After Download, you can edit and</span>\n <a class=\"px-1\" routerLink=\"../\">upload the CSV file</a>\n <span>to submit your content on the Hestia platform, and your draft will remain unchanged.</span>\n\n <p>\n <span>Alternatively, you can import the CSV file right back by clicking on the \"Import from CSV\" button and selecting the exported file.</span>\n </p>\n </div>\n\n <ng-container *ngIf=\"!isUpload && includedNodes.length > 1\">\n <p class=\"mb-2\">\n <b>{{includedNodes.length}}</b>\n <span class=\"px-1\">Nodes will be included in your download.</span>\n <a (click)=\"showIncludeNodes = !showIncludeNodes\">\n <ng-container *ngIf=\"!showIncludeNodes\">Show list</ng-container>\n <ng-container *ngIf=\"showIncludeNodes\">Hide list</ng-container>\n </a>\n </p>\n\n <
|
|
49
|
+
args: [{ selector: 'he-node-csv-export-confirm', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Export as CSV</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"closed.next(true)\"></button>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"notification is-info\" role=\"alert\" *ngIf=\"isUpload\">\n <span>After Download, you can edit and</span>\n <a class=\"px-1\" routerLink=\"../\">upload the CSV file</a>\n <span>to submit your content on the Hestia platform, and your draft will remain unchanged.</span>\n\n <p>\n <span>Alternatively, you can import the CSV file right back by clicking on the \"Import from CSV\" button and selecting the exported file.</span>\n </p>\n </div>\n\n <ng-container *ngIf=\"!isUpload && includedNodes.length > 1\">\n <p class=\"mb-2\">\n <b>{{includedNodes.length}}</b>\n <span class=\"px-1\">Nodes will be included in your download.</span>\n <a (click)=\"showIncludeNodes = !showIncludeNodes\">\n <ng-container *ngIf=\"!showIncludeNodes\">Show list</ng-container>\n <ng-container *ngIf=\"showIncludeNodes\">Hide list</ng-container>\n </a>\n </p>\n\n <he-data-table maxHeight=\"400\" [nbRows]=\"includedNodes.length\" *ngIf=\"showIncludeNodes\">\n <table class=\"table is-fullwidth is-striped mb-0\" *bindOnce=\"includedNodes\">\n <thead>\n <tr>\n <th class=\"width-auto has-border-right\">\n <span>Type</span>\n </th>\n <th>\n <span>Name</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of includedNodes\">\n <td class=\"width-auto has-border-right\">\n {{node.node['@type']}}\n </td>\n <td>\n <he-node-link [node]=\"node.node\" [showExternalLink]=\"true\">\n <span>{{node.node.name}}</span>\n </he-node-link>\n </td>\n </tr>\n </tbody>\n </table>\n </he-data-table>\n </ng-container>\n\n <he-node-csv-select-headers [class.is-hidden]=\"isUpload\"\n [csv]=\"csvData\" [keys]=\"headerKeys\" [includeDefaultCSV]=\"isUpload\"\n (headersChanged)=\"headersUpdated($event)\"\n ></he-node-csv-select-headers>\n </section>\n <footer class=\"modal-card-foot\">\n <a class=\"button is-primary\" target=\"_blank\"\n [attr.disabled]=\"csvContent ? null : true\"\n [href]=\"csvContent\"\n [attr.download]=\"csvContent ? downloadFilename : null\"\n (click)=\"closed.next(true)\"\n >\n <fa-icon class=\"mr-2\" icon=\"download\"></fa-icon>\n <span>Download CSV</span>\n </a>\n <button class=\"button is-ghost\" (click)=\"closed.next(true)\">\n <span>Cancel</span>\n </button>\n </footer>\n </div>\n</div>\n" }]
|
|
48
50
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { nodes: [{
|
|
49
51
|
type: Input
|
|
50
52
|
}], filename: [{
|
|
@@ -58,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
58
60
|
}], closed: [{
|
|
59
61
|
type: Output
|
|
60
62
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jc3YtZXhwb3J0LWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3YtZXhwb3J0LWNvbmZpcm0vbm9kZS1jc3YtZXhwb3J0LWNvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3YtZXhwb3J0LWNvbmZpcm0vbm9kZS1jc3YtZXhwb3J0LWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RyxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBYXJELE1BQU0sT0FBTyw2QkFBNkI7SUFzQnhDLFlBQ1UsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUF0QjVCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFFOUIsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUl2QixjQUFTLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1FBRXBDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFHaEIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFJckMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFpQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQ3RGLGdDQUFnQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUMzRCxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OzBIQWxEVSw2QkFBNkI7OEdBQTdCLDZCQUE2QiwyTkNqQjFDLDRsR0E2RUE7MkZENURhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU07bUdBTXZDLEtBQUs7c0JBRFosS0FBSztnQkFHRSxRQUFRO3NCQURmLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgZmlsZVRvRXh0LCBTdXBwb3J0ZWRFeHRlbnNpb25zIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9hcGknO1xuaW1wb3J0IHsgSlNPTiBhcyBIZXN0aWFKc29uIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgdG9Dc3YgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYS1jb252ZXJ0JztcblxuaW50ZXJmYWNlIElOb2RlSW5jbHVkZWQge1xuICBub2RlOiBIZXN0aWFKc29uPGFueT47XG4gIGluY2x1ZGVkOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1ub2RlLWNzdi1leHBvcnQtY29uZmlybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLWNzdi1leHBvcnQtY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUtY3N2LWV4cG9ydC1jb25maXJtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVDc3ZFeHBvcnRDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBoZWFkZXJzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgbm9kZXM6IEhlc3RpYUpzb248YW55PltdID0gW107XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgZmlsZW5hbWUgPSAnZG93bmxvYWQnO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyS2V5cz86IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXh0ZW5zaW9uID0gU3VwcG9ydGVkRXh0ZW5zaW9ucy5jc3Y7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1VwbG9hZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGNzdkRhdGE/OiBzdHJpbmc7XG4gIHB1YmxpYyBjc3ZDb250ZW50PzogU2FmZVJlc291cmNlVXJsO1xuICBwdWJsaWMgc2hvd0luY2x1ZGVOb2RlcyA9IGZhbHNlO1xuICBwdWJsaWMgaW5jbHVkZWROb2RlczogSU5vZGVJbmNsdWRlZFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5jbHVkZWROb2RlcyA9IHRoaXMubm9kZXMubWFwKG5vZGUgPT4gKHsgbm9kZSwgaW5jbHVkZWQ6IHRydWUgfSkpO1xuICAgIHRoaXMuY3N2RGF0YSA9IHRvQ3N2KHRoaXMubm9kZXMgfHwgW10sICF0aGlzLmlzVXBsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5jbHVkZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5jbHVkZWROb2Rlcy5maWx0ZXIoKHsgaW5jbHVkZWQgfSkgPT4gaW5jbHVkZWQpO1xuICB9XG5cbiAgcHVibGljIGhlYWRlcnNVcGRhdGVkKGhlYWRlcnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5oZWFkZXJzID0gaGVhZGVycztcbiAgICByZXR1cm4gdGhpcy51cGRhdGVDc3ZDb250ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ3N2Q29udGVudCgpIHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMuaW5jbHVkZWQubWFwKCh7IG5vZGUgfSkgPT4gbm9kZSk7XG4gICAgY29uc3QgZGF0YSA9IHRvQ3N2KG5vZGVzLCAhdGhpcy5pc1VwbG9hZCwgZmFsc2UsIHRoaXMuaGVhZGVycyk7XG4gICAgdGhpcy5jc3ZDb250ZW50ID0gdGhpcy5oZWFkZXJzLmxlbmd0aCA/IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcbiAgICAgIGBkYXRhOnRleHQvaHRtbDtjaGFyc2V0PXV0Zi04LCR7ZW5jb2RlVVJJQ29tcG9uZW50KGRhdGEpfWBcbiAgICApIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldCBkb3dubG9hZEZpbGVuYW1lKCkge1xuICAgIHJldHVybiBmaWxlVG9FeHQodGhpcy5maWxlbmFtZSwgdGhpcy5leHRlbnNpb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwgaXMtYWN0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1iYWNrZ3JvdW5kXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1jYXJkXCI+XG4gICAgPGhlYWRlciBjbGFzcz1cIm1vZGFsLWNhcmQtaGVhZFwiPlxuICAgICAgPHAgY2xhc3M9XCJtb2RhbC1jYXJkLXRpdGxlXCI+RXhwb3J0IGFzIENTVjwvcD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJkZWxldGVcIiBhcmlhLWxhYmVsPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VkLm5leHQodHJ1ZSlcIj48L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLWNhcmQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbiBpcy1pbmZvXCIgcm9sZT1cImFsZXJ0XCIgKm5nSWY9XCJpc1VwbG9hZFwiPlxuICAgICAgICA8c3Bhbj5BZnRlciBEb3dubG9hZCwgeW91IGNhbiBlZGl0IGFuZDwvc3Bhbj5cbiAgICAgICAgPGEgY2xhc3M9XCJweC0xXCIgcm91dGVyTGluaz1cIi4uL1wiPnVwbG9hZCB0aGUgQ1NWIGZpbGU8L2E+XG4gICAgICAgIDxzcGFuPnRvIHN1Ym1pdCB5b3VyIGNvbnRlbnQgb24gdGhlIEhlc3RpYSBwbGF0Zm9ybSwgYW5kIHlvdXIgZHJhZnQgd2lsbCByZW1haW4gdW5jaGFuZ2VkLjwvc3Bhbj5cblxuICAgICAgICA8cD5cbiAgICAgICAgICA8c3Bhbj5BbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGltcG9ydCB0aGUgQ1NWIGZpbGUgcmlnaHQgYmFjayBieSBjbGlja2luZyBvbiB0aGUgXCJJbXBvcnQgZnJvbSBDU1ZcIiBidXR0b24gYW5kIHNlbGVjdGluZyB0aGUgZXhwb3J0ZWQgZmlsZS48L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVXBsb2FkICYmIGluY2x1ZGVkTm9kZXMubGVuZ3RoID4gMVwiPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTJcIj5cbiAgICAgICAgICA8Yj57e2luY2x1ZGVkTm9kZXMubGVuZ3RofX08L2I+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJweC0xXCI+Tm9kZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiB5b3VyIGRvd25sb2FkLjwvc3Bhbj5cbiAgICAgICAgICA8YSAoY2xpY2spPVwic2hvd0luY2x1ZGVOb2RlcyA9ICFzaG93SW5jbHVkZU5vZGVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dJbmNsdWRlTm9kZXNcIj5TaG93IGxpc3Q8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jbHVkZU5vZGVzXCI+SGlkZSBsaXN0PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGhlLWRhdGEtdGFibGUgbWF4SGVpZ2h0PVwiNDAwXCIgW25iUm93c109XCJpbmNsdWRlZE5vZGVzLmxlbmd0aFwiICpuZ0lmPVwic2hvd0luY2x1ZGVOb2Rlc1wiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGlzLWZ1bGx3aWR0aCBpcy1zdHJpcGVkIG1iLTBcIiAqYmluZE9uY2U9XCJpbmNsdWRlZE5vZGVzXCI+XG4gICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ3aWR0aC1hdXRvIGhhcy1ib3JkZXItcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5OYW1lPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG5vZGUgb2YgaW5jbHVkZWROb2Rlc1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIndpZHRoLWF1dG8gaGFzLWJvcmRlci1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAge3tub2RlLm5vZGVbJ0B0eXBlJ119fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgPGhlLW5vZGUtbGluayBbbm9kZV09XCJub2RlLm5vZGVcIiBbc2hvd0V4dGVybmFsTGlua109XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7bm9kZS5ub2RlLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvaGUtbm9kZS1saW5rPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvaGUtZGF0YS10YWJsZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8aGUtbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMgW2NsYXNzLmlzLWhpZGRlbl09XCJpc1VwbG9hZFwiXG4gICAgICAgIFtjc3ZdPVwiY3N2RGF0YVwiIFtrZXlzXT1cImhlYWRlcktleXNcIiBbaW5jbHVkZURlZmF1bHRDU1ZdPVwiaXNVcGxvYWRcIlxuICAgICAgICAoaGVhZGVyc0NoYW5nZWQpPVwiaGVhZGVyc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICA+PC9oZS1ub2RlLWNzdi1zZWxlY3QtaGVhZGVycz5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGZvb3RlciBjbGFzcz1cIm1vZGFsLWNhcmQtZm9vdFwiPlxuICAgICAgPGEgY2xhc3M9XCJidXR0b24gaXMtcHJpbWFyeVwiIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImNzdkNvbnRlbnQgPyBudWxsIDogdHJ1ZVwiXG4gICAgICAgIFtocmVmXT1cImNzdkNvbnRlbnRcIlxuICAgICAgICBbYXR0ci5kb3dubG9hZF09XCJjc3ZDb250ZW50ID8gZG93bmxvYWRGaWxlbmFtZSA6IG51bGxcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2VkLm5leHQodHJ1ZSlcIlxuICAgICAgPlxuICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1yLTJcIiBpY29uPVwiZG93bmxvYWRcIj48L2ZhLWljb24+XG4gICAgICAgIDxzcGFuPkRvd25sb2FkIENTVjwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtZ2hvc3RcIiAoY2xpY2spPVwiY2xvc2VkLm5leHQodHJ1ZSlcIj5cbiAgICAgICAgPHNwYW4+Q2FuY2VsPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9mb290ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -99,10 +99,10 @@ export class NodeCsvSelectHeadersComponent {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
NodeCsvSelectHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeCsvSelectHeadersComponent, deps: [{ token: i1.HeSchemaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
NodeCsvSelectHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeCsvSelectHeadersComponent, selector: "he-node-csv-select-headers", inputs: { csv: "csv", keys: "keys", includeDefaultCSV: "includeDefaultCSV" }, outputs: { headersChanged: "headersChanged" }, ngImport: i0, template: "<p class=\"mb-2\">Please select which columns you would like to include:</p>\n\n<p class=\"my-2 is-size-7\"><i>You can drag and drop the headers to sort them as they would appear in the CSV file.</i></p>\n\n<div class=\"columns toggle-all mx-4 pb-1 mb-0\">\n <div class=\"column\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"allSelected\"\n (change)=\"toggleAll(); refresh()\"\n >\n <span class=\"ml-2\">Toggle All</span>\n </label>\n </div>\n\n <div class=\"column is-narrow has-text-right\">\n <div class=\"dropdown is-right has-text-left\"\n [class.is-active]=\"showSelectTermFields\"\n (clickOutside)=\"showSelectTermFields = false\"\n >\n <div class=\"dropdown-trigger\" (click)=\"showSelectTermFields = !showSelectTermFields\">\n <button class=\"button is-small\"\n aria-haspopup=\"true\" aria-controls=\"select-menu\"\n >\n <span>Advanced Filters</span>\n <span class=\"icon is-small\">\n <fa-icon icon=\"filter\" aria-hidden=\"true\"></fa-icon>\n </span>\n </button>\n </div>\n <div class=\"dropdown-menu\" id=\"select-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"showNonIncluded\"\n (change)=\"refresh()\"\n >\n <span class=\"ml-2\">Include <code>internal</code> fields</span>\n </label>\n </a>\n <div class=\"dropdown-item\">\n <p>Toggle Term Fields</p>\n </div>\n <a class=\"dropdown-item\"\n *ngFor=\"let field of termFields\"\n >\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"termFieldSelected[field]\"\n (change)=\"toggleTermField(field)\"\n >\n <span class=\"ml-2\">{{field}}</span>\n </label>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"drag-container\" *ngIf=\"!loading; else loader\">\n <div class=\"card\" *ngFor=\"let group of headers | keys\">\n <header class=\"card-header\" *ngIf=\"group.key\">\n <div class=\"card-header-title\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [indeterminate]=\"group.value.partialSelected\"\n [(ngModel)]=\"group.value.selected\"\n (change)=\"updateGroup(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{group.key}}</span>\n </label>\n </div>\n <span class=\"card-header-icon has-text-
|
|
102
|
+
NodeCsvSelectHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeCsvSelectHeadersComponent, selector: "he-node-csv-select-headers", inputs: { csv: "csv", keys: "keys", includeDefaultCSV: "includeDefaultCSV" }, outputs: { headersChanged: "headersChanged" }, ngImport: i0, template: "<p class=\"mb-2\">Please select which columns you would like to include:</p>\n\n<p class=\"my-2 is-size-7\"><i>You can drag and drop the headers to sort them as they would appear in the CSV file.</i></p>\n\n<div class=\"columns toggle-all mx-4 pb-1 mb-0\">\n <div class=\"column\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"allSelected\"\n (change)=\"toggleAll(); refresh()\"\n >\n <span class=\"ml-2\">Toggle All</span>\n </label>\n </div>\n\n <div class=\"column is-narrow has-text-right\">\n <div class=\"dropdown is-right has-text-left\"\n [class.is-active]=\"showSelectTermFields\"\n (clickOutside)=\"showSelectTermFields = false\"\n >\n <div class=\"dropdown-trigger\" (click)=\"showSelectTermFields = !showSelectTermFields\">\n <button class=\"button is-small\"\n aria-haspopup=\"true\" aria-controls=\"select-menu\"\n >\n <span>Advanced Filters</span>\n <span class=\"icon is-small\">\n <fa-icon icon=\"filter\" aria-hidden=\"true\"></fa-icon>\n </span>\n </button>\n </div>\n <div class=\"dropdown-menu\" id=\"select-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"showNonIncluded\"\n (change)=\"refresh()\"\n >\n <span class=\"ml-2\">Include <code>internal</code> fields</span>\n </label>\n </a>\n <div class=\"dropdown-item\">\n <p>Toggle Term Fields</p>\n </div>\n <a class=\"dropdown-item\"\n *ngFor=\"let field of termFields\"\n >\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"termFieldSelected[field]\"\n (change)=\"toggleTermField(field)\"\n >\n <span class=\"ml-2\">{{field}}</span>\n </label>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"drag-container\" *ngIf=\"!loading; else loader\">\n <div class=\"card\" *ngFor=\"let group of headers | keys\">\n <header class=\"card-header\" *ngIf=\"group.key\">\n <div class=\"card-header-title\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [indeterminate]=\"group.value.partialSelected\"\n [(ngModel)]=\"group.value.selected\"\n (change)=\"updateGroup(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{group.key}}</span>\n </label>\n </div>\n <span class=\"card-header-icon has-text-secondary\" aria-label=\"open / close\"\n (click)=\"group.value.open = !group.value.open\" pointer\n >\n <span class=\"icon\">\n <fa-icon icon=\"angle-down\" [class.is-hidden]=\"!group.value.open\"></fa-icon>\n <fa-icon icon=\"angle-left\" [class.is-hidden]=\"group.value.open\"></fa-icon>\n </span>\n </span>\n </header>\n\n <div class=\"card-content p-3\" [class.is-hidden]=\"!group.value.open\">\n <ul cdkDropList (cdkDropListDropped)=\"dropHeader($event, group.key)\">\n <ng-container *ngFor=\"let header of group.value.headers\">\n <ng-container *ngIf=\"header.included || showNonIncluded\">\n <li cdkDrag>\n <label class=\"checkbox ml-2\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"header.selected\"\n (change)=\"updateGroupHeader(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{header.header}}</span>\n </label>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </div>\n</div>\n\n<ng-template #loader>\n <div class=\"has-text-center py-3\">\n <fa-icon icon=\"spinner\" [pulse]=\"true\" size=\"lg\"></fa-icon>\n </div>\n</ng-template>\n", styles: [".toggle-all{border-bottom:1px solid #4A4A4A}.drag-container,.table-container{max-height:45vh;overflow-y:auto}.cdk-drag-preview{border-radius:3px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;list-style:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i6.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: i7.KeysPipe, name: "keys" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeCsvSelectHeadersComponent, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
|
-
args: [{ selector: 'he-node-csv-select-headers', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"mb-2\">Please select which columns you would like to include:</p>\n\n<p class=\"my-2 is-size-7\"><i>You can drag and drop the headers to sort them as they would appear in the CSV file.</i></p>\n\n<div class=\"columns toggle-all mx-4 pb-1 mb-0\">\n <div class=\"column\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"allSelected\"\n (change)=\"toggleAll(); refresh()\"\n >\n <span class=\"ml-2\">Toggle All</span>\n </label>\n </div>\n\n <div class=\"column is-narrow has-text-right\">\n <div class=\"dropdown is-right has-text-left\"\n [class.is-active]=\"showSelectTermFields\"\n (clickOutside)=\"showSelectTermFields = false\"\n >\n <div class=\"dropdown-trigger\" (click)=\"showSelectTermFields = !showSelectTermFields\">\n <button class=\"button is-small\"\n aria-haspopup=\"true\" aria-controls=\"select-menu\"\n >\n <span>Advanced Filters</span>\n <span class=\"icon is-small\">\n <fa-icon icon=\"filter\" aria-hidden=\"true\"></fa-icon>\n </span>\n </button>\n </div>\n <div class=\"dropdown-menu\" id=\"select-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"showNonIncluded\"\n (change)=\"refresh()\"\n >\n <span class=\"ml-2\">Include <code>internal</code> fields</span>\n </label>\n </a>\n <div class=\"dropdown-item\">\n <p>Toggle Term Fields</p>\n </div>\n <a class=\"dropdown-item\"\n *ngFor=\"let field of termFields\"\n >\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"termFieldSelected[field]\"\n (change)=\"toggleTermField(field)\"\n >\n <span class=\"ml-2\">{{field}}</span>\n </label>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"drag-container\" *ngIf=\"!loading; else loader\">\n <div class=\"card\" *ngFor=\"let group of headers | keys\">\n <header class=\"card-header\" *ngIf=\"group.key\">\n <div class=\"card-header-title\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [indeterminate]=\"group.value.partialSelected\"\n [(ngModel)]=\"group.value.selected\"\n (change)=\"updateGroup(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{group.key}}</span>\n </label>\n </div>\n <span class=\"card-header-icon has-text-
|
|
105
|
+
args: [{ selector: 'he-node-csv-select-headers', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p class=\"mb-2\">Please select which columns you would like to include:</p>\n\n<p class=\"my-2 is-size-7\"><i>You can drag and drop the headers to sort them as they would appear in the CSV file.</i></p>\n\n<div class=\"columns toggle-all mx-4 pb-1 mb-0\">\n <div class=\"column\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"allSelected\"\n (change)=\"toggleAll(); refresh()\"\n >\n <span class=\"ml-2\">Toggle All</span>\n </label>\n </div>\n\n <div class=\"column is-narrow has-text-right\">\n <div class=\"dropdown is-right has-text-left\"\n [class.is-active]=\"showSelectTermFields\"\n (clickOutside)=\"showSelectTermFields = false\"\n >\n <div class=\"dropdown-trigger\" (click)=\"showSelectTermFields = !showSelectTermFields\">\n <button class=\"button is-small\"\n aria-haspopup=\"true\" aria-controls=\"select-menu\"\n >\n <span>Advanced Filters</span>\n <span class=\"icon is-small\">\n <fa-icon icon=\"filter\" aria-hidden=\"true\"></fa-icon>\n </span>\n </button>\n </div>\n <div class=\"dropdown-menu\" id=\"select-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <a class=\"dropdown-item\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"showNonIncluded\"\n (change)=\"refresh()\"\n >\n <span class=\"ml-2\">Include <code>internal</code> fields</span>\n </label>\n </a>\n <div class=\"dropdown-item\">\n <p>Toggle Term Fields</p>\n </div>\n <a class=\"dropdown-item\"\n *ngFor=\"let field of termFields\"\n >\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"termFieldSelected[field]\"\n (change)=\"toggleTermField(field)\"\n >\n <span class=\"ml-2\">{{field}}</span>\n </label>\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"drag-container\" *ngIf=\"!loading; else loader\">\n <div class=\"card\" *ngFor=\"let group of headers | keys\">\n <header class=\"card-header\" *ngIf=\"group.key\">\n <div class=\"card-header-title\">\n <label class=\"checkbox ml-1\">\n <input type=\"checkbox\" class=\"selector\"\n [indeterminate]=\"group.value.partialSelected\"\n [(ngModel)]=\"group.value.selected\"\n (change)=\"updateGroup(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{group.key}}</span>\n </label>\n </div>\n <span class=\"card-header-icon has-text-secondary\" aria-label=\"open / close\"\n (click)=\"group.value.open = !group.value.open\" pointer\n >\n <span class=\"icon\">\n <fa-icon icon=\"angle-down\" [class.is-hidden]=\"!group.value.open\"></fa-icon>\n <fa-icon icon=\"angle-left\" [class.is-hidden]=\"group.value.open\"></fa-icon>\n </span>\n </span>\n </header>\n\n <div class=\"card-content p-3\" [class.is-hidden]=\"!group.value.open\">\n <ul cdkDropList (cdkDropListDropped)=\"dropHeader($event, group.key)\">\n <ng-container *ngFor=\"let header of group.value.headers\">\n <ng-container *ngIf=\"header.included || showNonIncluded\">\n <li cdkDrag>\n <label class=\"checkbox ml-2\">\n <input type=\"checkbox\" class=\"selector\"\n [(ngModel)]=\"header.selected\"\n (change)=\"updateGroupHeader(group.key); refresh()\"\n >\n <span class=\"ml-2\">{{header.header}}</span>\n </label>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </div>\n</div>\n\n<ng-template #loader>\n <div class=\"has-text-center py-3\">\n <fa-icon icon=\"spinner\" [pulse]=\"true\" size=\"lg\"></fa-icon>\n </div>\n</ng-template>\n", styles: [".toggle-all{border-bottom:1px solid #4A4A4A}.drag-container,.table-container{max-height:45vh;overflow-y:auto}.cdk-drag-preview{border-radius:3px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;list-style:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
106
106
|
}], ctorParameters: function () { return [{ type: i1.HeSchemaService }]; }, propDecorators: { csv: [{
|
|
107
107
|
type: Input
|
|
108
108
|
}], keys: [{
|
|
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
112
112
|
}], headersChanged: [{
|
|
113
113
|
type: Output
|
|
114
114
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFzQjdGLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRztJQUNqQixLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVO0NBQ25DLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBVyxFQUFFLEVBQUUsQ0FBQztJQUM5RCxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUs7Q0FDaEUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFRN0QsTUFBTSxPQUFPLDZCQUE2QjtJQW9CeEMsWUFDVSxhQUE4QjtRQUE5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFuQmhDLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFJVCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFHMUIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRS9DLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFJNUIsQ0FBQztJQUVKLEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakcsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLEVBQUUsRUFBcUIsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBb0I7UUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQTZCLEVBQUUsUUFBZ0I7UUFDL0QsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sU0FBUztRQUNkLHlCQUF5QjtRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckYsa0JBQWtCO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN2RCxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQjtRQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQWdCO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUM3QixLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUMvQixPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7YUFDakMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDbEYsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7SUFFUCxlQUFlLENBQUMsS0FBYTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDbkYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEFqR1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsK0xDNUMxQyxnbElBNkdBOzJGRGpFYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNO3NHQUl2QyxHQUFHO3NCQURWLEtBQUs7Z0JBR0UsSUFBSTtzQkFEWCxLQUFLO2dCQUdFLGlCQUFpQjtzQkFEeEIsS0FBSztnQkFJRSxjQUFjO3NCQURyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IGRlZmluaXRpb25zIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9qc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBpc0RlZmF1bHRDU1ZTZWxlY3RlZCwgaXNDU1ZJbmNsdWRlZCB9IGZyb20gJ0BoZXN0aWEtZWFydGgvanNvbi1zY2hlbWEvc2NoZW1hLXV0aWxzJztcblxuaW1wb3J0IHsgSGVTY2hlbWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2NoZW1hL3NjaGVtYS5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElIZWFkZXIge1xuICBoZWFkZXI6IHN0cmluZztcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBgZmFsc2VgIGlmIGl0IGlzIGFuIGBpbnRlcm5hbGAgZmllbGQuXG4gICAqL1xuICBpbmNsdWRlZDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIElHcm91cGVkSGVhZGVycyB7XG4gIFtncm91cDogc3RyaW5nXToge1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIHBhcnRpYWxTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvcGVuOiBib29sZWFuO1xuICAgIGhlYWRlcnM6IElIZWFkZXJbXTtcbiAgfTtcbn1cblxuY29uc3QgaGVhZGVyR3JvdXAgPSAoaGVhZGVyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGFydHMgPSBoZWFkZXIuc3BsaXQoJy4nKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA9PT0gMiA/ICcnIDogW3BhcnRzWzBdLCBwYXJ0c1sxXV0uam9pbignLicpO1xufTtcblxuY29uc3QgdGVybUZpZWxkcyA9IFtcbiAgJ0BpZCcsICduYW1lJywgJ3VuaXRzJywgJ3Rlcm1UeXBlJ1xuXTtcblxuY29uc3QgaXNUZXJtRmllbGQgPSAoZmllbGQ6IHN0cmluZykgPT4gKHsgaGVhZGVyIH06IElIZWFkZXIpID0+IFtcbiAgJ3Rlcm0nLCAnbWV0aG9kTW9kZWwnLCAnY291bnRyeScsICdwcm9kdWN0JywgJ29wZXJhdGlvbicsICdrZXknXG5dLnNvbWUocGFyZW50ID0+IGhlYWRlci5lbmRzV2l0aChbcGFyZW50LCBmaWVsZF0uam9pbignLicpKSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLW5vZGUtY3N2LXNlbGVjdC1oZWFkZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUtY3N2LXNlbGVjdC1oZWFkZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNzdlNlbGVjdEhlYWRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcml2YXRlIGNzdiA9ICcnO1xuICBASW5wdXQoKVxuICBwcml2YXRlIGtleXM/OiBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBpbmNsdWRlRGVmYXVsdENTViA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwcml2YXRlIGhlYWRlcnNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwdWJsaWMgbG9hZGluZyA9IHRydWU7XG4gIHB1YmxpYyBoZWFkZXJzOiBJR3JvdXBlZEhlYWRlcnMgPSB7fTtcbiAgcHVibGljIGFsbFNlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dTZWxlY3RUZXJtRmllbGRzID0gZmFsc2U7XG4gIHB1YmxpYyB0ZXJtRmllbGRzID0gdGVybUZpZWxkcztcbiAgcHVibGljIHRlcm1GaWVsZFNlbGVjdGVkOiBhbnkgPSB7fTtcbiAgcHVibGljIHNob3dOb25JbmNsdWRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2NoZW1hU2VydmljZTogSGVTY2hlbWFTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBzY2hlbWFzID0gYXdhaXQgdGhpcy5zY2hlbWFTZXJ2aWNlLnNjaGVtYXMoKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gYXdhaXQgdGhpcy5pc1NlbGVjdGVkKHNjaGVtYXMpO1xuICAgIGNvbnN0IGlzSW5jbHVkZWQgPSBpc0NTVkluY2x1ZGVkKHNjaGVtYXMpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBhd2FpdCB0aGlzLnNjaGVtYVNlcnZpY2UucGFyc2VIZWFkZXJzKHRoaXMuY3N2KTtcbiAgICB0aGlzLmhlYWRlcnMgPSBoZWFkZXJzLnJlZHVjZSgocHJldiwgaGVhZGVyKSA9PiB7XG4gICAgICBjb25zdCBncm91cCA9IGhlYWRlckdyb3VwKGhlYWRlcik7XG4gICAgICBwcmV2W2dyb3VwXSA9IHByZXZbZ3JvdXBdIHx8IHsgaGVhZGVyczogW10sIHNlbGVjdGVkOiBmYWxzZSwgcGFydGlhbFNlbGVjdGVkOiBmYWxzZSwgb3BlbjogdHJ1ZSB9O1xuICAgICAgcHJldltncm91cF0uaGVhZGVycy5wdXNoKHsgaGVhZGVyLCBzZWxlY3RlZDogaXNTZWxlY3RlZChoZWFkZXIpLCBpbmNsdWRlZDogaXNJbmNsdWRlZChoZWFkZXIpIH0pO1xuICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwge30gYXMgSUdyb3VwZWRIZWFkZXJzKTtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmhlYWRlcnMpLm1hcChncm91cEtleSA9PiB0aGlzLnVwZGF0ZUdyb3VwSGVhZGVyKGdyb3VwS2V5KSk7XG4gICAgdGhpcy50ZXJtRmllbGRTZWxlY3RlZCA9IHRlcm1GaWVsZHMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiAoeyAuLi5wcmV2LCBbY3Vycl06IGN1cnIgPT09ICdAaWQnIH0pLCB7fSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGlzU2VsZWN0ZWQoc2NoZW1hczogZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5pbmNsdWRlRGVmYXVsdENTViA/ICgpID0+IHRydWUgOiBpc0RlZmF1bHRDU1ZTZWxlY3RlZChzY2hlbWFzKTtcbiAgICByZXR1cm4gKGtleTogc3RyaW5nKSA9PiAoIXRoaXMua2V5cz8ubGVuZ3RoIHx8IHRoaXMua2V5cy5zb21lKHYgPT4ga2V5LnN0YXJ0c1dpdGgodikpKSAmJiBpc1NlbGVjdGVkKGtleSk7XG4gIH1cblxuICBwdWJsaWMgZHJvcEhlYWRlcihldmVudDogQ2RrRHJhZ0Ryb3A8SUhlYWRlcltdPiwgZ3JvdXBLZXk6IHN0cmluZykge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmhlYWRlcnNbZ3JvdXBLZXldLmhlYWRlcnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5oZWFkZXJzQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRIZWFkZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWxsU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9IE9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykuZXZlcnkoa2V5ID0+IHRoaXMuaGVhZGVyc1trZXldLnNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVBbGwoKSB7XG4gICAgLy8gc2VsZWN0IGFsbCB0ZXJtIGZpZWxkc1xuICAgIE9iamVjdC5rZXlzKHRoaXMudGVybUZpZWxkU2VsZWN0ZWQpLm1hcChrZXkgPT4gKHRoaXMudGVybUZpZWxkU2VsZWN0ZWRba2V5XSA9IHRydWUpKTtcbiAgICAvLyBzZWxlY3QgYWxsIGtleXNcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5oZWFkZXJzKS5tYXAoKFtrZXksIGdyb3VwXSkgPT4ge1xuICAgICAgZ3JvdXAuc2VsZWN0ZWQgPSB0aGlzLmFsbFNlbGVjdGVkO1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JvdXAoa2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVHcm91cChncm91cEtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmhlYWRlcnNbZ3JvdXBLZXldO1xuICAgIGdyb3VwLmhlYWRlcnMubWFwKGhlYWRlciA9PiBoZWFkZXIuc2VsZWN0ZWQgPSBncm91cC5zZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlR3JvdXBIZWFkZXIoZ3JvdXBLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IGdyb3VwID0gdGhpcy5oZWFkZXJzW2dyb3VwS2V5XTtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IGdyb3VwLmhlYWRlcnMuZXZlcnkoKHsgc2VsZWN0ZWQgfSkgPT4gc2VsZWN0ZWQpO1xuICAgIGdyb3VwLnNlbGVjdGVkID0gYWxsU2VsZWN0ZWQ7XG4gICAgZ3JvdXAucGFydGlhbFNlbGVjdGVkID0gIWFsbFNlbGVjdGVkICYmIGdyb3VwLmhlYWRlcnMuc29tZSgoeyBzZWxlY3RlZCB9KSA9PiBzZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSGVhZGVycygpIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmhlYWRlcnMpXG4gICAgICAuZmxhdE1hcCgoeyBoZWFkZXJzIH0pID0+IGhlYWRlcnMpXG4gICAgICAuZmlsdGVyKCh7IHNlbGVjdGVkLCBpbmNsdWRlZCB9KSA9PiBzZWxlY3RlZCAmJiAoaW5jbHVkZWQgfHwgdGhpcy5zaG93Tm9uSW5jbHVkZWQpKVxuICAgICAgLm1hcCgoeyBoZWFkZXIgfSkgPT4gaGVhZGVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMudXBkYXRlQWxsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmhlYWRlcnNDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZEhlYWRlcnMpO1xuICB9XG5cbiAgLy8gVGVybSBmaWVsZHNcblxuICBwdWJsaWMgdG9nZ2xlVGVybUZpZWxkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMudGVybUZpZWxkU2VsZWN0ZWRbZmllbGRdO1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLmhlYWRlcnMpLm1hcCgoW2tleSwgZ3JvdXBdKSA9PiB7XG4gICAgICBncm91cC5oZWFkZXJzLmZpbHRlcihpc1Rlcm1GaWVsZChmaWVsZCkpLm1hcChoZWFkZXIgPT4gaGVhZGVyLnNlbGVjdGVkID0gc2VsZWN0ZWQpO1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JvdXBIZWFkZXIoa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHAgY2xhc3M9XCJtYi0yXCI+UGxlYXNlIHNlbGVjdCB3aGljaCBjb2x1bW5zIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGU6PC9wPlxuXG48cCBjbGFzcz1cIm15LTIgaXMtc2l6ZS03XCI+PGk+WW91IGNhbiBkcmFnIGFuZCBkcm9wIHRoZSBoZWFkZXJzIHRvIHNvcnQgdGhlbSBhcyB0aGV5IHdvdWxkIGFwcGVhciBpbiB0aGUgQ1NWIGZpbGUuPC9pPjwvcD5cblxuPGRpdiBjbGFzcz1cImNvbHVtbnMgdG9nZ2xlLWFsbCBteC00IHBiLTEgbWItMFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tib3ggbWwtMVwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImFsbFNlbGVjdGVkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVBbGwoKTsgcmVmcmVzaCgpXCJcbiAgICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPlRvZ2dsZSBBbGw8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1uYXJyb3cgaGFzLXRleHQtcmlnaHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gaXMtcmlnaHQgaGFzLXRleHQtbGVmdFwiXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNob3dTZWxlY3RUZXJtRmllbGRzXCJcbiAgICAgIChjbGlja091dHNpZGUpPVwic2hvd1NlbGVjdFRlcm1GaWVsZHMgPSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIiAoY2xpY2spPVwic2hvd1NlbGVjdFRlcm1GaWVsZHMgPSAhc2hvd1NlbGVjdFRlcm1GaWVsZHNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbFwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwic2VsZWN0LW1lbnVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4+QWR2YW5jZWQgRmlsdGVyczwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gaXMtc21hbGxcIj5cbiAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJmaWx0ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2ZhLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBpZD1cInNlbGVjdC1tZW51XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnRcIj5cbiAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94IG1sLTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2hvd05vbkluY2x1ZGVkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlZnJlc2goKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+SW5jbHVkZSA8Y29kZT5pbnRlcm5hbDwvY29kZT4gZmllbGRzPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxwPlRvZ2dsZSBUZXJtIEZpZWxkczwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHRlcm1GaWVsZHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94IG1sLTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGVybUZpZWxkU2VsZWN0ZWRbZmllbGRdXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVRlcm1GaWVsZChmaWVsZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7ZmllbGR9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHJhZy1jb250YWluZXJcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0Zvcj1cImxldCBncm91cCBvZiBoZWFkZXJzIHwga2V5c1wiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJjYXJkLWhlYWRlclwiICpuZ0lmPVwiZ3JvdXAua2V5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tib3ggbWwtMVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInNlbGVjdG9yXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImdyb3VwLnZhbHVlLnBhcnRpYWxTZWxlY3RlZFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImdyb3VwLnZhbHVlLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlR3JvdXAoZ3JvdXAua2V5KTsgcmVmcmVzaCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3tncm91cC5rZXl9fTwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWhlYWRlci1pY29uIGhhcy10ZXh0LWxpbmtcIiBhcmlhLWxhYmVsPVwib3BlbiAvIGNsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cImdyb3VwLnZhbHVlLm9wZW4gPSAhZ3JvdXAudmFsdWUub3BlblwiIHBvaW50ZXJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCI+XG4gICAgICAgICAgPGZhLWljb24gaWNvbj1cImFuZ2xlLWRvd25cIiBbY2xhc3MuaXMtaGlkZGVuXT1cIiFncm91cC52YWx1ZS5vcGVuXCI+PC9mYS1pY29uPlxuICAgICAgICAgIDxmYS1pY29uIGljb249XCJhbmdsZS1sZWZ0XCIgW2NsYXNzLmlzLWhpZGRlbl09XCJncm91cC52YWx1ZS5vcGVuXCI+PC9mYS1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb250ZW50IHAtM1wiIFtjbGFzcy5pcy1oaWRkZW5dPVwiIWdyb3VwLnZhbHVlLm9wZW5cIj5cbiAgICAgIDx1bCBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BIZWFkZXIoJGV2ZW50LCBncm91cC5rZXkpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRlciBvZiBncm91cC52YWx1ZS5oZWFkZXJzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlci5pbmNsdWRlZCB8fCBzaG93Tm9uSW5jbHVkZWRcIj5cbiAgICAgICAgICAgIDxsaSBjZGtEcmFnPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjaGVja2JveCBtbC0yXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJoZWFkZXIuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVHcm91cEhlYWRlcihncm91cC5rZXkpOyByZWZyZXNoKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj57e2hlYWRlci5oZWFkZXJ9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsb2FkZXI+XG4gIDxkaXYgY2xhc3M9XCJoYXMtdGV4dC1jZW50ZXIgcHktM1wiPlxuICAgIDxmYS1pY29uIGljb249XCJzcGlubmVyXCIgW3B1bHNlXT1cInRydWVcIiBzaXplPVwibGdcIj48L2ZhLWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMvbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFzQjdGLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRztJQUNqQixLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVO0NBQ25DLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBVyxFQUFFLEVBQUUsQ0FBQztJQUM5RCxNQUFN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RUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7SUFFUCxlQUFlLENBQUMsS0FBYTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDbkYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEFqR1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsK0xDNUMxQyxxbElBNkdBOzJGRGpFYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNO3NHQUl2QyxHQUFHO3NCQURWLEtBQUs7Z0JBR0UsSUFBSTtzQkFEWCxLQUFLO2dCQUdFLGlCQUFpQjtzQkFEeEIsS0FBSztnQkFJRSxjQUFjO3NCQURyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IGRlZmluaXRpb25zIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9qc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBpc0RlZmF1bHRDU1ZTZWxlY3RlZCwgaXNDU1ZJbmNsdWRlZCB9IGZyb20gJ0BoZXN0aWEtZWFydGgvanNvbi1zY2hlbWEvc2NoZW1hLXV0aWxzJztcblxuaW1wb3J0IHsgSGVTY2hlbWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2NoZW1hL3NjaGVtYS5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElIZWFkZXIge1xuICBoZWFkZXI6IHN0cmluZztcbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBgZmFsc2VgIGlmIGl0IGlzIGFuIGBpbnRlcm5hbGAgZmllbGQuXG4gICAqL1xuICBpbmNsdWRlZDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIElHcm91cGVkSGVhZGVycyB7XG4gIFtncm91cDogc3RyaW5nXToge1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIHBhcnRpYWxTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvcGVuOiBib29sZWFuO1xuICAgIGhlYWRlcnM6IElIZWFkZXJbXTtcbiAgfTtcbn1cblxuY29uc3QgaGVhZGVyR3JvdXAgPSAoaGVhZGVyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGFydHMgPSBoZWFkZXIuc3BsaXQoJy4nKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA9PT0gMiA/ICcnIDogW3BhcnRzWzBdLCBwYXJ0c1sxXV0uam9pbignLicpO1xufTtcblxuY29uc3QgdGVybUZpZWxkcyA9IFtcbiAgJ0BpZCcsICduYW1lJywgJ3VuaXRzJywgJ3Rlcm1UeXBlJ1xuXTtcblxuY29uc3QgaXNUZXJtRmllbGQgPSAoZmllbGQ6IHN0cmluZykgPT4gKHsgaGVhZGVyIH06IElIZWFkZXIpID0+IFtcbiAgJ3Rlcm0nLCAnbWV0aG9kTW9kZWwnLCAnY291bnRyeScsICdwcm9kdWN0JywgJ29wZXJhdGlvbicsICdrZXknXG5dLnNvbWUocGFyZW50ID0+IGhlYWRlci5lbmRzV2l0aChbcGFyZW50LCBmaWVsZF0uam9pbignLicpKSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLW5vZGUtY3N2LXNlbGVjdC1oZWFkZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUtY3N2LXNlbGVjdC1oZWFkZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS1jc3Ytc2VsZWN0LWhlYWRlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNzdlNlbGVjdEhlYWRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBwcml2YXRlIGNzdiA9ICcnO1xuICBASW5wdXQoKVxuICBwcml2YXRlIGtleXM/OiBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBpbmNsdWRlRGVmYXVsdENTViA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwcml2YXRlIGhlYWRlcnNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwdWJsaWMgbG9hZGluZyA9IHRydWU7XG4gIHB1YmxpYyBoZWFkZXJzOiBJR3JvdXBlZEhlYWRlcnMgPSB7fTtcbiAgcHVibGljIGFsbFNlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dTZWxlY3RUZXJtRmllbGRzID0gZmFsc2U7XG4gIHB1YmxpYyB0ZXJtRmllbGRzID0gdGVybUZpZWxkcztcbiAgcHVibGljIHRlcm1GaWVsZFNlbGVjdGVkOiBhbnkgPSB7fTtcbiAgcHVibGljIHNob3dOb25JbmNsdWRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2NoZW1hU2VydmljZTogSGVTY2hlbWFTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBzY2hlbWFzID0gYXdhaXQgdGhpcy5zY2hlbWFTZXJ2aWNlLnNjaGVtYXMoKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gYXdhaXQgdGhpcy5pc1NlbGVjdGVkKHNjaGVtYXMpO1xuICAgIGNvbnN0IGlzSW5jbHVkZWQgPSBpc0NTVkluY2x1ZGVkKHNjaGVtYXMpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBhd2FpdCB0aGlzLnNjaGVtYVNlcnZpY2UucGFyc2VIZWFkZXJzKHRoaXMuY3N2KTtcbiAgICB0aGlzLmhlYWRlcnMgPSBoZWFkZXJzLnJlZHVjZSgocHJldiwgaGVhZGVyKSA9PiB7XG4gICAgICBjb25zdCBncm91cCA9IGhlYWRlckdyb3VwKGhlYWRlcik7XG4gICAgICBwcmV2W2dyb3VwXSA9IHByZXZbZ3JvdXBdIHx8IHsgaGVhZGVyczogW10sIHNlbGVjdGVkOiBmYWxzZSwgcGFydGlhbFNlbGVjdGVkOiBmYWxzZSwgb3BlbjogdHJ1ZSB9O1xuICAgICAgcHJldltncm91cF0uaGVhZGVycy5wdXNoKHsgaGVhZGVyLCBzZWxlY3RlZDogaXNTZWxlY3RlZChoZWFkZXIpLCBpbmNsdWRlZDogaXNJbmNsdWRlZChoZWFkZXIpIH0pO1xuICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwge30gYXMgSUdyb3VwZWRIZWFkZXJzKTtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmhlYWRlcnMpLm1hcChncm91cEtleSA9PiB0aGlzLnVwZGF0ZUdyb3VwSGVhZGVyKGdyb3VwS2V5KSk7XG4gICAgdGhpcy50ZXJtRmllbGRTZWxlY3RlZCA9IHRlcm1GaWVsZHMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiAoeyAuLi5wcmV2LCBbY3Vycl06IGN1cnIgPT09ICdAaWQnIH0pLCB7fSk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGlzU2VsZWN0ZWQoc2NoZW1hczogZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5pbmNsdWRlRGVmYXVsdENTViA/ICgpID0+IHRydWUgOiBpc0RlZmF1bHRDU1ZTZWxlY3RlZChzY2hlbWFzKTtcbiAgICByZXR1cm4gKGtleTogc3RyaW5nKSA9PiAoIXRoaXMua2V5cz8ubGVuZ3RoIHx8IHRoaXMua2V5cy5zb21lKHYgPT4ga2V5LnN0YXJ0c1dpdGgodikpKSAmJiBpc1NlbGVjdGVkKGtleSk7XG4gIH1cblxuICBwdWJsaWMgZHJvcEhlYWRlcihldmVudDogQ2RrRHJhZ0Ryb3A8SUhlYWRlcltdPiwgZ3JvdXBLZXk6IHN0cmluZykge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmhlYWRlcnNbZ3JvdXBLZXldLmhlYWRlcnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5oZWFkZXJzQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRIZWFkZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWxsU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9IE9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykuZXZlcnkoa2V5ID0+IHRoaXMuaGVhZGVyc1trZXldLnNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVBbGwoKSB7XG4gICAgLy8gc2VsZWN0IGFsbCB0ZXJtIGZpZWxkc1xuICAgIE9iamVjdC5rZXlzKHRoaXMudGVybUZpZWxkU2VsZWN0ZWQpLm1hcChrZXkgPT4gKHRoaXMudGVybUZpZWxkU2VsZWN0ZWRba2V5XSA9IHRydWUpKTtcbiAgICAvLyBzZWxlY3QgYWxsIGtleXNcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5oZWFkZXJzKS5tYXAoKFtrZXksIGdyb3VwXSkgPT4ge1xuICAgICAgZ3JvdXAuc2VsZWN0ZWQgPSB0aGlzLmFsbFNlbGVjdGVkO1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JvdXAoa2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVHcm91cChncm91cEtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmhlYWRlcnNbZ3JvdXBLZXldO1xuICAgIGdyb3VwLmhlYWRlcnMubWFwKGhlYWRlciA9PiBoZWFkZXIuc2VsZWN0ZWQgPSBncm91cC5zZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlR3JvdXBIZWFkZXIoZ3JvdXBLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IGdyb3VwID0gdGhpcy5oZWFkZXJzW2dyb3VwS2V5XTtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IGdyb3VwLmhlYWRlcnMuZXZlcnkoKHsgc2VsZWN0ZWQgfSkgPT4gc2VsZWN0ZWQpO1xuICAgIGdyb3VwLnNlbGVjdGVkID0gYWxsU2VsZWN0ZWQ7XG4gICAgZ3JvdXAucGFydGlhbFNlbGVjdGVkID0gIWFsbFNlbGVjdGVkICYmIGdyb3VwLmhlYWRlcnMuc29tZSgoeyBzZWxlY3RlZCB9KSA9PiBzZWxlY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSGVhZGVycygpIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmhlYWRlcnMpXG4gICAgICAuZmxhdE1hcCgoeyBoZWFkZXJzIH0pID0+IGhlYWRlcnMpXG4gICAgICAuZmlsdGVyKCh7IHNlbGVjdGVkLCBpbmNsdWRlZCB9KSA9PiBzZWxlY3RlZCAmJiAoaW5jbHVkZWQgfHwgdGhpcy5zaG93Tm9uSW5jbHVkZWQpKVxuICAgICAgLm1hcCgoeyBoZWFkZXIgfSkgPT4gaGVhZGVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCkge1xuICAgIHRoaXMudXBkYXRlQWxsU2VsZWN0ZWQoKTtcbiAgICB0aGlzLmhlYWRlcnNDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZEhlYWRlcnMpO1xuICB9XG5cbiAgLy8gVGVybSBmaWVsZHNcblxuICBwdWJsaWMgdG9nZ2xlVGVybUZpZWxkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMudGVybUZpZWxkU2VsZWN0ZWRbZmllbGRdO1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLmhlYWRlcnMpLm1hcCgoW2tleSwgZ3JvdXBdKSA9PiB7XG4gICAgICBncm91cC5oZWFkZXJzLmZpbHRlcihpc1Rlcm1GaWVsZChmaWVsZCkpLm1hcChoZWFkZXIgPT4gaGVhZGVyLnNlbGVjdGVkID0gc2VsZWN0ZWQpO1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JvdXBIZWFkZXIoa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHAgY2xhc3M9XCJtYi0yXCI+UGxlYXNlIHNlbGVjdCB3aGljaCBjb2x1bW5zIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGU6PC9wPlxuXG48cCBjbGFzcz1cIm15LTIgaXMtc2l6ZS03XCI+PGk+WW91IGNhbiBkcmFnIGFuZCBkcm9wIHRoZSBoZWFkZXJzIHRvIHNvcnQgdGhlbSBhcyB0aGV5IHdvdWxkIGFwcGVhciBpbiB0aGUgQ1NWIGZpbGUuPC9pPjwvcD5cblxuPGRpdiBjbGFzcz1cImNvbHVtbnMgdG9nZ2xlLWFsbCBteC00IHBiLTEgbWItMFwiPlxuICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tib3ggbWwtMVwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImFsbFNlbGVjdGVkXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVBbGwoKTsgcmVmcmVzaCgpXCJcbiAgICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPlRvZ2dsZSBBbGw8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy1uYXJyb3cgaGFzLXRleHQtcmlnaHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gaXMtcmlnaHQgaGFzLXRleHQtbGVmdFwiXG4gICAgICBbY2xhc3MuaXMtYWN0aXZlXT1cInNob3dTZWxlY3RUZXJtRmllbGRzXCJcbiAgICAgIChjbGlja091dHNpZGUpPVwic2hvd1NlbGVjdFRlcm1GaWVsZHMgPSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXJcIiAoY2xpY2spPVwic2hvd1NlbGVjdFRlcm1GaWVsZHMgPSAhc2hvd1NlbGVjdFRlcm1GaWVsZHNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbFwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwic2VsZWN0LW1lbnVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4+QWR2YW5jZWQgRmlsdGVyczwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gaXMtc21hbGxcIj5cbiAgICAgICAgICAgIDxmYS1pY29uIGljb249XCJmaWx0ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2ZhLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBpZD1cInNlbGVjdC1tZW51XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnRcIj5cbiAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94IG1sLTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2hvd05vbkluY2x1ZGVkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlZnJlc2goKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+SW5jbHVkZSA8Y29kZT5pbnRlcm5hbDwvY29kZT4gZmllbGRzPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cbiAgICAgICAgICAgIDxwPlRvZ2dsZSBUZXJtIEZpZWxkczwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIHRlcm1GaWVsZHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94IG1sLTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwic2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGVybUZpZWxkU2VsZWN0ZWRbZmllbGRdXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVRlcm1GaWVsZChmaWVsZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7ZmllbGR9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHJhZy1jb250YWluZXJcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiICpuZ0Zvcj1cImxldCBncm91cCBvZiBoZWFkZXJzIHwga2V5c1wiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJjYXJkLWhlYWRlclwiICpuZ0lmPVwiZ3JvdXAua2V5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXItdGl0bGVcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiY2hlY2tib3ggbWwtMVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInNlbGVjdG9yXCJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImdyb3VwLnZhbHVlLnBhcnRpYWxTZWxlY3RlZFwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImdyb3VwLnZhbHVlLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlR3JvdXAoZ3JvdXAua2V5KTsgcmVmcmVzaCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3tncm91cC5rZXl9fTwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWhlYWRlci1pY29uIGhhcy10ZXh0LXNlY29uZGFyeVwiIGFyaWEtbGFiZWw9XCJvcGVuIC8gY2xvc2VcIlxuICAgICAgICAoY2xpY2spPVwiZ3JvdXAudmFsdWUub3BlbiA9ICFncm91cC52YWx1ZS5vcGVuXCIgcG9pbnRlclxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwiYW5nbGUtZG93blwiIFtjbGFzcy5pcy1oaWRkZW5dPVwiIWdyb3VwLnZhbHVlLm9wZW5cIj48L2ZhLWljb24+XG4gICAgICAgICAgPGZhLWljb24gaWNvbj1cImFuZ2xlLWxlZnRcIiBbY2xhc3MuaXMtaGlkZGVuXT1cImdyb3VwLnZhbHVlLm9wZW5cIj48L2ZhLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2hlYWRlcj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnQgcC0zXCIgW2NsYXNzLmlzLWhpZGRlbl09XCIhZ3JvdXAudmFsdWUub3BlblwiPlxuICAgICAgPHVsIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcEhlYWRlcigkZXZlbnQsIGdyb3VwLmtleSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGdyb3VwLnZhbHVlLmhlYWRlcnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyLmluY2x1ZGVkIHx8IHNob3dOb25JbmNsdWRlZFwiPlxuICAgICAgICAgICAgPGxpIGNka0RyYWc+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrYm94IG1sLTJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzZWxlY3RvclwiXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhlYWRlci5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUdyb3VwSGVhZGVyKGdyb3VwLmtleSk7IHJlZnJlc2goKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7aGVhZGVyLmhlYWRlcn19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgPGRpdiBjbGFzcz1cImhhcy10ZXh0LWNlbnRlciBweS0zXCI+XG4gICAgPGZhLWljb24gaWNvbj1cInNwaW5uZXJcIiBbcHVsc2VdPVwidHJ1ZVwiIHNpemU9XCJsZ1wiPjwvZmEtaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -47,13 +47,13 @@ export class NodeLogsFileComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
NodeLogsFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeLogsFileComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.HeNodeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
NodeLogsFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeLogsFileComponent, selector: "he-node-logs-file", inputs: { node: "node", dataState: "dataState" }, ngImport: i0, template: "<div class=\"is-relative\">\n <div class=\"copy-clipboard\">\n <div class=\"field has-addons\">\n <div class=\"control\">\n <he-clipboard clipboardClass=\"button is-
|
|
50
|
+
NodeLogsFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: NodeLogsFileComponent, selector: "he-node-logs-file", inputs: { node: "node", dataState: "dataState" }, ngImport: i0, template: "<div class=\"is-relative\">\n <div class=\"copy-clipboard\">\n <div class=\"field has-addons\">\n <div class=\"control\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\"\n [value]=\"nodeLog | async\" [hideText]=\"true\" [icon]=\"['far', 'clone']\" size=\"lg\" rotate=\"180\"\n ></he-clipboard>\n </div>\n <ng-container *ngIf=\"showFilters\">\n <div class=\"control\">\n <input class=\"input is-secondary is-small\"\n [(ngModel)]=\"modelFilter\" id=\"modelFilter\"\n (input)=\"applyFilters()\"\n placeholder=\"Filter by Method / Model\"\n >\n </div>\n <div class=\"control\">\n <input class=\"input is-secondary is-small\"\n [(ngModel)]=\"termFilter\" id=\"termFilter\"\n (input)=\"applyFilters()\"\n placeholder=\"Filter by Term\"\n >\n </div>\n <div class=\"control\">\n <div class=\"select is-secondary is-small\">\n <select (change)=\"applyFilters()\"\n [(ngModel)]=\"selectedLevel\" id=\"selectedLevel\"\n >\n <option *ngFor=\"let level of Level | keys\" [value]=\"level.value\">{{level.value}}</option>\n </select>\n </div>\n </div>\n </ng-container>\n <div class=\"control\">\n <button class=\"button is-small\" (click)=\"showFilters = !showFilters\"\n [ngbTooltip]=\"showFilters ? 'Hide filters' : 'Show filters'\" placement=\"bottom\" container=\"body\"\n >\n <fa-icon icon=\"filter\"></fa-icon>\n </button>\n </div>\n <div class=\"control\">\n <a class=\"button is-info is-small\" target=\"_blank\"\n [href]=\"csvContent\"\n [download]=\"fileToExt(node!['@id'], 'csv')\"\n >\n <fa-icon class=\"mr-2\" icon=\"download\"></fa-icon>\n </a>\n </div>\n </div>\n </div>\n\n <pre class=\"pl-3 pt-3 ml-3\"><code class=\"is-block {{line.class}}\" *ngFor=\"let line of nodeLogLines\">{{line.data.timestamp}} {{('[' + line.data.level + ']:').padEnd(9, ' ')}} {{line.data.message}}</code></pre>\n</div>\n", styles: [":host{display:block}pre{background-color:inherit;color:inherit;min-height:38px;max-height:500px}\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: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i7.ClipboardComponent, selector: "he-clipboard", inputs: ["value", "disabled", "hideText", "icon", "size", "rotate", "clipboardClass"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.KeysPipe, name: "keys" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: NodeLogsFileComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'he-node-logs-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"is-relative\">\n <div class=\"copy-clipboard\">\n <div class=\"field has-addons\">\n <div class=\"control\">\n <he-clipboard clipboardClass=\"button is-
|
|
53
|
+
args: [{ selector: 'he-node-logs-file', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"is-relative\">\n <div class=\"copy-clipboard\">\n <div class=\"field has-addons\">\n <div class=\"control\">\n <he-clipboard clipboardClass=\"button is-secondary is-small\"\n [value]=\"nodeLog | async\" [hideText]=\"true\" [icon]=\"['far', 'clone']\" size=\"lg\" rotate=\"180\"\n ></he-clipboard>\n </div>\n <ng-container *ngIf=\"showFilters\">\n <div class=\"control\">\n <input class=\"input is-secondary is-small\"\n [(ngModel)]=\"modelFilter\" id=\"modelFilter\"\n (input)=\"applyFilters()\"\n placeholder=\"Filter by Method / Model\"\n >\n </div>\n <div class=\"control\">\n <input class=\"input is-secondary is-small\"\n [(ngModel)]=\"termFilter\" id=\"termFilter\"\n (input)=\"applyFilters()\"\n placeholder=\"Filter by Term\"\n >\n </div>\n <div class=\"control\">\n <div class=\"select is-secondary is-small\">\n <select (change)=\"applyFilters()\"\n [(ngModel)]=\"selectedLevel\" id=\"selectedLevel\"\n >\n <option *ngFor=\"let level of Level | keys\" [value]=\"level.value\">{{level.value}}</option>\n </select>\n </div>\n </div>\n </ng-container>\n <div class=\"control\">\n <button class=\"button is-small\" (click)=\"showFilters = !showFilters\"\n [ngbTooltip]=\"showFilters ? 'Hide filters' : 'Show filters'\" placement=\"bottom\" container=\"body\"\n >\n <fa-icon icon=\"filter\"></fa-icon>\n </button>\n </div>\n <div class=\"control\">\n <a class=\"button is-info is-small\" target=\"_blank\"\n [href]=\"csvContent\"\n [download]=\"fileToExt(node!['@id'], 'csv')\"\n >\n <fa-icon class=\"mr-2\" icon=\"download\"></fa-icon>\n </a>\n </div>\n </div>\n </div>\n\n <pre class=\"pl-3 pt-3 ml-3\"><code class=\"is-block {{line.class}}\" *ngFor=\"let line of nodeLogLines\">{{line.data.timestamp}} {{('[' + line.data.level + ']:').padEnd(9, ' ')}} {{line.data.message}}</code></pre>\n</div>\n", styles: [":host{display:block}pre{background-color:inherit;color:inherit;min-height:38px;max-height:500px}\n"] }]
|
|
54
54
|
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i2.HeNodeService }]; }, propDecorators: { node: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], dataState: [{
|
|
57
57
|
type: Input
|
|
58
58
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1sb2dzLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1sb2dzLWZpbGUvbm9kZS1sb2dzLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1sb2dzLWZpbGUvbm9kZS1sb2dzLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJekQsT0FBTyxFQUFTLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7O0FBUWxGLE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsWUFBMEIsRUFDMUIsV0FBMEI7UUFEMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWU7UUFwQjVCLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFPdkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsaUJBQVksR0FBWSxFQUFFLENBQUM7UUFFM0IsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUt6QixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLEdBQUcsSUFBSSxDQUFDLElBQUk7WUFDWixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUNqQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLHFCQUFxQixDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0I7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUNoRSxnQ0FBZ0Msa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FDaEYsQ0FBQztJQUNKLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDN0IsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNsRixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDakcsQ0FBQztJQUNOLENBQUM7O2tIQXREVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyR0NoQmxDLHVwRUFxREE7MkZEckNhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTsrSEFNeEMsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFNBQVM7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0YVN0YXRlLCBmaWxlVG9FeHQgfSBmcm9tICdAaGVzdGlhLWVhcnRoL2FwaSc7XG5pbXBvcnQgeyBKU09OTEQsIE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuXG5pbXBvcnQgeyBIZU5vZGVTZXJ2aWNlIH0gZnJvbSAnLi4vbm9kZS5zZXJ2aWNlJztcbmltcG9ydCB7IElMaW5lLCBMZXZlbCwgbGV2ZWxzLCBwYXJzZUxpbmVzLCB0b0NzdiB9IGZyb20gJy4uLy4uL2NvbW1vbi9sb2dzLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtbm9kZS1sb2dzLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS1sb2dzLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub2RlLWxvZ3MtZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlTG9nc0ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGFsbExvZ3M6IElMaW5lW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbm9kZT86IEpTT05MRDxOb2RlVHlwZT47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhU3RhdGU/OiBEYXRhU3RhdGU7XG5cbiAgcHVibGljIHNob3dGaWx0ZXJzID0gZmFsc2U7XG4gIHB1YmxpYyBMZXZlbCA9IExldmVsO1xuICBwdWJsaWMgbW9kZWxGaWx0ZXIgPSAnJztcbiAgcHVibGljIHRlcm1GaWx0ZXIgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkTGV2ZWwgPSBMZXZlbC5pbmZvO1xuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICBwdWJsaWMgbm9kZUxvZz86IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIG5vZGVMb2dMaW5lczogSUxpbmVbXSA9IFtdO1xuICBwdWJsaWMgY3N2Q29udGVudD86IFNhZmVSZXNvdXJjZVVybDtcbiAgcHVibGljIGZpbGVUb0V4dCA9IGZpbGVUb0V4dDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgbm9kZVNlcnZpY2U6IEhlTm9kZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5vZGVMb2cgPSBvZih7XG4gICAgICAuLi50aGlzLm5vZGUsXG4gICAgICBkYXRhU3RhdGU6IHRoaXMuZGF0YVN0YXRlXG4gICAgfSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmxvYWRpbmcgPSB0cnVlKSxcbiAgICAgIG1lcmdlTWFwKG5vZGUgPT4gdGhpcy5ub2RlU2VydmljZS5nZXRMb2cobm9kZSkpLFxuICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8ICdObyBsb2dzLicpLFxuICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5hbGxMb2dzID0gcGFyc2VMaW5lcyh2YWx1ZSkuZmlsdGVyKCh7IGRhdGEgfSkgPT4gZGF0YS5sb2dnZXIgPT09ICdoZXN0aWFfZWFydGgubW9kZWxzJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQ3N2Q29udGVudCgpO1xuICAgICAgICB0aGlzLmFwcGx5RmlsdGVycygpO1xuICAgICAgfSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ3N2Q29udGVudCgpIHtcbiAgICB0aGlzLmNzdkNvbnRlbnQgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXG4gICAgICBgZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCwke2VuY29kZVVSSUNvbXBvbmVudChhd2FpdCB0b0Nzdih0aGlzLmFsbExvZ3MpKX1gXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZpbHRlcnMoKSB7XG4gICAgdGhpcy5ub2RlTG9nTGluZXMgPSB0aGlzLmFsbExvZ3NcbiAgICAgIC5maWx0ZXIoKHsgbGV2ZWwgfSkgPT4gbGV2ZWxzLmluZGV4T2YobGV2ZWwpID49IGxldmVscy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRMZXZlbCkpXG4gICAgICAuZmlsdGVyKCh7IGNvZGUgfSkgPT5cbiAgICAgICAgKCF0aGlzLm1vZGVsRmlsdGVyIHx8IGNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhgbW9kZWw9JHt0aGlzLm1vZGVsRmlsdGVyLnRvTG93ZXJDYXNlKCl9YCkpICYmXG4gICAgICAgICghdGhpcy50ZXJtRmlsdGVyIHx8IGNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhgdGVybT0ke3RoaXMudGVybUZpbHRlci50b0xvd2VyQ2FzZSgpfWApKVxuICAgICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlzLXJlbGF0aXZlXCI+XG4gIDxkaXYgY2xhc3M9XCJjb3B5LWNsaXBib2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBoYXMtYWRkb25zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbFwiPlxuICAgICAgICA8aGUtY2xpcGJvYXJkIGNsaXBib2FyZENsYXNzPVwiYnV0dG9uIGlzLXNlY29uZGFyeSBpcy1zbWFsbFwiXG4gICAgICAgICAgW3ZhbHVlXT1cIm5vZGVMb2cgfCBhc3luY1wiIFtoaWRlVGV4dF09XCJ0cnVlXCIgW2ljb25dPVwiWydmYXInLCAnY2xvbmUnXVwiIHNpemU9XCJsZ1wiIHJvdGF0ZT1cIjE4MFwiXG4gICAgICAgID48L2hlLWNsaXBib2FyZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9sXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXQgaXMtc2Vjb25kYXJ5IGlzLXNtYWxsXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibW9kZWxGaWx0ZXJcIiBpZD1cIm1vZGVsRmlsdGVyXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSBNZXRob2QgLyBNb2RlbFwiXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2xcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dCBpcy1zZWNvbmRhcnkgaXMtc21hbGxcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0ZXJtRmlsdGVyXCIgaWQ9XCJ0ZXJtRmlsdGVyXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJhcHBseUZpbHRlcnMoKVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRlciBieSBUZXJtXCJcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QgaXMtc2Vjb25kYXJ5IGlzLXNtYWxsXCI+XG4gICAgICAgICAgICA8c2VsZWN0IChjaGFuZ2UpPVwiYXBwbHlGaWx0ZXJzKClcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTGV2ZWxcIiBpZD1cInNlbGVjdGVkTGV2ZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBsZXZlbCBvZiBMZXZlbCB8IGtleXNcIiBbdmFsdWVdPVwibGV2ZWwudmFsdWVcIj57e2xldmVsLnZhbHVlfX08L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2xcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1zbWFsbFwiIChjbGljayk9XCJzaG93RmlsdGVycyA9ICFzaG93RmlsdGVyc1wiXG4gICAgICAgICAgW25nYlRvb2x0aXBdPVwic2hvd0ZpbHRlcnMgPyAnSGlkZSBmaWx0ZXJzJyA6ICdTaG93IGZpbHRlcnMnXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwiZmlsdGVyXCI+PC9mYS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRyb2xcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJidXR0b24gaXMtaW5mbyBpcy1zbWFsbFwiIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgW2hyZWZdPVwiY3N2Q29udGVudFwiXG4gICAgICAgICAgW2Rvd25sb2FkXT1cImZpbGVUb0V4dChub2RlIVsnQGlkJ10sICdjc3YnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cIm1yLTJcIiBpY29uPVwiZG93bmxvYWRcIj48L2ZhLWljb24+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8cHJlIGNsYXNzPVwicGwtMyBwdC0zIG1sLTNcIj48Y29kZSBjbGFzcz1cImlzLWJsb2NrIHt7bGluZS5jbGFzc319XCIgKm5nRm9yPVwibGV0IGxpbmUgb2Ygbm9kZUxvZ0xpbmVzXCI+e3tsaW5lLmRhdGEudGltZXN0YW1wfX0ge3soJ1snICsgbGluZS5kYXRhLmxldmVsICsgJ106JykucGFkRW5kKDksICcgJyl9fSB7e2xpbmUuZGF0YS5tZXNzYWdlfX08L2NvZGU+PC9wcmU+XG48L2Rpdj5cbiJdfQ==
|