@onecx/angular-accelerator 5.28.0 → 5.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/de.json +1 -0
- package/assets/i18n/en.json +1 -0
- package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +3 -3
- package/esm2022/lib/components/data-table/data-table.component.mjs +14 -13
- package/esm2022/lib/components/diagram/diagram.component.mjs +26 -3
- package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +24 -6
- package/esm2022/lib/components/page-header/page-header.component.mjs +4 -3
- package/esm2022/lib/model/diagram-data.mjs +1 -1
- package/fesm2022/onecx-angular-accelerator.mjs +69 -27
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
- package/lib/components/diagram/diagram.component.d.ts +8 -1
- package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +10 -1
- package/lib/components/page-header/page-header.component.d.ts +2 -0
- package/lib/model/diagram-data.d.ts +1 -0
- package/package.json +5 -5
|
@@ -54,6 +54,12 @@ export class DiagramComponent {
|
|
|
54
54
|
constructor(translateService) {
|
|
55
55
|
this.translateService = translateService;
|
|
56
56
|
this.sumKey = 'OCX_DIAGRAM.SUM';
|
|
57
|
+
/**
|
|
58
|
+
* This property determines if diagram should generate the colors for the data that does not have any set.
|
|
59
|
+
*
|
|
60
|
+
* Setting this property to false will result in using the provided colors only if every data item has one. In the scenario where at least one item does not have a color set, diagram will generate all colors.
|
|
61
|
+
*/
|
|
62
|
+
this.fillMissingColors = true;
|
|
57
63
|
this._diagramType = "PIE" /* DiagramType.PIE */;
|
|
58
64
|
this.chartType = 'pie';
|
|
59
65
|
this._supportedDiagramTypes = [];
|
|
@@ -80,7 +86,7 @@ export class DiagramComponent {
|
|
|
80
86
|
if (this.data) {
|
|
81
87
|
const inputData = this.data.map((diagramData) => diagramData.value);
|
|
82
88
|
this.amountOfData = this.data.reduce((acc, current) => acc + current.value, 0);
|
|
83
|
-
const COLORS =
|
|
89
|
+
const COLORS = this.generateColors(this.data, colorScale, colorRangeInfo);
|
|
84
90
|
this.chartData = {
|
|
85
91
|
labels: this.data.map((data) => data.label),
|
|
86
92
|
datasets: [
|
|
@@ -109,6 +115,21 @@ export class DiagramComponent {
|
|
|
109
115
|
}),
|
|
110
116
|
};
|
|
111
117
|
}
|
|
118
|
+
generateColors(data, colorScale, colorRangeInfo) {
|
|
119
|
+
const dataColors = data.map((diagramData) => diagramData.backgroundColor);
|
|
120
|
+
if (dataColors.filter((v) => v !== undefined).length === data.length) {
|
|
121
|
+
return dataColors;
|
|
122
|
+
}
|
|
123
|
+
else if (this.fillMissingColors) {
|
|
124
|
+
// it is intended to generate more colors than needed, so interval for generated colors is same as amount of items on the diagram
|
|
125
|
+
const interpolatedColors = interpolateColors(dataColors.length, colorScale, colorRangeInfo);
|
|
126
|
+
let interpolatedIndex = 0;
|
|
127
|
+
return dataColors.map((color) => (color === undefined ? interpolatedColors[interpolatedIndex++] : color));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
return interpolateColors(data.length, colorScale, colorRangeInfo);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
112
133
|
generateTotal(data) {
|
|
113
134
|
return data.reduce((acc, current) => acc + current.value, 0);
|
|
114
135
|
}
|
|
@@ -134,7 +155,7 @@ export class DiagramComponent {
|
|
|
134
155
|
});
|
|
135
156
|
}
|
|
136
157
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DiagramComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DiagramComponent, selector: "ocx-diagram", inputs: { data: "data", sumKey: "sumKey", diagramType: "diagramType", supportedDiagramTypes: "supportedDiagramTypes" }, outputs: { dataSelected: "dataSelected", diagramTypeChanged: "diagramTypeChanged", componentStateChanged: "componentStateChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"this.data\">\n <div class=\"flex justify-content-center pb-2\" *ngIf=\"shownDiagramTypes.length > 1\">\n <p-selectButton\n [options]=\"shownDiagramTypes\"\n [(ngModel)]=\"selectedDiagramType\"\n optionLabel=\"id\"\n (onChange)=\"onDiagramTypeChanged($event)\"\n name=\"diagram-type-select-button\"\n >\n <ng-template let-item pTemplate>\n <i\n [class]=\"item.icon\"\n [pTooltip]=\"item.tooltip || (item.tooltipKey | translate)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n ></i>\n <label style=\"display: none\" id=\"{{item.id}}\"> {{item.label ? item.label : item.labelKey | translate}} </label>\n </ng-template>\n </p-selectButton>\n </div>\n <div class=\"w-full flex justify-content-center\">\n <p-chart\n id=\"diagram\"\n [type]=\"chartType\"\n [data]=\"chartData\"\n [responsive]=\"false\"\n [options]=\"chartOptions\"\n (onDataSelect)=\"dataClicked($event)\"\n [ariaLabel]=\"(data ? 'OCX_DIAGRAM.ARIA_LABEL' : 'OCX_DIAGRAM.EMPTY_ARIA_LABEL') | translate: {total: generateTotal(data), valueString: generateDiagramValueString(data)}\"\n ></p-chart>\n </div>\n <div class=\"w-full flex justify-content-center mt-2 sumKey\">\n <p class=\"text-md font-medium text-700\">\n <span name=\"sumLabel\"> {{ sumKey | translate }}</span> : <span name=\"amountOfData\">{{ amountOfData}}</span>\n </p>\n </div>\n</ng-container>\n\n<div *ngIf=\"!this.data\" class=\"w-full flex justify-content-center\">\n <p-message severity=\"info\" text=\"{{ 'OCX_DIAGRAM.NO_DATA' | translate }}\"></p-message>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "component", type: i6.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }, { kind: "component", type: i7.UIMessage, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DiagramComponent, selector: "ocx-diagram", inputs: { data: "data", sumKey: "sumKey", fillMissingColors: "fillMissingColors", diagramType: "diagramType", supportedDiagramTypes: "supportedDiagramTypes" }, outputs: { dataSelected: "dataSelected", diagramTypeChanged: "diagramTypeChanged", componentStateChanged: "componentStateChanged" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"this.data\">\n <div class=\"flex justify-content-center pb-2\" *ngIf=\"shownDiagramTypes.length > 1\">\n <p-selectButton\n [options]=\"shownDiagramTypes\"\n [(ngModel)]=\"selectedDiagramType\"\n optionLabel=\"id\"\n (onChange)=\"onDiagramTypeChanged($event)\"\n name=\"diagram-type-select-button\"\n >\n <ng-template let-item pTemplate>\n <i\n [class]=\"item.icon\"\n [pTooltip]=\"item.tooltip || (item.tooltipKey | translate)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n ></i>\n <label style=\"display: none\" id=\"{{item.id}}\"> {{item.label ? item.label : item.labelKey | translate}} </label>\n </ng-template>\n </p-selectButton>\n </div>\n <div class=\"w-full flex justify-content-center\">\n <p-chart\n id=\"diagram\"\n [type]=\"chartType\"\n [data]=\"chartData\"\n [responsive]=\"false\"\n [options]=\"chartOptions\"\n (onDataSelect)=\"dataClicked($event)\"\n [ariaLabel]=\"(data ? 'OCX_DIAGRAM.ARIA_LABEL' : 'OCX_DIAGRAM.EMPTY_ARIA_LABEL') | translate: {total: generateTotal(data), valueString: generateDiagramValueString(data)}\"\n ></p-chart>\n </div>\n <div class=\"w-full flex justify-content-center mt-2 sumKey\">\n <p class=\"text-md font-medium text-700\">\n <span name=\"sumLabel\"> {{ sumKey | translate }}</span> : <span name=\"amountOfData\">{{ amountOfData}}</span>\n </p>\n </div>\n</ng-container>\n\n<div *ngIf=\"!this.data\" class=\"w-full flex justify-content-center\">\n <p-message severity=\"info\" text=\"{{ 'OCX_DIAGRAM.NO_DATA' | translate }}\"></p-message>\n</div>\n", styles: ["::ng-deep .p-buttonset .p-button{min-width:auto}::ng-deep .p-buttonset{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "component", type: i6.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }, { kind: "component", type: i7.UIMessage, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
138
159
|
}
|
|
139
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DiagramComponent, decorators: [{
|
|
140
161
|
type: Component,
|
|
@@ -143,6 +164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
143
164
|
type: Input
|
|
144
165
|
}], sumKey: [{
|
|
145
166
|
type: Input
|
|
167
|
+
}], fillMissingColors: [{
|
|
168
|
+
type: Input
|
|
146
169
|
}], diagramType: [{
|
|
147
170
|
type: Input
|
|
148
171
|
}], supportedDiagramTypes: [{
|
|
@@ -157,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
157
180
|
function interpolateColors(amountOfData, colorScale, colorRangeInfo) {
|
|
158
181
|
return ColorUtils.interpolateColors(amountOfData, colorScale, colorRangeInfo);
|
|
159
182
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW0vZGlhZ3JhbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW0vZGlhZ3JhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUV0RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7Ozs7Ozs7O0FBaUJuRCxNQUFNLGVBQWUsR0FBcUI7SUFDeEM7UUFDRSxFQUFFLEVBQUUsYUFBYTtRQUNqQixJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVM7UUFDMUIsTUFBTSw2QkFBaUI7UUFDdkIsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxRQUFRLEVBQUUscUNBQXFDO0tBQ2hEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0JBQXdCO1FBQzVCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtRQUNyQixNQUFNLG1EQUE0QjtRQUNsQyxVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFFBQVEsRUFBRSxnREFBZ0Q7S0FDM0Q7SUFDRDtRQUNFLEVBQUUsRUFBRSxzQkFBc0I7UUFDMUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLE1BQU0sK0NBQTBCO1FBQ2hDLFVBQVUs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LENBQUMsWUFBb0IsRUFBRSxVQUFlLEVBQUUsY0FBbUI7SUFDbkYsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcydcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzLXNjYWxlLWNocm9tYXRpYydcbmltcG9ydCB7IFByaW1lSWNvbnMgfSBmcm9tICdwcmltZW5nL2FwaSdcbmltcG9ydCB7IERpYWdyYW1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGlhZ3JhbS1kYXRhJ1xuaW1wb3J0IHsgRGlhZ3JhbVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFncmFtLXR5cGUnXG5pbXBvcnQgeyBDb2xvclV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3J1dGlscydcbmltcG9ydCB7IFByaW1lSWNvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3ByaW1laWNvbi51dGlscydcblxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtTGF5b3V0cyB7XG4gIGlkOiBzdHJpbmdcbiAgaWNvbjogUHJpbWVJY29uXG4gIGxheW91dDogRGlhZ3JhbVR5cGVcbiAgdG9vbHRpcD86IHN0cmluZ1xuICB0b29sdGlwS2V5OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbGFiZWxLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdyYW1Db21wb25lbnRTdGF0ZSB7XG4gIGFjdGl2ZURpYWdyYW1UeXBlPzogRGlhZ3JhbVR5cGVcbn1cblxuY29uc3QgYWxsRGlhZ3JhbVR5cGVzOiBEaWFncmFtTGF5b3V0c1tdID0gW1xuICB7XG4gICAgaWQ6ICdkaWFncmFtLXBpZScsXG4gICAgaWNvbjogUHJpbWVJY29ucy5DSEFSVF9QSUUsXG4gICAgbGF5b3V0OiBEaWFncmFtVHlwZS5QSUUsXG4gICAgdG9vbHRpcEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuUElFJyxcbiAgICBsYWJlbEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuUElFJyxcbiAgfSxcbiAge1xuICAgIGlkOiAnZGlhZ3JhbS1ob3Jpem9udGFsLWJhcicsXG4gICAgaWNvbjogUHJpbWVJY29ucy5CQVJTLFxuICAgIGxheW91dDogRGlhZ3JhbVR5cGUuSE9SSVpPTlRBTF9CQVIsXG4gICAgdG9vbHRpcEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuSE9SSVpPTlRBTF9CQVInLFxuICAgIGxhYmVsS2V5OiAnT0NYX0RJQUdSQU0uU1dJVENIX0RJQUdSQU1fVFlQRS5IT1JJWk9OVEFMX0JBUicsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2RpYWdyYW0tdmVydGljYWwtYmFyJyxcbiAgICBpY29uOiBQcmltZUljb25zLkNIQVJUX0JBUixcbiAgICBsYXlvdXQ6IERpYWdyYW1UeXBlLlZFUlRJQ0FMX0JBUixcbiAgICB0b29sdGlwS2V5OiAnT0NYX0RJQUdSQU0uU1dJVENIX0RJQUdSQU1fVFlQRS5WRVJUSUNBTF9CQVInLFxuICAgIGxhYmVsS2V5OiAnT0NYX0RJQUdSQU0uU1dJVENIX0RJQUdSQU1fVFlQRS5WRVJUSUNBTF9CQVInLFxuICB9LFxuXVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZGlhZ3JhbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFncmFtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhZ3JhbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFncmFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhOiBEaWFncmFtRGF0YVtdIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIHN1bUtleSA9ICdPQ1hfRElBR1JBTS5TVU0nXG4gIHByaXZhdGUgX2RpYWdyYW1UeXBlOiBEaWFncmFtVHlwZSA9IERpYWdyYW1UeXBlLlBJRVxuICBzZWxlY3RlZERpYWdyYW1UeXBlOiBEaWFncmFtTGF5b3V0cyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY2hhcnRUeXBlOiAnYmFyJyB8ICdsaW5lJyB8ICdzY2F0dGVyJyB8ICdidWJibGUnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ3BvbGFyQXJlYScgfCAncmFkYXInID0gJ3BpZSdcbiAgQElucHV0KClcbiAgZ2V0IGRpYWdyYW1UeXBlKCk6IERpYWdyYW1UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fZGlhZ3JhbVR5cGVcbiAgfVxuICBzZXQgZGlhZ3JhbVR5cGUodmFsdWU6IERpYWdyYW1UeXBlKSB7XG4gICAgdGhpcy5fZGlhZ3JhbVR5cGUgPSB2YWx1ZVxuICAgIHRoaXMuc2VsZWN0ZWREaWFncmFtVHlwZSA9IGFsbERpYWdyYW1UeXBlcy5maW5kKCh2KSA9PiB2LmxheW91dCA9PT0gdmFsdWUpXG4gICAgdGhpcy5jaGFydFR5cGUgPSB0aGlzLmRpYWdyYW1UeXBlVG9DaGFydFR5cGUodmFsdWUpXG4gIH1cbiAgcHJpdmF0ZSBfc3VwcG9ydGVkRGlhZ3JhbVR5cGVzOiBEaWFncmFtVHlwZVtdID0gW11cbiAgQElucHV0KClcbiAgZ2V0IHN1cHBvcnRlZERpYWdyYW1UeXBlcygpOiBEaWFncmFtVHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3VwcG9ydGVkRGlhZ3JhbVR5cGVzXG4gIH1cbiAgc2V0IHN1cHBvcnRlZERpYWdyYW1UeXBlcyh2YWx1ZTogRGlhZ3JhbVR5cGVbXSkge1xuICAgIHRoaXMuX3N1cHBvcnRlZERpYWdyYW1UeXBlcyA9IHZhbHVlXG4gICAgdGhpcy5zaG93bkRpYWdyYW1UeXBlcyA9IGFsbERpYWdyYW1UeXBlcy5maWx0ZXIoKHZsKSA9PiB0aGlzLnN1cHBvcnRlZERpYWdyYW1UeXBlcy5pbmNsdWRlcyh2bC5sYXlvdXQpKVxuICB9XG4gIEBPdXRwdXQoKSBkYXRhU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkaWFncmFtVHlwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxEaWFncmFtVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGNvbXBvbmVudFN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPERpYWdyYW1Db21wb25lbnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgY2hhcnRPcHRpb25zOiBDaGFydE9wdGlvbnMgfCB1bmRlZmluZWRcbiAgY2hhcnREYXRhOiBDaGFydERhdGEgfCB1bmRlZmluZWRcbiAgYW1vdW50T2ZEYXRhOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG4gIHNob3duRGlhZ3JhbVR5cGVzOiBEaWFncmFtTGF5b3V0c1tdID0gW11cbiAgLy8gQ2hhbmdpbmcgdGhlIGNvbG9yUmFuZ2VJbmZvLCB3aWxsIGNoYW5nZSB0aGUgcmFuZ2Ugb2YgdGhlIGNvbG9yIHBhbGV0dGUgb2YgdGhlIGRpYWdyYW0uXG4gIHByaXZhdGUgY29sb3JSYW5nZUluZm8gPSB7XG4gICAgY29sb3JTdGFydDogMCxcbiAgICBjb2xvckVuZDogMSxcbiAgICB1c2VFbmRBc1N0YXJ0OiBmYWxzZSxcbiAgfVxuICAvLyBDaGFuZ2luZyB0aGUgY29sb3JTY2FsZSwgd2lsbCBjaGFuZ2UgdGhlIHRoZW1hdGljIGNvbG9yIGFwcGVhcmFuY2Ugb2YgdGhlIGRpYWdyYW0uXG4gIHByaXZhdGUgY29sb3JTY2FsZSA9IGQzLmludGVycG9sYXRlQ29vbFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlQ2hhcnQodGhpcy5jb2xvclNjYWxlLCB0aGlzLmNvbG9yUmFuZ2VJbmZvKVxuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVDaGFydCh0aGlzLmNvbG9yU2NhbGUsIHRoaXMuY29sb3JSYW5nZUluZm8pXG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVDaGFydChjb2xvclNjYWxlOiBhbnksIGNvbG9yUmFuZ2VJbmZvOiBhbnkpIHtcbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICBjb25zdCBpbnB1dERhdGEgPSB0aGlzLmRhdGEubWFwKChkaWFncmFtRGF0YSkgPT4gZGlhZ3JhbURhdGEudmFsdWUpXG5cbiAgICAgIHRoaXMuYW1vdW50T2ZEYXRhID0gdGhpcy5kYXRhLnJlZHVjZSgoYWNjLCBjdXJyZW50KSA9PiBhY2MgKyBjdXJyZW50LnZhbHVlLCAwKVxuICAgICAgY29uc3QgQ09MT1JTID0gaW50ZXJwb2xhdGVDb2xvcnModGhpcy5kYXRhLmxlbmd0aCwgY29sb3JTY2FsZSwgY29sb3JSYW5nZUluZm8pXG4gICAgICB0aGlzLmNoYXJ0RGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiB0aGlzLmRhdGEubWFwKChkYXRhKSA9PiBkYXRhLmxhYmVsKSxcbiAgICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkYXRhOiBpbnB1dERhdGEsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENPTE9SUyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2hhcnRPcHRpb25zID0ge1xuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgICAuLi4odGhpcy5fZGlhZ3JhbVR5cGUgPT09IERpYWdyYW1UeXBlLlZFUlRJQ0FMX0JBUiAmJiB7XG4gICAgICAgIHBsdWdpbnM6IHsgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0gfSxcbiAgICAgICAgc2NhbGVzOiB7IHk6IHsgdGlja3M6IHsgcHJlY2lzaW9uOiAwIH0gfSB9LFxuICAgICAgfSksXG4gICAgICAuLi4odGhpcy5fZGlhZ3JhbVR5cGUgPT09IERpYWdyYW1UeXBlLkhPUklaT05UQUxfQkFSICYmIHtcbiAgICAgICAgaW5kZXhBeGlzOiAneScsXG4gICAgICAgIHBsdWdpbnM6IHsgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0gfSxcbiAgICAgICAgc2NhbGVzOiB7IHg6IHsgdGlja3M6IHsgcHJlY2lzaW9uOiAwIH0gfSB9LFxuICAgICAgfSksXG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVUb3RhbChkYXRhOiBEaWFncmFtRGF0YVtdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0YS5yZWR1Y2UoKGFjYywgY3VycmVudCkgPT4gYWNjICsgY3VycmVudC52YWx1ZSwgMClcbiAgfVxuXG4gIGdlbmVyYXRlRGlhZ3JhbVZhbHVlU3RyaW5nKGRhdGE6IERpYWdyYW1EYXRhW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSkgPT4gYCR7aXRlbS5sYWJlbH06JHtpdGVtLnZhbHVlfWApLmpvaW4oJywgJylcbiAgfVxuXG4gIHByaXZhdGUgZGlhZ3JhbVR5cGVUb0NoYXJ0VHlwZShcbiAgICB2YWx1ZTogRGlhZ3JhbVR5cGVcbiAgKTogJ2JhcicgfCAnbGluZScgfCAnc2NhdHRlcicgfCAnYnViYmxlJyB8ICdwaWUnIHwgJ2RvdWdobnV0JyB8ICdwb2xhckFyZWEnIHwgJ3JhZGFyJyB7XG4gICAgaWYgKHZhbHVlID09PSBEaWFncmFtVHlwZS5QSUUpIHJldHVybiAncGllJ1xuICAgIGVsc2UgaWYgKHZhbHVlID09PSBEaWFncmFtVHlwZS5IT1JJWk9OVEFMX0JBUiB8fCB2YWx1ZSA9PT0gRGlhZ3JhbVR5cGUuVkVSVElDQUxfQkFSKSByZXR1cm4gJ2JhcidcbiAgICByZXR1cm4gJ3BpZSdcbiAgfVxuXG4gIGRhdGFDbGlja2VkKGV2ZW50OiBbXSkge1xuICAgIHRoaXMuZGF0YVNlbGVjdGVkLmVtaXQoZXZlbnQubGVuZ3RoKVxuICB9XG5cbiAgb25EaWFncmFtVHlwZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlhZ3JhbVR5cGUgPSBldmVudC52YWx1ZS5sYXlvdXRcbiAgICB0aGlzLmdlbmVyYXRlQ2hhcnQodGhpcy5jb2xvclNjYWxlLCB0aGlzLmNvbG9yUmFuZ2VJbmZvKVxuICAgIHRoaXMuZGlhZ3JhbVR5cGVDaGFuZ2VkLmVtaXQoZXZlbnQudmFsdWUubGF5b3V0KVxuICAgIHRoaXMuY29tcG9uZW50U3RhdGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgYWN0aXZlRGlhZ3JhbVR5cGU6IGV2ZW50LnZhbHVlLmxheW91dCxcbiAgICB9KVxuICB9XG59XG5mdW5jdGlvbiBpbnRlcnBvbGF0ZUNvbG9ycyhhbW91bnRPZkRhdGE6IG51bWJlciwgY29sb3JTY2FsZTogYW55LCBjb2xvclJhbmdlSW5mbzogYW55KSB7XG4gIHJldHVybiBDb2xvclV0aWxzLmludGVycG9sYXRlQ29sb3JzKGFtb3VudE9mRGF0YSwgY29sb3JTY2FsZSwgY29sb3JSYW5nZUluZm8pXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5kYXRhXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgcGItMlwiICpuZ0lmPVwic2hvd25EaWFncmFtVHlwZXMubGVuZ3RoID4gMVwiPlxuICAgIDxwLXNlbGVjdEJ1dHRvblxuICAgICAgW29wdGlvbnNdPVwic2hvd25EaWFncmFtVHlwZXNcIlxuICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERpYWdyYW1UeXBlXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwiaWRcIlxuICAgICAgKG9uQ2hhbmdlKT1cIm9uRGlhZ3JhbVR5cGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgbmFtZT1cImRpYWdyYW0tdHlwZS1zZWxlY3QtYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxuICAgICAgICA8aVxuICAgICAgICAgIFtjbGFzc109XCJpdGVtLmljb25cIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJpdGVtLnRvb2x0aXAgfHwgKGl0ZW0udG9vbHRpcEtleSB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgdG9vbHRpcEV2ZW50PVwiaG92ZXJcIlxuICAgICAgICA+PC9pPlxuICAgICAgICA8bGFiZWwgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgaWQ9XCJ7e2l0ZW0uaWR9fVwiPiB7e2l0ZW0ubGFiZWwgPyBpdGVtLmxhYmVsIDogaXRlbS5sYWJlbEtleSB8IHRyYW5zbGF0ZX19IDwvbGFiZWw+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC1zZWxlY3RCdXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgIDxwLWNoYXJ0XG4gICAgICBpZD1cImRpYWdyYW1cIlxuICAgICAgW3R5cGVdPVwiY2hhcnRUeXBlXCJcbiAgICAgIFtkYXRhXT1cImNoYXJ0RGF0YVwiXG4gICAgICBbcmVzcG9uc2l2ZV09XCJmYWxzZVwiXG4gICAgICBbb3B0aW9uc109XCJjaGFydE9wdGlvbnNcIlxuICAgICAgKG9uRGF0YVNlbGVjdCk9XCJkYXRhQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgIFthcmlhTGFiZWxdPVwiKGRhdGEgPyAnT0NYX0RJQUdSQU0uQVJJQV9MQUJFTCcgOiAnT0NYX0RJQUdSQU0uRU1QVFlfQVJJQV9MQUJFTCcpIHwgdHJhbnNsYXRlOiB7dG90YWw6IGdlbmVyYXRlVG90YWwoZGF0YSksIHZhbHVlU3RyaW5nOiBnZW5lcmF0ZURpYWdyYW1WYWx1ZVN0cmluZyhkYXRhKX1cIlxuICAgID48L3AtY2hhcnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtdC0yIHN1bUtleVwiPlxuICAgIDxwIGNsYXNzPVwidGV4dC1tZCBmb250LW1lZGl1bSB0ZXh0LTcwMFwiPlxuICAgICAgPHNwYW4gbmFtZT1cInN1bUxhYmVsXCI+IHt7IHN1bUtleSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj4gOiA8c3BhbiBuYW1lPVwiYW1vdW50T2ZEYXRhXCI+e3sgYW1vdW50T2ZEYXRhfX08L3NwYW4+XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2ICpuZ0lmPVwiIXRoaXMuZGF0YVwiIGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICA8cC1tZXNzYWdlIHNldmVyaXR5PVwiaW5mb1wiIHRleHQ9XCJ7eyAnT0NYX0RJQUdSQU0uTk9fREFUQScgfCB0cmFuc2xhdGUgfX1cIj48L3AtbWVzc2FnZT5cbjwvZGl2PlxuIl19
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW0vZGlhZ3JhbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RpYWdyYW0vZGlhZ3JhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUV0RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFBOzs7Ozs7Ozs7O0FBaUJuRCxNQUFNLGVBQWUsR0FBcUI7SUFDeEM7UUFDRSxFQUFFLEVBQUUsYUFBYTtRQUNqQixJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVM7UUFDMUIsTUFBTSw2QkFBaUI7UUFDdkIsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxRQUFRLEVBQUUscUNBQXFDO0tBQ2hEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsd0JBQXdCO1FBQzVCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtRQUNyQixNQUFNLG1EQUE0QjtRQUNsQyxVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFFBQVEsRUFBRSxnREFBZ0Q7S0FDM0Q7SUFDRDtRQUNFLEVBQUUsRUFBRSxzQkFBc0I7UUFDMUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLE1BQU0sK0NBQTBCO1FBQ2hDLFVBQVUs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IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IENoYXJ0RGF0YSwgQ2hhcnRPcHRpb25zIH0gZnJvbSAnY2hhcnQuanMnXG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMy1zY2FsZS1jaHJvbWF0aWMnXG5pbXBvcnQgeyBQcmltZUljb25zIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBEaWFncmFtRGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL2RpYWdyYW0tZGF0YSdcbmltcG9ydCB7IERpYWdyYW1UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGlhZ3JhbS10eXBlJ1xuaW1wb3J0IHsgQ29sb3JVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ydXRpbHMnXG5pbXBvcnQgeyBQcmltZUljb24gfSBmcm9tICcuLi8uLi91dGlscy9wcmltZWljb24udXRpbHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhZ3JhbUxheW91dHMge1xuICBpZDogc3RyaW5nXG4gIGljb246IFByaW1lSWNvblxuICBsYXlvdXQ6IERpYWdyYW1UeXBlXG4gIHRvb2x0aXA/OiBzdHJpbmdcbiAgdG9vbHRpcEtleTogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxhYmVsS2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtQ29tcG9uZW50U3RhdGUge1xuICBhY3RpdmVEaWFncmFtVHlwZT86IERpYWdyYW1UeXBlXG59XG5cbmNvbnN0IGFsbERpYWdyYW1UeXBlczogRGlhZ3JhbUxheW91dHNbXSA9IFtcbiAge1xuICAgIGlkOiAnZGlhZ3JhbS1waWUnLFxuICAgIGljb246IFByaW1lSWNvbnMuQ0hBUlRfUElFLFxuICAgIGxheW91dDogRGlhZ3JhbVR5cGUuUElFLFxuICAgIHRvb2x0aXBLZXk6ICdPQ1hfRElBR1JBTS5TV0lUQ0hfRElBR1JBTV9UWVBFLlBJRScsXG4gICAgbGFiZWxLZXk6ICdPQ1hfRElBR1JBTS5TV0lUQ0hfRElBR1JBTV9UWVBFLlBJRScsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2RpYWdyYW0taG9yaXpvbnRhbC1iYXInLFxuICAgIGljb246IFByaW1lSWNvbnMuQkFSUyxcbiAgICBsYXlvdXQ6IERpYWdyYW1UeXBlLkhPUklaT05UQUxfQkFSLFxuICAgIHRvb2x0aXBLZXk6ICdPQ1hfRElBR1JBTS5TV0lUQ0hfRElBR1JBTV9UWVBFLkhPUklaT05UQUxfQkFSJyxcbiAgICBsYWJlbEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuSE9SSVpPTlRBTF9CQVInLFxuICB9LFxuICB7XG4gICAgaWQ6ICdkaWFncmFtLXZlcnRpY2FsLWJhcicsXG4gICAgaWNvbjogUHJpbWVJY29ucy5DSEFSVF9CQVIsXG4gICAgbGF5b3V0OiBEaWFncmFtVHlwZS5WRVJUSUNBTF9CQVIsXG4gICAgdG9vbHRpcEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuVkVSVElDQUxfQkFSJyxcbiAgICBsYWJlbEtleTogJ09DWF9ESUFHUkFNLlNXSVRDSF9ESUFHUkFNX1RZUEUuVkVSVElDQUxfQkFSJyxcbiAgfSxcbl1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2N4LWRpYWdyYW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhZ3JhbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWdyYW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhZ3JhbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogRGlhZ3JhbURhdGFbXSB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSBzdW1LZXkgPSAnT0NYX0RJQUdSQU0uU1VNJ1xuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBkZXRlcm1pbmVzIGlmIGRpYWdyYW0gc2hvdWxkIGdlbmVyYXRlIHRoZSBjb2xvcnMgZm9yIHRoZSBkYXRhIHRoYXQgZG9lcyBub3QgaGF2ZSBhbnkgc2V0LlxuICAgKlxuICAgKiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgdG8gZmFsc2Ugd2lsbCByZXN1bHQgaW4gdXNpbmcgdGhlIHByb3ZpZGVkIGNvbG9ycyBvbmx5IGlmIGV2ZXJ5IGRhdGEgaXRlbSBoYXMgb25lLiBJbiB0aGUgc2NlbmFyaW8gd2hlcmUgYXQgbGVhc3Qgb25lIGl0ZW0gZG9lcyBub3QgaGF2ZSBhIGNvbG9yIHNldCwgZGlhZ3JhbSB3aWxsIGdlbmVyYXRlIGFsbCBjb2xvcnMuXG4gICAqL1xuICBASW5wdXQoKSBmaWxsTWlzc2luZ0NvbG9ycyA9IHRydWVcbiAgcHJpdmF0ZSBfZGlhZ3JhbVR5cGU6IERpYWdyYW1UeXBlID0gRGlhZ3JhbVR5cGUuUElFXG4gIHNlbGVjdGVkRGlhZ3JhbVR5cGU6IERpYWdyYW1MYXlvdXRzIHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjaGFydFR5cGU6ICdiYXInIHwgJ2xpbmUnIHwgJ3NjYXR0ZXInIHwgJ2J1YmJsZScgfCAncGllJyB8ICdkb3VnaG51dCcgfCAncG9sYXJBcmVhJyB8ICdyYWRhcicgPSAncGllJ1xuICBASW5wdXQoKVxuICBnZXQgZGlhZ3JhbVR5cGUoKTogRGlhZ3JhbVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9kaWFncmFtVHlwZVxuICB9XG4gIHNldCBkaWFncmFtVHlwZSh2YWx1ZTogRGlhZ3JhbVR5cGUpIHtcbiAgICB0aGlzLl9kaWFncmFtVHlwZSA9IHZhbHVlXG4gICAgdGhpcy5zZWxlY3RlZERpYWdyYW1UeXBlID0gYWxsRGlhZ3JhbVR5cGVzLmZpbmQoKHYpID0+IHYubGF5b3V0ID09PSB2YWx1ZSlcbiAgICB0aGlzLmNoYXJ0VHlwZSA9IHRoaXMuZGlhZ3JhbVR5cGVUb0NoYXJ0VHlwZSh2YWx1ZSlcbiAgfVxuICBwcml2YXRlIF9zdXBwb3J0ZWREaWFncmFtVHlwZXM6IERpYWdyYW1UeXBlW10gPSBbXVxuICBASW5wdXQoKVxuICBnZXQgc3VwcG9ydGVkRGlhZ3JhbVR5cGVzKCk6IERpYWdyYW1UeXBlW10ge1xuICAgIHJldHVybiB0aGlzLl9zdXBwb3J0ZWREaWFncmFtVHlwZXNcbiAgfVxuICBzZXQgc3VwcG9ydGVkRGlhZ3JhbVR5cGVzKHZhbHVlOiBEaWFncmFtVHlwZVtdKSB7XG4gICAgdGhpcy5fc3VwcG9ydGVkRGlhZ3JhbVR5cGVzID0gdmFsdWVcbiAgICB0aGlzLnNob3duRGlhZ3JhbVR5cGVzID0gYWxsRGlhZ3JhbVR5cGVzLmZpbHRlcigodmwpID0+IHRoaXMuc3VwcG9ydGVkRGlhZ3JhbVR5cGVzLmluY2x1ZGVzKHZsLmxheW91dCkpXG4gIH1cbiAgQE91dHB1dCgpIGRhdGFTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGRpYWdyYW1UeXBlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPERpYWdyYW1UeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGlhZ3JhbUNvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBjaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9ucyB8IHVuZGVmaW5lZFxuICBjaGFydERhdGE6IENoYXJ0RGF0YSB8IHVuZGVmaW5lZFxuICBhbW91bnRPZkRhdGE6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGxcbiAgc2hvd25EaWFncmFtVHlwZXM6IERpYWdyYW1MYXlvdXRzW10gPSBbXVxuICAvLyBDaGFuZ2luZyB0aGUgY29sb3JSYW5nZUluZm8sIHdpbGwgY2hhbmdlIHRoZSByYW5nZSBvZiB0aGUgY29sb3IgcGFsZXR0ZSBvZiB0aGUgZGlhZ3JhbS5cbiAgcHJpdmF0ZSBjb2xvclJhbmdlSW5mbyA9IHtcbiAgICBjb2xvclN0YXJ0OiAwLFxuICAgIGNvbG9yRW5kOiAxLFxuICAgIHVzZUVuZEFzU3RhcnQ6IGZhbHNlLFxuICB9XG4gIC8vIENoYW5naW5nIHRoZSBjb2xvclNjYWxlLCB3aWxsIGNoYW5nZSB0aGUgdGhlbWF0aWMgY29sb3IgYXBwZWFyYW5jZSBvZiB0aGUgZGlhZ3JhbS5cbiAgcHJpdmF0ZSBjb2xvclNjYWxlID0gZDMuaW50ZXJwb2xhdGVDb29sXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2VuZXJhdGVDaGFydCh0aGlzLmNvbG9yU2NhbGUsIHRoaXMuY29sb3JSYW5nZUluZm8pXG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZW5lcmF0ZUNoYXJ0KHRoaXMuY29sb3JTY2FsZSwgdGhpcy5jb2xvclJhbmdlSW5mbylcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUNoYXJ0KGNvbG9yU2NhbGU6IGFueSwgY29sb3JSYW5nZUluZm86IGFueSkge1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGNvbnN0IGlucHV0RGF0YSA9IHRoaXMuZGF0YS5tYXAoKGRpYWdyYW1EYXRhKSA9PiBkaWFncmFtRGF0YS52YWx1ZSlcblxuICAgICAgdGhpcy5hbW91bnRPZkRhdGEgPSB0aGlzLmRhdGEucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+IGFjYyArIGN1cnJlbnQudmFsdWUsIDApXG4gICAgICBjb25zdCBDT0xPUlMgPSB0aGlzLmdlbmVyYXRlQ29sb3JzKHRoaXMuZGF0YSwgY29sb3JTY2FsZSwgY29sb3JSYW5nZUluZm8pXG4gICAgICB0aGlzLmNoYXJ0RGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiB0aGlzLmRhdGEubWFwKChkYXRhKSA9PiBkYXRhLmxhYmVsKSxcbiAgICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkYXRhOiBpbnB1dERhdGEsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IENPTE9SUyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2hhcnRPcHRpb25zID0ge1xuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgICAuLi4odGhpcy5fZGlhZ3JhbVR5cGUgPT09IERpYWdyYW1UeXBlLlZFUlRJQ0FMX0JBUiAmJiB7XG4gICAgICAgIHBsdWdpbnM6IHsgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0gfSxcbiAgICAgICAgc2NhbGVzOiB7IHk6IHsgdGlja3M6IHsgcHJlY2lzaW9uOiAwIH0gfSB9LFxuICAgICAgfSksXG4gICAgICAuLi4odGhpcy5fZGlhZ3JhbVR5cGUgPT09IERpYWdyYW1UeXBlLkhPUklaT05UQUxfQkFSICYmIHtcbiAgICAgICAgaW5kZXhBeGlzOiAneScsXG4gICAgICAgIHBsdWdpbnM6IHsgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0gfSxcbiAgICAgICAgc2NhbGVzOiB7IHg6IHsgdGlja3M6IHsgcHJlY2lzaW9uOiAwIH0gfSB9LFxuICAgICAgfSksXG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVDb2xvcnMoZGF0YTogRGlhZ3JhbURhdGFbXSwgY29sb3JTY2FsZTogYW55LCBjb2xvclJhbmdlSW5mbzogYW55KSB7XG4gICAgY29uc3QgZGF0YUNvbG9ycyA9IGRhdGEubWFwKChkaWFncmFtRGF0YSkgPT4gZGlhZ3JhbURhdGEuYmFja2dyb3VuZENvbG9yKVxuICAgIGlmIChkYXRhQ29sb3JzLmZpbHRlcigodikgPT4gdiAhPT0gdW5kZWZpbmVkKS5sZW5ndGggPT09IGRhdGEubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZGF0YUNvbG9yc1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWxsTWlzc2luZ0NvbG9ycykge1xuICAgICAgLy8gaXQgaXMgaW50ZW5kZWQgdG8gZ2VuZXJhdGUgbW9yZSBjb2xvcnMgdGhhbiBuZWVkZWQsIHNvIGludGVydmFsIGZvciBnZW5lcmF0ZWQgY29sb3JzIGlzIHNhbWUgYXMgYW1vdW50IG9mIGl0ZW1zIG9uIHRoZSBkaWFncmFtXG4gICAgICBjb25zdCBpbnRlcnBvbGF0ZWRDb2xvcnMgPSBpbnRlcnBvbGF0ZUNvbG9ycyhkYXRhQ29sb3JzLmxlbmd0aCwgY29sb3JTY2FsZSwgY29sb3JSYW5nZUluZm8pXG4gICAgICBsZXQgaW50ZXJwb2xhdGVkSW5kZXggPSAwXG4gICAgICByZXR1cm4gZGF0YUNvbG9ycy5tYXAoKGNvbG9yKSA9PiAoY29sb3IgPT09IHVuZGVmaW5lZCA/IGludGVycG9sYXRlZENvbG9yc1tpbnRlcnBvbGF0ZWRJbmRleCsrXSA6IGNvbG9yKSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGludGVycG9sYXRlQ29sb3JzKGRhdGEubGVuZ3RoLCBjb2xvclNjYWxlLCBjb2xvclJhbmdlSW5mbylcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZVRvdGFsKGRhdGE6IERpYWdyYW1EYXRhW10pOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRhLnJlZHVjZSgoYWNjLCBjdXJyZW50KSA9PiBhY2MgKyBjdXJyZW50LnZhbHVlLCAwKVxuICB9XG5cbiAgZ2VuZXJhdGVEaWFncmFtVmFsdWVTdHJpbmcoZGF0YTogRGlhZ3JhbURhdGFbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiBgJHtpdGVtLmxhYmVsfToke2l0ZW0udmFsdWV9YCkuam9pbignLCAnKVxuICB9XG5cbiAgcHJpdmF0ZSBkaWFncmFtVHlwZVRvQ2hhcnRUeXBlKFxuICAgIHZhbHVlOiBEaWFncmFtVHlwZVxuICApOiAnYmFyJyB8ICdsaW5lJyB8ICdzY2F0dGVyJyB8ICdidWJibGUnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ3BvbGFyQXJlYScgfCAncmFkYXInIHtcbiAgICBpZiAodmFsdWUgPT09IERpYWdyYW1UeXBlLlBJRSkgcmV0dXJuICdwaWUnXG4gICAgZWxzZSBpZiAodmFsdWUgPT09IERpYWdyYW1UeXBlLkhPUklaT05UQUxfQkFSIHx8IHZhbHVlID09PSBEaWFncmFtVHlwZS5WRVJUSUNBTF9CQVIpIHJldHVybiAnYmFyJ1xuICAgIHJldHVybiAncGllJ1xuICB9XG5cbiAgZGF0YUNsaWNrZWQoZXZlbnQ6IFtdKSB7XG4gICAgdGhpcy5kYXRhU2VsZWN0ZWQuZW1pdChldmVudC5sZW5ndGgpXG4gIH1cblxuICBvbkRpYWdyYW1UeXBlQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5kaWFncmFtVHlwZSA9IGV2ZW50LnZhbHVlLmxheW91dFxuICAgIHRoaXMuZ2VuZXJhdGVDaGFydCh0aGlzLmNvbG9yU2NhbGUsIHRoaXMuY29sb3JSYW5nZUluZm8pXG4gICAgdGhpcy5kaWFncmFtVHlwZUNoYW5nZWQuZW1pdChldmVudC52YWx1ZS5sYXlvdXQpXG4gICAgdGhpcy5jb21wb25lbnRTdGF0ZUNoYW5nZWQuZW1pdCh7XG4gICAgICBhY3RpdmVEaWFncmFtVHlwZTogZXZlbnQudmFsdWUubGF5b3V0LFxuICAgIH0pXG4gIH1cbn1cbmZ1bmN0aW9uIGludGVycG9sYXRlQ29sb3JzKGFtb3VudE9mRGF0YTogbnVtYmVyLCBjb2xvclNjYWxlOiBhbnksIGNvbG9yUmFuZ2VJbmZvOiBhbnkpIHtcbiAgcmV0dXJuIENvbG9yVXRpbHMuaW50ZXJwb2xhdGVDb2xvcnMoYW1vdW50T2ZEYXRhLCBjb2xvclNjYWxlLCBjb2xvclJhbmdlSW5mbylcbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmRhdGFcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBwYi0yXCIgKm5nSWY9XCJzaG93bkRpYWdyYW1UeXBlcy5sZW5ndGggPiAxXCI+XG4gICAgPHAtc2VsZWN0QnV0dG9uXG4gICAgICBbb3B0aW9uc109XCJzaG93bkRpYWdyYW1UeXBlc1wiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGlhZ3JhbVR5cGVcIlxuICAgICAgb3B0aW9uTGFiZWw9XCJpZFwiXG4gICAgICAob25DaGFuZ2UpPVwib25EaWFncmFtVHlwZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICBuYW1lPVwiZGlhZ3JhbS10eXBlLXNlbGVjdC1idXR0b25cIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XG4gICAgICAgIDxpXG4gICAgICAgICAgW2NsYXNzXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cIml0ZW0udG9vbHRpcCB8fCAoaXRlbS50b29sdGlwS2V5IHwgdHJhbnNsYXRlKVwiXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICB0b29sdGlwRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgID48L2k+XG4gICAgICAgIDxsYWJlbCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBpZD1cInt7aXRlbS5pZH19XCI+IHt7aXRlbS5sYWJlbCA/IGl0ZW0ubGFiZWwgOiBpdGVtLmxhYmVsS2V5IHwgdHJhbnNsYXRlfX0gPC9sYWJlbD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXNlbGVjdEJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPHAtY2hhcnRcbiAgICAgIGlkPVwiZGlhZ3JhbVwiXG4gICAgICBbdHlwZV09XCJjaGFydFR5cGVcIlxuICAgICAgW2RhdGFdPVwiY2hhcnREYXRhXCJcbiAgICAgIFtyZXNwb25zaXZlXT1cImZhbHNlXCJcbiAgICAgIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiXG4gICAgICAob25EYXRhU2VsZWN0KT1cImRhdGFDbGlja2VkKCRldmVudClcIlxuICAgICAgW2FyaWFMYWJlbF09XCIoZGF0YSA/ICdPQ1hfRElBR1JBTS5BUklBX0xBQkVMJyA6ICdPQ1hfRElBR1JBTS5FTVBUWV9BUklBX0xBQkVMJykgfCB0cmFuc2xhdGU6IHt0b3RhbDogZ2VuZXJhdGVUb3RhbChkYXRhKSwgdmFsdWVTdHJpbmc6IGdlbmVyYXRlRGlhZ3JhbVZhbHVlU3RyaW5nKGRhdGEpfVwiXG4gICAgPjwvcC1jaGFydD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTIgc3VtS2V5XCI+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LW1kIGZvbnQtbWVkaXVtIHRleHQtNzAwXCI+XG4gICAgICA8c3BhbiBuYW1lPVwic3VtTGFiZWxcIj4ge3sgc3VtS2V5IHwgdHJhbnNsYXRlIH19PC9zcGFuPiA6IDxzcGFuIG5hbWU9XCJhbW91bnRPZkRhdGFcIj57eyBhbW91bnRPZkRhdGF9fTwvc3Bhbj5cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgKm5nSWY9XCIhdGhpcy5kYXRhXCIgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gIDxwLW1lc3NhZ2Ugc2V2ZXJpdHk9XCJpbmZvXCIgdGV4dD1cInt7ICdPQ1hfRElBR1JBTS5OT19EQVRBJyB8IHRyYW5zbGF0ZSB9fVwiPjwvcC1tZXNzYWdlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -42,30 +42,44 @@ export class GroupByCountDiagramComponent {
|
|
|
42
42
|
this.columnType = value.columnType;
|
|
43
43
|
this.columnField = value.id;
|
|
44
44
|
}
|
|
45
|
+
get colors() {
|
|
46
|
+
return this._colors$.getValue();
|
|
47
|
+
}
|
|
48
|
+
set colors(value) {
|
|
49
|
+
this._colors$.next(value);
|
|
50
|
+
}
|
|
45
51
|
constructor(translateService) {
|
|
46
52
|
this.translateService = translateService;
|
|
47
53
|
this.sumKey = 'SEARCH.SUMMARY_TITLE';
|
|
48
54
|
this.diagramType = "PIE" /* DiagramType.PIE */;
|
|
55
|
+
/**
|
|
56
|
+
* This property determines if diagram should generate the colors for the data that does not have any set.
|
|
57
|
+
*
|
|
58
|
+
* Setting this property to false will result in using the provided colors only if every data item has one. In the scenario where at least one item does not have a color set, diagram will generate all colors.
|
|
59
|
+
*/
|
|
60
|
+
this.fillMissingColors = true;
|
|
49
61
|
this.supportedDiagramTypes = [];
|
|
50
62
|
this._data$ = new BehaviorSubject([]);
|
|
51
63
|
this._columnType$ = new BehaviorSubject(ColumnType.STRING);
|
|
52
64
|
this._columnField$ = new BehaviorSubject('');
|
|
65
|
+
this._colors$ = new BehaviorSubject({});
|
|
53
66
|
this.dataSelected = new EventEmitter();
|
|
54
67
|
this.diagramTypeChanged = new EventEmitter();
|
|
55
68
|
this.componentStateChanged = new EventEmitter();
|
|
56
69
|
}
|
|
57
70
|
ngOnInit() {
|
|
58
|
-
this.diagramData$ = combineLatest([this._data$, this._columnField$, this._columnType$]).pipe(mergeMap(([data, columnField, columnType]) => {
|
|
71
|
+
this.diagramData$ = combineLatest([this._data$, this._columnField$, this._columnType$, this._colors$]).pipe(mergeMap(([data, columnField, columnType, colors]) => {
|
|
59
72
|
const columnData = data.map((d) => ObjectUtils.resolveFieldData(d, columnField));
|
|
60
73
|
const occurrences = columnData.reduce((acc, current) => {
|
|
61
74
|
return acc.some((e) => e.label === current)
|
|
62
75
|
? (acc.find((e) => e.label === current).value++, acc)
|
|
63
|
-
: [...acc, { label: current, value: 1 }];
|
|
76
|
+
: [...acc, { label: current, value: 1, backgroundColor: colors[current.toString()] }];
|
|
64
77
|
}, []);
|
|
65
78
|
if (columnType === ColumnType.TRANSLATION_KEY && occurrences.length > 0) {
|
|
66
79
|
return this.translateService.get(occurrences.map((o) => o.label)).pipe(map((translations) => occurrences.map((o) => ({
|
|
67
80
|
label: translations[o.label],
|
|
68
81
|
value: o.value,
|
|
82
|
+
backgroundColor: o.backgroundColor,
|
|
69
83
|
}))));
|
|
70
84
|
}
|
|
71
85
|
else {
|
|
@@ -80,19 +94,21 @@ export class GroupByCountDiagramComponent {
|
|
|
80
94
|
this.diagramType = newDiagramType;
|
|
81
95
|
this.diagramTypeChanged.emit(newDiagramType);
|
|
82
96
|
this.componentStateChanged.emit({
|
|
83
|
-
activeDiagramType: newDiagramType
|
|
97
|
+
activeDiagramType: newDiagramType,
|
|
84
98
|
});
|
|
85
99
|
}
|
|
86
100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GroupByCountDiagramComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: GroupByCountDiagramComponent, selector: "ocx-group-by-count-diagram", inputs: { sumKey: "sumKey", diagramType: "diagramType", type: "type", supportedDiagramTypes: "supportedDiagramTypes", data: "data", columnType: "columnType", columnField: "columnField", column: "column" }, outputs: { dataSelected: "dataSelected", diagramTypeChanged: "diagramTypeChanged", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<ocx-diagram\n [data]=\"(diagramData$ | async) || []\"\n [sumKey]=\"sumKey\"\n [diagramType]=\"diagramType\"\n (onDataSelect)=\"dataClicked($event)\"\n [supportedDiagramTypes]=\"supportedDiagramTypes\"\n (diagramTypeChanged)=\"onDiagramTypeChanged($event)\"\n></ocx-diagram>\n", dependencies: [{ kind: "component", type: i2.DiagramComponent, selector: "ocx-diagram", inputs: ["data", "sumKey", "diagramType", "supportedDiagramTypes"], outputs: ["dataSelected", "diagramTypeChanged", "componentStateChanged"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: GroupByCountDiagramComponent, selector: "ocx-group-by-count-diagram", inputs: { sumKey: "sumKey", diagramType: "diagramType", fillMissingColors: "fillMissingColors", type: "type", supportedDiagramTypes: "supportedDiagramTypes", data: "data", columnType: "columnType", columnField: "columnField", column: "column", colors: "colors" }, outputs: { dataSelected: "dataSelected", diagramTypeChanged: "diagramTypeChanged", componentStateChanged: "componentStateChanged" }, ngImport: i0, template: "<ocx-diagram\n [data]=\"(diagramData$ | async) || []\"\n [fillMissingColors]=\"fillMissingColors\"\n [sumKey]=\"sumKey\"\n [diagramType]=\"diagramType\"\n (onDataSelect)=\"dataClicked($event)\"\n [supportedDiagramTypes]=\"supportedDiagramTypes\"\n (diagramTypeChanged)=\"onDiagramTypeChanged($event)\"\n></ocx-diagram>\n", dependencies: [{ kind: "component", type: i2.DiagramComponent, selector: "ocx-diagram", inputs: ["data", "sumKey", "fillMissingColors", "diagramType", "supportedDiagramTypes"], outputs: ["dataSelected", "diagramTypeChanged", "componentStateChanged"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
88
102
|
}
|
|
89
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: GroupByCountDiagramComponent, decorators: [{
|
|
90
104
|
type: Component,
|
|
91
|
-
args: [{ selector: 'ocx-group-by-count-diagram', template: "<ocx-diagram\n [data]=\"(diagramData$ | async) || []\"\n [sumKey]=\"sumKey\"\n [diagramType]=\"diagramType\"\n (onDataSelect)=\"dataClicked($event)\"\n [supportedDiagramTypes]=\"supportedDiagramTypes\"\n (diagramTypeChanged)=\"onDiagramTypeChanged($event)\"\n></ocx-diagram>\n" }]
|
|
105
|
+
args: [{ selector: 'ocx-group-by-count-diagram', template: "<ocx-diagram\n [data]=\"(diagramData$ | async) || []\"\n [fillMissingColors]=\"fillMissingColors\"\n [sumKey]=\"sumKey\"\n [diagramType]=\"diagramType\"\n (onDataSelect)=\"dataClicked($event)\"\n [supportedDiagramTypes]=\"supportedDiagramTypes\"\n (diagramTypeChanged)=\"onDiagramTypeChanged($event)\"\n></ocx-diagram>\n" }]
|
|
92
106
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { sumKey: [{
|
|
93
107
|
type: Input
|
|
94
108
|
}], diagramType: [{
|
|
95
109
|
type: Input
|
|
110
|
+
}], fillMissingColors: [{
|
|
111
|
+
type: Input
|
|
96
112
|
}], type: [{
|
|
97
113
|
type: Input
|
|
98
114
|
}], supportedDiagramTypes: [{
|
|
@@ -105,6 +121,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
105
121
|
type: Input
|
|
106
122
|
}], column: [{
|
|
107
123
|
type: Input
|
|
124
|
+
}], colors: [{
|
|
125
|
+
type: Input
|
|
108
126
|
}], dataSelected: [{
|
|
109
127
|
type: Output
|
|
110
128
|
}], diagramTypeChanged: [{
|
|
@@ -112,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
112
130
|
}], componentStateChanged: [{
|
|
113
131
|
type: Output
|
|
114
132
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLWJ5LWNvdW50LWRpYWdyYW0vZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLWJ5LWNvdW50LWRpYWdyYW0vZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7Ozs7O0FBWXJELE1BQU0sT0FBTyw0QkFBNEI7SUFHdkM7O09BRUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDekIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWtCO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFHRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxD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QkFBN0IsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixNQUFNO3NCQURULEtBQUs7Z0JBU0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29sdW1uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsL2NvbHVtbi10eXBlLm1vZGVsJ1xuaW1wb3J0IHsgRGlhZ3JhbUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVsL2RpYWdyYW0tY29sdW1uJ1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3R1dGlscydcbmltcG9ydCB7IERpYWdyYW1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGlhZ3JhbS1kYXRhJ1xuaW1wb3J0IHsgRGlhZ3JhbVR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFncmFtLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBCeUNvdW50RGlhZ3JhbUNvbXBvbmVudFN0YXRlIHtcbiAgYWN0aXZlRGlhZ3JhbVR5cGU/OiBEaWFncmFtVHlwZVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZ3JvdXAtYnktY291bnQtZGlhZ3JhbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1ieS1jb3VudC1kaWFncmFtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBCeUNvdW50RGlhZ3JhbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN1bUtleSA9ICdTRUFSQ0guU1VNTUFSWV9USVRMRSdcbiAgQElucHV0KCkgZGlhZ3JhbVR5cGUgPSBEaWFncmFtVHlwZS5QSUVcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVwbGFjZWQgYnkgZGlhZ3JhbVR5cGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IERpYWdyYW1UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5kaWFncmFtVHlwZVxuICB9XG4gIHNldCB0eXBlKHZhbHVlOiBEaWFncmFtVHlwZSkge1xuICAgIHRoaXMuZGlhZ3JhbVR5cGUgPSB2YWx1ZVxuICB9XG4gIEBJbnB1dCgpIHN1cHBvcnRlZERpYWdyYW1UeXBlczogRGlhZ3JhbVR5cGVbXSA9IFtdXG4gIHByaXZhdGUgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duW10+KFtdKVxuICBASW5wdXQoKVxuICBnZXQgZGF0YSgpOiB1bmtub3duW10ge1xuICAgIHJldHVybiB0aGlzLl9kYXRhJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IGRhdGEodmFsdWU6IHVua25vd25bXSkge1xuICAgIHRoaXMuX2RhdGEkLm5leHQodmFsdWUpXG4gIH1cbiAgZGlhZ3JhbURhdGEkOiBPYnNlcnZhYmxlPERpYWdyYW1EYXRhW10+IHwgdW5kZWZpbmVkXG5cbiAgcHJpdmF0ZSBfY29sdW1uVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbHVtblR5cGU+KENvbHVtblR5cGUuU1RSSU5HKVxuICBASW5wdXQoKVxuICBnZXQgY29sdW1uVHlwZSgpOiBDb2x1bW5UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uVHlwZSQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBjb2x1bW5UeXBlKHZhbHVlOiBDb2x1bW5UeXBlKSB7XG4gICAgdGhpcy5fY29sdW1uVHlwZSQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX2NvbHVtbkZpZWxkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcbiAgQElucHV0KClcbiAgZ2V0IGNvbHVtbkZpZWxkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkZpZWxkJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IGNvbHVtbkZpZWxkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2x1bW5GaWVsZCQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2x1bW4oKTogRGlhZ3JhbUNvbHVtbiB7XG4gICAgcmV0dXJuIHsgY29sdW1uVHlwZTogdGhpcy5jb2x1bW5UeXBlLCBpZDogdGhpcy5jb2x1bW5GaWVsZCB9XG4gIH1cbiAgc2V0IGNvbHVtbih2YWx1ZTogRGlhZ3JhbUNvbHVtbikge1xuICAgIHRoaXMuY29sdW1uVHlwZSA9IHZhbHVlLmNvbHVtblR5cGVcbiAgICB0aGlzLmNvbHVtbkZpZWxkID0gdmFsdWUuaWRcbiAgfVxuXG4gIEBPdXRwdXQoKSBkYXRhU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkaWFncmFtVHlwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxEaWFncmFtVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIGNvbXBvbmVudFN0YXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEdyb3VwQnlDb3VudERpYWdyYW1Db21wb25lbnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFncmFtRGF0YSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kYXRhJCwgdGhpcy5fY29sdW1uRmllbGQkLCB0aGlzLl9jb2x1bW5UeXBlJF0pLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoW2RhdGEsIGNvbHVtbkZpZWxkLCBjb2x1bW5UeXBlXSkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gZGF0YS5tYXAoKGQpID0+IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoZCwgY29sdW1uRmllbGQpKVxuICAgICAgICBjb25zdCBvY2N1cnJlbmNlcyA9IGNvbHVtbkRhdGEucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYWNjLnNvbWUoKGU6IHsgbGFiZWw6IGFueSB9KSA9PiBlLmxhYmVsID09PSBjdXJyZW50KVxuICAgICAgICAgICAgPyAoYWNjLmZpbmQoKGU6IHsgbGFiZWw6IGFueSB9KSA9PiBlLmxhYmVsID09PSBjdXJyZW50KS52YWx1ZSsrLCBhY2MpXG4gICAgICAgICAgICA6IFsuLi5hY2MsIHsgbGFiZWw6IGN1cnJlbnQsIHZhbHVlOiAxIH1dXG4gICAgICAgIH0sIFtdKVxuICAgICAgICBpZiAoY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZS5UUkFOU0xBVElPTl9LRVkgJiYgb2NjdXJyZW5jZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG9jY3VycmVuY2VzLm1hcCgobzogeyBsYWJlbDogYW55IH0pID0+IG8ubGFiZWwpKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnM6IHsgW3g6IHN0cmluZ106IGFueSB9KSA9PlxuICAgICAgICAgICAgICBvY2N1cnJlbmNlcy5tYXAoKG86IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueSB9KSA9PiAoe1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0cmFuc2xhdGlvbnNbby5sYWJlbF0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IG8udmFsdWUsXG4gICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2Yob2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGF0YUNsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0YVNlbGVjdGVkLmVtaXQoZXZlbnQpXG4gIH1cblxuICBvbkRpYWdyYW1UeXBlQ2hhbmdlZChuZXdEaWFncmFtVHlwZTogRGlhZ3JhbVR5cGUpIHtcbiAgICB0aGlzLmRpYWdyYW1UeXBlID0gbmV3RGlhZ3JhbVR5cGVcbiAgICB0aGlzLmRpYWdyYW1UeXBlQ2hhbmdlZC5lbWl0KG5ld0RpYWdyYW1UeXBlKVxuICAgIHRoaXMuY29tcG9uZW50U3RhdGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgYWN0aXZlRGlhZ3JhbVR5cGU6IG5ld0RpYWdyYW1UeXBlXG4gICAgfSlcbiAgfVxufVxuIiwiPG9jeC1kaWFncmFtXG4gIFtkYXRhXT1cIihkaWFncmFtRGF0YSQgfCBhc3luYykgfHwgW11cIlxuICBbc3VtS2V5XT1cInN1bUtleVwiXG4gIFtkaWFncmFtVHlwZV09XCJkaWFncmFtVHlwZVwiXG4gIChvbkRhdGFTZWxlY3QpPVwiZGF0YUNsaWNrZWQoJGV2ZW50KVwiXG4gIFtzdXBwb3J0ZWREaWFncmFtVHlwZXNdPVwic3VwcG9ydGVkRGlhZ3JhbVR5cGVzXCJcbiAgKGRpYWdyYW1UeXBlQ2hhbmdlZCk9XCJvbkRpYWdyYW1UeXBlQ2hhbmdlZCgkZXZlbnQpXCJcbj48L29jeC1kaWFncmFtPlxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLWJ5LWNvdW50LWRpYWdyYW0vZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLWJ5LWNvdW50LWRpYWdyYW0vZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7Ozs7O0FBWXJELE1BQU0sT0FBTyw0QkFBNEI7SUFTdkM7O09BRUc7SUFDSCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDekIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWtCO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFHRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDL0IsQ0FBQztJQUNELElBQUksSUFBSSxD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RCxvQkFBb0IsQ0FBQyxjQUEyQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7WUFDOUIsaUJBQWlCLEVBQUUsY0FBYztTQUNsQyxDQUFDLENBQUE7SUFDSixDQUFDOytHQTVHVSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwrY0NqQnpDLHlVQVNBOzs0RkRRYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsNEJBQTRCO3FGQUk3QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0YsSUFBSTtzQkFEUCxLQUFLO2dCQU9HLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixNQUFNO3NCQURULEtBQUs7Z0JBV0YsTUFBTTtzQkFEVCxLQUFLO2dCQVFJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENvbHVtblR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbC9jb2x1bW4tdHlwZS5tb2RlbCdcbmltcG9ydCB7IERpYWdyYW1Db2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFncmFtLWNvbHVtbidcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvb2JqZWN0dXRpbHMnXG5pbXBvcnQgeyBEaWFncmFtRGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL2RpYWdyYW0tZGF0YSdcbmltcG9ydCB7IERpYWdyYW1UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGlhZ3JhbS10eXBlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwQnlDb3VudERpYWdyYW1Db21wb25lbnRTdGF0ZSB7XG4gIGFjdGl2ZURpYWdyYW1UeXBlPzogRGlhZ3JhbVR5cGVcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2N4LWdyb3VwLWJ5LWNvdW50LWRpYWdyYW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JvdXAtYnktY291bnQtZGlhZ3JhbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwQnlDb3VudERpYWdyYW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBzdW1LZXkgPSAnU0VBUkNILlNVTU1BUllfVElUTEUnXG4gIEBJbnB1dCgpIGRpYWdyYW1UeXBlID0gRGlhZ3JhbVR5cGUuUElFXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGRldGVybWluZXMgaWYgZGlhZ3JhbSBzaG91bGQgZ2VuZXJhdGUgdGhlIGNvbG9ycyBmb3IgdGhlIGRhdGEgdGhhdCBkb2VzIG5vdCBoYXZlIGFueSBzZXQuXG4gICAqXG4gICAqIFNldHRpbmcgdGhpcyBwcm9wZXJ0eSB0byBmYWxzZSB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgcHJvdmlkZWQgY29sb3JzIG9ubHkgaWYgZXZlcnkgZGF0YSBpdGVtIGhhcyBvbmUuIEluIHRoZSBzY2VuYXJpbyB3aGVyZSBhdCBsZWFzdCBvbmUgaXRlbSBkb2VzIG5vdCBoYXZlIGEgY29sb3Igc2V0LCBkaWFncmFtIHdpbGwgZ2VuZXJhdGUgYWxsIGNvbG9ycy5cbiAgICovXG4gIEBJbnB1dCgpIGZpbGxNaXNzaW5nQ29sb3JzID0gdHJ1ZVxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZXBsYWNlZCBieSBkaWFncmFtVHlwZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKTogRGlhZ3JhbVR5cGUge1xuICAgIHJldHVybiB0aGlzLmRpYWdyYW1UeXBlXG4gIH1cbiAgc2V0IHR5cGUodmFsdWU6IERpYWdyYW1UeXBlKSB7XG4gICAgdGhpcy5kaWFncmFtVHlwZSA9IHZhbHVlXG4gIH1cbiAgQElucHV0KCkgc3VwcG9ydGVkRGlhZ3JhbVR5cGVzOiBEaWFncmFtVHlwZVtdID0gW11cbiAgcHJpdmF0ZSBfZGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHVua25vd25bXT4oW10pXG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhKCk6IHVua25vd25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEkLmdldFZhbHVlKClcbiAgfVxuICBzZXQgZGF0YSh2YWx1ZTogdW5rbm93bltdKSB7XG4gICAgdGhpcy5fZGF0YSQubmV4dCh2YWx1ZSlcbiAgfVxuICBkaWFncmFtRGF0YSQ6IE9ic2VydmFibGU8RGlhZ3JhbURhdGFbXT4gfCB1bmRlZmluZWRcblxuICBwcml2YXRlIF9jb2x1bW5UeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uVHlwZT4oQ29sdW1uVHlwZS5TVFJJTkcpXG4gIEBJbnB1dCgpXG4gIGdldCBjb2x1bW5UeXBlKCk6IENvbHVtblR5cGUge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5UeXBlJC5nZXRWYWx1ZSgpXG4gIH1cbiAgc2V0IGNvbHVtblR5cGUodmFsdWU6IENvbHVtblR5cGUpIHtcbiAgICB0aGlzLl9jb2x1bW5UeXBlJC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfY29sdW1uRmllbGQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBASW5wdXQoKVxuICBnZXQgY29sdW1uRmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1uRmllbGQkLmdldFZhbHVlKClcbiAgfVxuICBzZXQgY29sdW1uRmllbGQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbkZpZWxkJC5uZXh0KHZhbHVlKVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbHVtbigpOiBEaWFncmFtQ29sdW1uIHtcbiAgICByZXR1cm4geyBjb2x1bW5UeXBlOiB0aGlzLmNvbHVtblR5cGUsIGlkOiB0aGlzLmNvbHVtbkZpZWxkIH1cbiAgfVxuICBzZXQgY29sdW1uKHZhbHVlOiBEaWFncmFtQ29sdW1uKSB7XG4gICAgdGhpcy5jb2x1bW5UeXBlID0gdmFsdWUuY29sdW1uVHlwZVxuICAgIHRoaXMuY29sdW1uRmllbGQgPSB2YWx1ZS5pZFxuICB9XG5cbiAgcHJpdmF0ZSBfY29sb3JzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oe30pXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xvcnMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9ycyQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBjb2xvcnModmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICB0aGlzLl9jb2xvcnMkLm5leHQodmFsdWUpXG4gIH1cblxuICBAT3V0cHV0KCkgZGF0YVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgZGlhZ3JhbVR5cGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGlhZ3JhbVR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb21wb25lbnRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxHcm91cEJ5Q291bnREaWFncmFtQ29tcG9uZW50U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlhZ3JhbURhdGEkID0gY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YSQsIHRoaXMuX2NvbHVtbkZpZWxkJCwgdGhpcy5fY29sdW1uVHlwZSQsIHRoaXMuX2NvbG9ycyRdKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKFtkYXRhLCBjb2x1bW5GaWVsZCwgY29sdW1uVHlwZSwgY29sb3JzXSkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EYXRhID0gZGF0YS5tYXAoKGQpID0+IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoZCwgY29sdW1uRmllbGQpKVxuICAgICAgICBjb25zdCBvY2N1cnJlbmNlcyA9IGNvbHVtbkRhdGEucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYWNjLnNvbWUoKGU6IHsgbGFiZWw6IGFueSB9KSA9PiBlLmxhYmVsID09PSBjdXJyZW50KVxuICAgICAgICAgICAgPyAoYWNjLmZpbmQoKGU6IHsgbGFiZWw6IGFueSB9KSA9PiBlLmxhYmVsID09PSBjdXJyZW50KS52YWx1ZSsrLCBhY2MpXG4gICAgICAgICAgICA6IFsuLi5hY2MsIHsgbGFiZWw6IGN1cnJlbnQsIHZhbHVlOiAxLCBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yc1tjdXJyZW50LnRvU3RyaW5nKCldIH1dXG4gICAgICAgIH0sIFtdKVxuICAgICAgICBpZiAoY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZS5UUkFOU0xBVElPTl9LRVkgJiYgb2NjdXJyZW5jZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG9jY3VycmVuY2VzLm1hcCgobzogeyBsYWJlbDogYW55IH0pID0+IG8ubGFiZWwpKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnM6IHsgW3g6IHN0cmluZ106IGFueSB9KSA9PlxuICAgICAgICAgICAgICBvY2N1cnJlbmNlcy5tYXAoKG86IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQgfSkgPT4gKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zW28ubGFiZWxdLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvLnZhbHVlLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogby5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2Yob2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGF0YUNsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0YVNlbGVjdGVkLmVtaXQoZXZlbnQpXG4gIH1cblxuICBvbkRpYWdyYW1UeXBlQ2hhbmdlZChuZXdEaWFncmFtVHlwZTogRGlhZ3JhbVR5cGUpIHtcbiAgICB0aGlzLmRpYWdyYW1UeXBlID0gbmV3RGlhZ3JhbVR5cGVcbiAgICB0aGlzLmRpYWdyYW1UeXBlQ2hhbmdlZC5lbWl0KG5ld0RpYWdyYW1UeXBlKVxuICAgIHRoaXMuY29tcG9uZW50U3RhdGVDaGFuZ2VkLmVtaXQoe1xuICAgICAgYWN0aXZlRGlhZ3JhbVR5cGU6IG5ld0RpYWdyYW1UeXBlLFxuICAgIH0pXG4gIH1cbn1cbiIsIjxvY3gtZGlhZ3JhbVxuICBbZGF0YV09XCIoZGlhZ3JhbURhdGEkIHwgYXN5bmMpIHx8IFtdXCJcbiAgW2ZpbGxNaXNzaW5nQ29sb3JzXT1cImZpbGxNaXNzaW5nQ29sb3JzXCJcbiAgW3N1bUtleV09XCJzdW1LZXlcIlxuICBbZGlhZ3JhbVR5cGVdPVwiZGlhZ3JhbVR5cGVcIlxuICAob25EYXRhU2VsZWN0KT1cImRhdGFDbGlja2VkKCRldmVudClcIlxuICBbc3VwcG9ydGVkRGlhZ3JhbVR5cGVzXT1cInN1cHBvcnRlZERpYWdyYW1UeXBlc1wiXG4gIChkaWFncmFtVHlwZUNoYW5nZWQpPVwib25EaWFncmFtVHlwZUNoYW5nZWQoJGV2ZW50KVwiXG4+PC9vY3gtZGlhZ3JhbT5cbiJdfQ==
|
|
@@ -138,6 +138,7 @@ export class PageHeaderComponent {
|
|
|
138
138
|
});
|
|
139
139
|
this.overflowActions = [
|
|
140
140
|
...allowedActions.map((a) => ({
|
|
141
|
+
id: a.id,
|
|
141
142
|
label: a.labelKey ? translations[a.labelKey] : a.label,
|
|
142
143
|
icon: a.icon,
|
|
143
144
|
tooltipOptions: {
|
|
@@ -194,11 +195,11 @@ export class PageHeaderComponent {
|
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.BreadcrumbService }, { token: i2.TranslateService }, { token: i3.AppStateService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PageHeaderComponent, selector: "ocx-page-header", inputs: { header: "header", loading: "loading", figureBackground: "figureBackground", showFigure: "showFigure", figureImage: "figureImage", disableDefaultActions: "disableDefaultActions", subheader: "subheader", actions: "actions", objectDetails: "objectDetails", showBreadcrumbs: "showBreadcrumbs", manualBreadcrumbs: "manualBreadcrumbs", enableGridView: "enableGridView", gridLayoutDesktopColumns: "gridLayoutDesktopColumns" }, outputs: { save: "save" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n <ng-container *ngIf=\"showBreadcrumbs\">\n <p-breadcrumb\n [model]=\"items\"\n *ngIf=\"breadcrumbs$ | async as items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs\"\n ></p-breadcrumb>\n </ng-container>\n <div class=\"title-bar flex flex-row md:justify-content-between p-3\">\n <div class=\"title-wrap\">\n <div class=\"figure flex h-2rem w-2rem md:h-3rem md:w-3rem\" *ngIf=\"showFigure\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n <img\n *ngIf=\"figureImage && !figureImageLoadError\"\n [ocxSrc]=\"figureImage\"\n alt=\"Figure image\"\n class=\"w-full\"\n (error)=\"handleImageError()\"\n />\n </div>\n <div\n class=\"colorblob flex-1 border-round\"\n *ngIf=\"previewImage.children.length === 0 || figureImageLoadError\"\n ></div>\n </div>\n <ng-template #skeletonBar>\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n </ng-template>\n <div class=\"header\" *ngIf=\"!loading; else skeletonBar\">\n <h1 id=\"page-header\" *ngIf=\"!!header\">{{ header }}</h1>\n <h2 id=\"page-subheader\" *ngIf=\"!!subheader\">{{ subheader }}</h2>\n </div>\n </div>\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n <ng-container *ngIf=\"additionalToolbarContentLeft\" [ngTemplateOutlet]=\"additionalToolbarContentLeft\">\n </ng-container>\n\n <ng-container *ngIf=\"!disableDefaultActions\"> </ng-container>\n <ng-template #skeletonActions>\n <div class=\"flex\">\n <p-skeleton width=\"5rem\" height=\"2rem\" styleClass=\"mr-2\"></p-skeleton>\n <p-skeleton width=\"2rem\" height=\"2rem\" styleClass=\"mb-2\"></p-skeleton>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!loading; else skeletonActions\">\n <div *ngIf=\"inlineActions && inlineActions.length > 0\" class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n <ng-container *ngFor=\"let action of inlineActions\">\n <p-button\n id=\"{{ action.id }}\"\n [icon]=\"action.icon ?? ''\"\n type=\"button\"\n class=\"action-button\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n (onClick)=\"action.actionCallback()\"\n [pTooltip]=\"(action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </ng-container>\n </div>\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n <div *ngIf=\"overflowActions.length !== 0\">\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n pTooltip=\"{{ 'OCX_PAGE_HEADER.MORE_ACTIONS' | translate }}\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"('OCX_PAGE_HEADER.MORE_ACTIONS' | translate)\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"additionalToolbarContent\" [ngTemplateOutlet]=\"additionalToolbarContent\"> </ng-container>\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"getObjectPanelLayoutClasses()\">\n <ng-container *ngIf=\"objectDetails\">\n <div class=\"object-info\" [ngClass]=\"getObjectInfoLayoutClasses()\" *ngFor=\"let item of objectDetails\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [pTooltip]=\"item.labelTooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >{{ item.label | dynamicPipe:item.labelPipe }}</span\n >\n <span *ngIf=\"item.icon || item.value\" class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [pTooltip]=\"item.valueTooltip || item.tooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n <i\n *ngIf=\"item.icon\"\n class='{{item.icon + \" \" + (item.iconStyleClass || \"\")}}'\n name=\"object-detail-icon\"\n ></i>\n {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n <p-button\n *ngIf=\"item.actionItemIcon && item.actionItemCallback\"\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [pTooltip]=\"item.actionItemTooltip || ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"(item.actionItemAriaLabelKey ? (item.actionItemAriaLabelKey | translate) : item.actionItemAriaLabel) || item.actionItemTooltip || ''\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure{width:3rem;height:3rem;margin-right:.5rem;position:relative}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i9.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i10.SrcDirective, selector: "[ocxSrc]", inputs: ["ocxSrc"], outputs: ["error"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.DynamicPipe, name: "dynamicPipe" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: PageHeaderComponent, selector: "ocx-page-header", inputs: { header: "header", loading: "loading", figureBackground: "figureBackground", showFigure: "showFigure", figureImage: "figureImage", disableDefaultActions: "disableDefaultActions", subheader: "subheader", actions: "actions", objectDetails: "objectDetails", showBreadcrumbs: "showBreadcrumbs", manualBreadcrumbs: "manualBreadcrumbs", enableGridView: "enableGridView", gridLayoutDesktopColumns: "gridLayoutDesktopColumns" }, outputs: { save: "save" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n <ng-container *ngIf=\"showBreadcrumbs\">\n <p-breadcrumb\n [model]=\"items\"\n *ngIf=\"breadcrumbs$ | async as items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs\"\n ></p-breadcrumb>\n </ng-container>\n <div class=\"title-bar flex flex-row md:justify-content-between p-3\">\n <div class=\"title-wrap\">\n <div class=\"figure flex h-2rem w-2rem md:h-3rem md:w-3rem\" *ngIf=\"showFigure\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n <img\n *ngIf=\"figureImage && !figureImageLoadError\"\n [ocxSrc]=\"figureImage\"\n alt=\"Figure image\"\n class=\"w-full\"\n (error)=\"handleImageError()\"\n />\n </div>\n <div\n class=\"colorblob flex-1 border-round\"\n *ngIf=\"previewImage.children.length === 0 || figureImageLoadError\"\n ></div>\n </div>\n <ng-template #skeletonBar>\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n </ng-template>\n <div class=\"header\" *ngIf=\"!loading; else skeletonBar\">\n <h1 id=\"page-header\" *ngIf=\"!!header\">{{ header }}</h1>\n <h2 id=\"page-subheader\" *ngIf=\"!!subheader\">{{ subheader }}</h2>\n </div>\n </div>\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n <ng-container *ngIf=\"additionalToolbarContentLeft\" [ngTemplateOutlet]=\"additionalToolbarContentLeft\">\n </ng-container>\n\n <ng-container *ngIf=\"!disableDefaultActions\"> </ng-container>\n <ng-template #skeletonActions>\n <div class=\"flex\">\n <p-skeleton width=\"5rem\" height=\"2rem\" styleClass=\"mr-2\"></p-skeleton>\n <p-skeleton width=\"2rem\" height=\"2rem\" styleClass=\"mb-2\"></p-skeleton>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!loading; else skeletonActions\">\n <div *ngIf=\"inlineActions && inlineActions.length > 0\" class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n <ng-container *ngFor=\"let action of inlineActions\">\n <span\n [pTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n id=\"{{ action.id }}\"\n [icon]=\"action.icon ?? ''\"\n type=\"button\"\n class=\"action-button\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n (onClick)=\"action.actionCallback()\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n </ng-container>\n </div>\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n <div *ngIf=\"overflowActions.length !== 0\">\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n pTooltip=\"{{ 'OCX_PAGE_HEADER.MORE_ACTIONS' | translate }}\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"('OCX_PAGE_HEADER.MORE_ACTIONS' | translate)\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"additionalToolbarContent\" [ngTemplateOutlet]=\"additionalToolbarContent\"> </ng-container>\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"getObjectPanelLayoutClasses()\">\n <ng-container *ngIf=\"objectDetails\">\n <div class=\"object-info\" [ngClass]=\"getObjectInfoLayoutClasses()\" *ngFor=\"let item of objectDetails\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [pTooltip]=\"item.labelTooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >{{ item.label | dynamicPipe:item.labelPipe }}</span\n >\n <span *ngIf=\"item.icon || item.value\" class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [pTooltip]=\"item.valueTooltip || item.tooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n <i\n *ngIf=\"item.icon\"\n class='{{item.icon + \" \" + (item.iconStyleClass || \"\")}}'\n name=\"object-detail-icon\"\n ></i>\n {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n <p-button\n *ngIf=\"item.actionItemIcon && item.actionItemCallback\"\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [pTooltip]=\"item.actionItemTooltip || ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"(item.actionItemAriaLabelKey ? (item.actionItemAriaLabelKey | translate) : item.actionItemAriaLabel) || item.actionItemTooltip || ''\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure{width:3rem;height:3rem;margin-right:.5rem;position:relative}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i8.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i9.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "directive", type: i10.SrcDirective, selector: "[ocxSrc]", inputs: ["ocxSrc"], outputs: ["error"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.DynamicPipe, name: "dynamicPipe" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
198
199
|
}
|
|
199
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
200
201
|
type: Component,
|
|
201
|
-
args: [{ selector: 'ocx-page-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n <ng-container *ngIf=\"showBreadcrumbs\">\n <p-breadcrumb\n [model]=\"items\"\n *ngIf=\"breadcrumbs$ | async as items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs\"\n ></p-breadcrumb>\n </ng-container>\n <div class=\"title-bar flex flex-row md:justify-content-between p-3\">\n <div class=\"title-wrap\">\n <div class=\"figure flex h-2rem w-2rem md:h-3rem md:w-3rem\" *ngIf=\"showFigure\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n <img\n *ngIf=\"figureImage && !figureImageLoadError\"\n [ocxSrc]=\"figureImage\"\n alt=\"Figure image\"\n class=\"w-full\"\n (error)=\"handleImageError()\"\n />\n </div>\n <div\n class=\"colorblob flex-1 border-round\"\n *ngIf=\"previewImage.children.length === 0 || figureImageLoadError\"\n ></div>\n </div>\n <ng-template #skeletonBar>\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n </ng-template>\n <div class=\"header\" *ngIf=\"!loading; else skeletonBar\">\n <h1 id=\"page-header\" *ngIf=\"!!header\">{{ header }}</h1>\n <h2 id=\"page-subheader\" *ngIf=\"!!subheader\">{{ subheader }}</h2>\n </div>\n </div>\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n <ng-container *ngIf=\"additionalToolbarContentLeft\" [ngTemplateOutlet]=\"additionalToolbarContentLeft\">\n </ng-container>\n\n <ng-container *ngIf=\"!disableDefaultActions\"> </ng-container>\n <ng-template #skeletonActions>\n <div class=\"flex\">\n <p-skeleton width=\"5rem\" height=\"2rem\" styleClass=\"mr-2\"></p-skeleton>\n <p-skeleton width=\"2rem\" height=\"2rem\" styleClass=\"mb-2\"></p-skeleton>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!loading; else skeletonActions\">\n <div *ngIf=\"inlineActions && inlineActions.length > 0\" class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n <ng-container *ngFor=\"let action of inlineActions\">\n <p-button\n
|
|
202
|
+
args: [{ selector: 'ocx-page-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"onecx-page-header mb-4\" name=\"ocx-page-header-wrapper\">\n <ng-container *ngIf=\"showBreadcrumbs\">\n <p-breadcrumb\n [model]=\"items\"\n *ngIf=\"breadcrumbs$ | async as items\"\n [home]=\"(home$ | async)?.menuItem ?? {}\"\n [homeAriaLabel]=\"(home$ | async)?.page ? ('OCX_PAGE_HEADER.HOME_ARIA_LABEL' | translate: { page: (home$ | async)?.page}) : ('OCX_PAGE_HEADER.HOME_DEFAULT_ARIA_LABEL' | translate)\"\n [attr.manual]=\"manualBreadcrumbs\"\n ></p-breadcrumb>\n </ng-container>\n <div class=\"title-bar flex flex-row md:justify-content-between p-3\">\n <div class=\"title-wrap\">\n <div class=\"figure flex h-2rem w-2rem md:h-3rem md:w-3rem\" *ngIf=\"showFigure\">\n <div #previewImage class=\"figure-image absolute top-0 left-0 right-0 bottom-0\">\n <ng-content select=\"[figureImage]\"></ng-content>\n <img\n *ngIf=\"figureImage && !figureImageLoadError\"\n [ocxSrc]=\"figureImage\"\n alt=\"Figure image\"\n class=\"w-full\"\n (error)=\"handleImageError()\"\n />\n </div>\n <div\n class=\"colorblob flex-1 border-round\"\n *ngIf=\"previewImage.children.length === 0 || figureImageLoadError\"\n ></div>\n </div>\n <ng-template #skeletonBar>\n <div class=\"header justify-content-evenly\">\n <p-skeleton width=\"10rem\"></p-skeleton>\n <p-skeleton width=\"10rem\"></p-skeleton>\n </div>\n </ng-template>\n <div class=\"header\" *ngIf=\"!loading; else skeletonBar\">\n <h1 id=\"page-header\" *ngIf=\"!!header\">{{ header }}</h1>\n <h2 id=\"page-subheader\" *ngIf=\"!!subheader\">{{ subheader }}</h2>\n </div>\n </div>\n <div class=\"action-items-wrap mt-2 md:mt-0\">\n <ng-container *ngIf=\"additionalToolbarContentLeft\" [ngTemplateOutlet]=\"additionalToolbarContentLeft\">\n </ng-container>\n\n <ng-container *ngIf=\"!disableDefaultActions\"> </ng-container>\n <ng-template #skeletonActions>\n <div class=\"flex\">\n <p-skeleton width=\"5rem\" height=\"2rem\" styleClass=\"mr-2\"></p-skeleton>\n <p-skeleton width=\"2rem\" height=\"2rem\" styleClass=\"mb-2\"></p-skeleton>\n </div>\n </ng-template>\n <ng-container *ngIf=\"!loading; else skeletonActions\">\n <div *ngIf=\"inlineActions && inlineActions.length > 0\" class=\"toolbar flex flex-wrap gap-1 sm:gap-2\">\n <ng-container *ngFor=\"let action of inlineActions\">\n <span\n [pTooltip]=\"action.disabled ? (action.disabledTooltipKey ? (action.disabledTooltipKey | translate) : action.disabledTooltip) : (action.titleKey ? (action.titleKey | translate) : action.title)\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n >\n <p-button\n id=\"{{ action.id }}\"\n [icon]=\"action.icon ?? ''\"\n type=\"button\"\n class=\"action-button\"\n [label]=\"action.labelKey ? (action.labelKey | translate) : action.label\"\n (onClick)=\"action.actionCallback()\"\n [disabled]=\"action.disabled ? action.disabled : false\"\n [attr.name]=\"action.icon ? 'ocx-page-header-inline-action-icon-button' : 'ocx-page-header-inline-action-button'\"\n [ariaLabel]=\" (action.ariaLabelKey ? (action.ariaLabelKey | translate) : action.ariaLabel) || (action.titleKey ? (action.titleKey | translate) : action.title) || (action.labelKey ? (action.labelKey | translate) : action.label)\"\n ></p-button>\n </span>\n </ng-container>\n </div>\n <ng-content select=\"[toolbarItems]\"></ng-content>\n <ng-container>\n <div *ngIf=\"overflowActions.length !== 0\">\n <button\n id=\"pageHeaderMenuButton\"\n type=\"button\"\n pButton\n icon=\"pi pi-ellipsis-v\"\n pTooltip=\"{{ 'OCX_PAGE_HEADER.MORE_ACTIONS' | translate }}\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n class=\"more-actions-menu-button action-button ml-2\"\n (click)=\"menu.toggle($event)\"\n name=\"ocx-page-header-overflow-action-button\"\n [attr.aria-label]=\"('OCX_PAGE_HEADER.MORE_ACTIONS' | translate)\"\n ></button>\n <p-menu #menu [popup]=\"true\" [model]=\"overflowActions\" appendTo=\"body\"></p-menu>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"additionalToolbarContent\" [ngTemplateOutlet]=\"additionalToolbarContent\"> </ng-container>\n </div>\n </div>\n\n <div class=\"object-panel\" [ngClass]=\"getObjectPanelLayoutClasses()\">\n <ng-container *ngIf=\"objectDetails\">\n <div class=\"object-info\" [ngClass]=\"getObjectInfoLayoutClasses()\" *ngFor=\"let item of objectDetails\">\n <span\n class=\"flex font-medium text-600 object-info-grid-label\"\n name=\"object-detail-label\"\n [pTooltip]=\"item.labelTooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >{{ item.label | dynamicPipe:item.labelPipe }}</span\n >\n <span *ngIf=\"item.icon || item.value\" class=\"object-info-grid-value\">\n <span\n class=\"flex text-900 align-items-center gap-2 w-max\"\n [ngClass]=\"generateItemStyle(item)\"\n name=\"object-detail-value\"\n >\n <span\n class=\"flex align-items-center gap-2\"\n [pTooltip]=\"item.valueTooltip || item.tooltip || ''\"\n tooltipEvent=\"hover\"\n tooltipPosition=\"top\"\n >\n <i\n *ngIf=\"item.icon\"\n class='{{item.icon + \" \" + (item.iconStyleClass || \"\")}}'\n name=\"object-detail-icon\"\n ></i>\n {{ item.value | dynamicPipe:item.valuePipe:item.valuePipeArgs}}\n </span>\n <p-button\n *ngIf=\"item.actionItemIcon && item.actionItemCallback\"\n [icon]=\"item.actionItemIcon\"\n styleClass=\"p-button-text p-0 w-full\"\n [pTooltip]=\"item.actionItemTooltip || ''\"\n tooltipPosition=\"top\"\n tooltipEvent=\"hover\"\n [ariaLabel]=\"(item.actionItemAriaLabelKey ? (item.actionItemAriaLabelKey | translate) : item.actionItemAriaLabel) || item.actionItemTooltip || ''\"\n (onClick)=\"item.actionItemCallback()\"\n ></p-button>\n </span>\n </span>\n </div>\n </ng-container>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host(.p-button-label){font-weight:400}.onecx-page-header{display:flex;flex-flow:column;border-radius:.25rem;overflow:hidden;background:#fff;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.1);box-shadow:0 2px 2px #0000001a;border:1px solid #cdd0d3}.onecx-page-header .title-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;background-color:#f8f9fa;border-top-right-radius:inherit;border-top-left-radius:inherit}.onecx-page-header .title-bar .figure{width:3rem;height:3rem;margin-right:.5rem;position:relative}.onecx-page-header .title-bar .figure .figure-image img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.onecx-page-header .title-bar .figure .colorblob{background-color:var(--primary-color);position:absolute;inset:0}.onecx-page-header .title-bar .title-wrap{display:flex;flex-flow:row;align-items:center;gap:.25rem}.onecx-page-header .title-bar .title-wrap .header{display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.onecx-page-header .title-bar .title-wrap h1{font-size:1em;font-weight:700;margin:0;padding:0}.onecx-page-header .title-bar .title-wrap h2{font-size:1em;font-weight:400;margin:0;padding:0}.onecx-page-header .title-bar .action-items-wrap{display:flex;height:fit-content;gap:.5rem;align-items:center;justify-content:space-between}.onecx-page-header .object-panel{border-top:1px solid #cdd0d3;padding:1rem}.onecx-page-header .object-panel:empty{display:none!important}.badge-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.scale{transform:scale(2)}.object-info-grid-label{flex:1}.object-info-grid-value{flex:3}.min-w-120{min-width:120px!important}\n"] }]
|
|
202
203
|
}], ctorParameters: () => [{ type: i1.BreadcrumbService }, { type: i2.TranslateService }, { type: i3.AppStateService }, { type: i3.UserService }], propDecorators: { header: [{
|
|
203
204
|
type: Input
|
|
204
205
|
}], loading: [{
|
|
@@ -234,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
234
235
|
type: ContentChild,
|
|
235
236
|
args: ['additionalToolbarContentLeft']
|
|
236
237
|
}] } });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUlOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7Ozs7Ozs7Ozs7O0FBZ0VyRSxNQUFNLE9BQU8sbUJBQW1CO0lBd0I5QixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtJ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REgsTUFBTTtnQkFJUCx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUl4Qyw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgTWVudUl0ZW0sIFByaW1lSWNvbnMgfSBmcm9tICdwcmltZW5nL2FwaSdcbmltcG9ydCB7IGNvbmNhdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICdAb25lY3gvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BvbmVjeC9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlJ1xuaW1wb3J0IHsgUHJpbWVJY29uIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJpbWVpY29uLnV0aWxzJ1xuXG4vKipcbiAqIEFjdGlvbiBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbiB7XG4gIGlkPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIGxhYmVsS2V5Pzogc3RyaW5nXG4gIGljb24/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFBlcm1pc3Npb24gZm9yIHRoaXMgYWN0aW9uLiBJZiB0aGUgY3VycmVudCB1c2VyIGRvZXMgbm90IGhhdmUgdGhpcyBwZXJtaXNzaW9uLCB0aGUgYWN0aW9uIHdpbGwgbm90IGJlIHNob3duLlxuICAgKi9cbiAgcGVybWlzc2lvbj86IHN0cmluZ1xuICB0aXRsZT86IHN0cmluZ1xuICB0aXRsZUtleT86IHN0cmluZ1xuICBhcmlhTGFiZWw/OiBzdHJpbmdcbiAgYXJpYUxhYmVsS2V5Pzogc3RyaW5nXG4gIGJ0bkNsYXNzPzogc3RyaW5nXG4gIGFjdGlvbkNhbGxiYWNrKCk6IHZvaWRcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIHNob3c/OiAnYWx3YXlzJyB8ICdhc092ZXJmbG93J1xuICBjb25kaXRpb25hbD86IGJvb2xlYW5cbiAgLy8gTm90ZTogVGhpcyBjdXJyZW50bHkgZG9lc24ndCB3b3JrIHdpdGggZHluYW1pYyB2YWx1ZXMsIHNpbmNlIGEgcGFzc2VkIGluIEFjdGlvbiBpcyBqdXN0IGEgY29weSBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0LlxuICAvLyBBcyBhIHdvcmthcm91bmQsIHlvdSBjYW4gbWFudWFsbHkgdXBkYXRlL3JlcGxhY2UgdGhlIHBhc3NlZCBpbiBBY3Rpb24gaWYgeW91IHdpc2ggdG8gdXBkYXRlIGEgc2hvd0NvbmRpdGlvblxuICBzaG93Q29uZGl0aW9uPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdERldGFpbEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHZhbHVlVG9vbHRpcGAgaW5zdGVhZFxuICAgKi9cbiAgdG9vbHRpcD86IHN0cmluZ1xuICBsYWJlbFRvb2x0aXA/OiBzdHJpbmdcbiAgdmFsdWVUb29sdGlwPzogc3RyaW5nXG4gIGljb24/OiBQcmltZUljb25cbiAgaWNvblN0eWxlQ2xhc3M/OiBzdHJpbmdcbiAgbGFiZWxQaXBlPzogVHlwZTxhbnk+XG4gIHZhbHVlUGlwZT86IFR5cGU8YW55PlxuICB2YWx1ZVBpcGVBcmdzPzogc3RyaW5nXG4gIHZhbHVlQ3NzQ2xhc3M/OiBzdHJpbmdcbiAgYWN0aW9uSXRlbUljb24/OiBQcmltZUljb25cbiAgYWN0aW9uSXRlbUNhbGxiYWNrPzogKCkgPT4gdm9pZFxuICBhY3Rpb25JdGVtVG9vbHRpcD86IHN0cmluZ1xuICBhY3Rpb25JdGVtQXJpYUxhYmVsS2V5Pzogc3RyaW5nXG4gIGFjdGlvbkl0ZW1BcmlhTGFiZWw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIb21lSXRlbSB7XG4gIG1lbnVJdGVtOiBNZW51SXRlbVxuICBwYWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEdyaWRDb2x1bW5PcHRpb25zID0gMSB8IDIgfCAzIHwgNCB8IDYgfCAxMlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtcGFnZS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBmaWd1cmVCYWNrZ3JvdW5kID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHNob3dGaWd1cmUgPSB0cnVlXG5cbiAgLy9pbWFnZSBmb3QgcHJldmlldyBpbiB0b3AtaGVhZGVyIGxlZnQgc2lkZVxuICBASW5wdXQoKVxuICBmaWd1cmVJbWFnZTogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgZGlzYWJsZURlZmF1bHRBY3Rpb25zID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBzdWJoZWFkZXI6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIF9hY3Rpb25zOiBBY3Rpb25bXSB8IHVuZGVmaW5lZFxuICBASW5wdXQoKVxuICBnZXQgYWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uc1xuICB9XG4gIHNldCBhY3Rpb25zKHZhbHVlKSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IHZhbHVlXG4gICAgdGhpcy5nZW5lcmF0ZUlubGluZUFjdGlvbnMoKVxuICAgIHRoaXMuZ2VuZXJhdGVPdmVyZmxvd0FjdGlvbnMoKVxuICB9XG5cbiAgQElucHV0KClcbiAgb2JqZWN0RGV0YWlsczogT2JqZWN0RGV0YWlsSXRlbVtdIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgc2hvd0JyZWFkY3J1bWJzID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIG1hbnVhbEJyZWFkY3J1bWJzID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBlbmFibGVHcmlkVmlldzogdW5kZWZpbmVkIHwgYm9vbGVhblxuXG4gIEBJbnB1dCgpXG4gIGdyaWRMYXlvdXREZXNrdG9wQ29sdW1uczogdW5kZWZpbmVkIHwgR3JpZENvbHVtbk9wdGlvbnNcblxuICBAT3V0cHV0KClcbiAgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBDb250ZW50Q2hpbGQoJ2FkZGl0aW9uYWxUb29sYmFyQ29udGVudCcpXG4gIGFkZGl0aW9uYWxUb29sYmFyQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZFxuXG4gIEBDb250ZW50Q2hpbGQoJ2FkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnQnKVxuICBhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRMZWZ0OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkXG5cbiAgb3ZlcmZsb3dBY3Rpb25zOiBNZW51SXRlbVtdID0gW11cbiAgaW5saW5lQWN0aW9uczogQWN0aW9uW10gfCB1bmRlZmluZWRcbiAgZGQgPSBuZXcgRGF0ZSgpXG4gIGJyZWFkY3J1bWJzJCE6IE9ic2VydmFibGU8TWVudUl0ZW1bXT5cblxuICBob21lJCE6IE9ic2VydmFibGU8SG9tZUl0ZW0+XG5cbiAgZmlndXJlSW1hZ2VMb2FkRXJyb3IgPSBmYWxzZVxuXG4gIG9iamVjdFBhbmVsR3JpZExheW91dENsYXNzZXMgPSAnZ3JpZCByb3ctZ2FwLTIgbS0wJ1xuICBvYmplY3RQYW5lbENvbHVtbkxheW91dENsYXNzZXMgPSAnZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBvdmVyZmxvdy14LWF1dG8nXG5cbiAgb2JqZWN0UGFuZWxEZWZhdWx0TGF5b3V0Q2xhc3NlcyA9ICdmbGV4IGZsZXgtY29sdW1uIHJvdy1nYXAtMiBtZDpmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbidcblxuICBvYmplY3RJbmZvR3JpZExheW91dENsYXNzZXMgPSAnY29sLTEyIGZsZXggZ2FwLTQgbWQ6Y29sLTYgYWxpZ24taXRlbXMtY2VudGVyIHAtMCdcbiAgb2JqZWN0SW5mb0NvbHVtbkxheW91dENsYXNzZXMgPSAnZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWluLXctMTIwJ1xuXG4gIG9iamVjdEluZm9EZWZhdWx0TGF5b3V0Q2xhc3NlcyA9ICdmbGV4IGZsZXgtcm93IG1kOmZsZXgtY29sdW1uIG1kOmFsaWduLWl0ZW1zLWNlbnRlciBtZDpnYXAtMidcblxuICBwcm90ZWN0ZWQgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJTZXJ2aWNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBicmVhZGNydW1ic1xuICAgIHRoaXMuaG9tZSQgPSBjb25jYXQoXG4gICAgICBvZih7IG1lbnVJdGVtOiB7IGljb246IFByaW1lSWNvbnMuSE9NRSwgcm91dGVyTGluazogJy8nIH0gfSksXG4gICAgICB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50UG9ydGFsJC5waXBlKFxuICAgICAgICBtYXAoKHBvcnRhbCkgPT4gKHtcbiAgICAgICAgICBtZW51SXRlbToge1xuICAgICAgICAgICAgaWNvbjogUHJpbWVJY29ucy5IT01FLFxuICAgICAgICAgICAgcm91dGVyTGluazogcG9ydGFsLmJhc2VVcmwsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYWdlOiBwb3J0YWwucG9ydGFsTmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aW9ucyddKSB7XG4gICAgICB0aGlzLmdlbmVyYXRlSW5saW5lQWN0aW9ucygpXG4gICAgICB0aGlzLmdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFudWFsQnJlYWRjcnVtYnMpIHtcbiAgICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5icmVhZGNydW1icy5nZW5lcmF0ZWRJdGVtc1NvdXJjZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJzJCA9IHRoaXMuYnJlYWRjcnVtYnMuaXRlbXNIYW5kbGVyXG4gICAgfVxuICAgIHRoaXMuZ2VuZXJhdGVJbmxpbmVBY3Rpb25zKClcbiAgICB0aGlzLmdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKClcbiAgfVxuXG4gIG9uQWN0aW9uKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICB0aGlzLnNhdmUuZW1pdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUltYWdlRXJyb3IoKSB7XG4gICAgdGhpcy5maWd1cmVJbWFnZUxvYWRFcnJvciA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUl0ZW1TdHlsZShpdGVtOiBPYmplY3REZXRhaWxJdGVtKTogc3RyaW5nIHtcbiAgICBsZXQgc3R5bGUgPSAnJ1xuICAgIGlmIChpdGVtLmljb24pIHN0eWxlID0gc3R5bGUuY29uY2F0KHN0eWxlLCAnICcsICdnYXAtMSBhbGlnbi1pdGVtcy1jZW50ZXInKVxuICAgIGlmIChpdGVtLnZhbHVlQ3NzQ2xhc3MpIHN0eWxlID0gc3R5bGUuY29uY2F0KHN0eWxlLCAnICcsIGl0ZW0udmFsdWVDc3NDbGFzcylcbiAgICByZXR1cm4gc3R5bGVcbiAgfVxuXG4gIHB1YmxpYyBnZXRPYmplY3RQYW5lbExheW91dENsYXNzZXMoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlR3JpZFZpZXcpIHtcbiAgICAgIHJldHVybiB0aGlzLm9iamVjdFBhbmVsR3JpZExheW91dENsYXNzZXNcbiAgICB9XG4gICAgaWYgKHRoaXMuZW5hYmxlR3JpZFZpZXcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5vYmplY3RQYW5lbENvbHVtbkxheW91dENsYXNzZXNcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0UGFuZWxEZWZhdWx0TGF5b3V0Q2xhc3Nlc1xuICB9XG5cbiAgcHVibGljIGdldE9iamVjdEluZm9MYXlvdXRDbGFzc2VzKCkge1xuICAgIGlmICh0aGlzLmVuYWJsZUdyaWRWaWV3KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5vYmplY3RJbmZvR3JpZExheW91dENsYXNzZXN9IGxnOmNvbC0ke1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXREZXNrdG9wQ29sdW1ucyA/IDEyIC8gdGhpcy5ncmlkTGF5b3V0RGVza3RvcENvbHVtbnMgOiA0XG4gICAgICB9YFxuICAgIH1cbiAgICBpZiAodGhpcy5lbmFibGVHcmlkVmlldyA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLm9iamVjdEluZm9Db2x1bW5MYXlvdXRDbGFzc2VzXG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9iamVjdEluZm9EZWZhdWx0TGF5b3V0Q2xhc3Nlc1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGxpc3Qgb2YgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhbiBvdmVyZmxvdyBtZW51XG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5czogc3RyaW5nW10gPSBbXG4gICAgICAgIC4uLnRoaXMuYWN0aW9ucy5tYXAoKGEpID0+IGEubGFiZWxLZXkgfHwgJycpLmZpbHRlcigoYSkgPT4gISFhKSxcbiAgICAgICAgLi4udGhpcy5hY3Rpb25zLm1hcCgoYSkgPT4gYS50aXRsZUtleSB8fCAnJykuZmlsdGVyKChhKSA9PiAhIWEpLFxuICAgICAgXVxuICAgICAgY29uc3QgdHJhbnNsYXRpb25zJCA9IHRyYW5zbGF0aW9uS2V5cy5sZW5ndGggPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRyYW5zbGF0aW9uS2V5cykgOiBvZihbXSlcbiAgICAgIHRyYW5zbGF0aW9ucyQuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgYWxsb3dlZEFjdGlvbnM6IEFjdGlvbltdID0gW11cbiAgICAgICAgaWYgKHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoYSkgPT4gYS5zaG93ID09PSAnYXNPdmVyZmxvdycpXG4gICAgICAgICAgICAuZmlsdGVyKChhKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhLmNvbmRpdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGEuc2hvd0NvbmRpdGlvbikgcmV0dXJuIGFcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICB9IGVsc2UgcmV0dXJuIGFcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tBY3Rpb25QZXJtaXNzaW9uKGFsbG93ZWRBY3Rpb25zLCBhY3Rpb24pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMub3ZlcmZsb3dBY3Rpb25zID0gW1xuICAgICAgICAgICAgLi4uYWxsb3dlZEFjdGlvbnMubWFwPE1lbnVJdGVtPigoYSkgPT4gKHtcbiAgICAgICAgICAgICAgbGFiZWw6IGEubGFiZWxLZXkgPyB0cmFuc2xhdGlvbnNbYS5sYWJlbEtleV0gOiBhLmxhYmVsLFxuICAgICAgICAgICAgICBpY29uOiBhLmljb24sXG4gICAgICAgICAgICAgIHRvb2x0aXBPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdG9vbHRpcExhYmVsOiBhLnRpdGxlS2V5ID8gdHJhbnNsYXRpb25zW2EudGl0bGVLZXldIDogYS50aXRsZSxcbiAgICAgICAgICAgICAgICB0b29sdGlwRXZlbnQ6ICdob3ZlcicsXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY29tbWFuZDogYS5hY3Rpb25DYWxsYmFjayxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IGEuZGlzYWJsZWQsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBsaXN0IG9mIGFjdGlvbnMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgYXMgaW5saW5lIGJ1dHRvbnNcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVJbmxpbmVBY3Rpb25zKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMpIHtcbiAgICAgIC8vIFRlbXAgYXJyYXkgdG8gaG9sZCBhbGwgaW5saW5lIGFjdGlvbnMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgY3VycmVudCB1c2VyXG4gICAgICBjb25zdCBhbGxvd2VkQWN0aW9uczogQWN0aW9uW10gPSBbXVxuICAgICAgLy8gQ2hlY2sgcGVybWlzc2lvbnMgZm9yIGFsbCBhY3Rpb25zIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkICdhbHdheXMnXG4gICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgLmZpbHRlcigoYSkgPT4gYS5zaG93ID09PSAnYWx3YXlzJylcbiAgICAgICAgLmZpbHRlcigoYSkgPT4ge1xuICAgICAgICAgIGlmIChhLmNvbmRpdGlvbmFsKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5zaG93Q29uZGl0aW9uID8gYSA6IG51bGxcbiAgICAgICAgICB9IGVsc2UgcmV0dXJuIGFcbiAgICAgICAgfSlcbiAgICAgICAgLmZvckVhY2goKGFjdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hlY2tBY3Rpb25QZXJtaXNzaW9uKGFsbG93ZWRBY3Rpb25zLCBhY3Rpb24pXG4gICAgICAgIH0pXG4gICAgICB0aGlzLmlubGluZUFjdGlvbnMgPSBbLi4uYWxsb3dlZEFjdGlvbnNdXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBBZGRzIGEgZ2l2ZW4gYWN0aW9uIHRvIGEgZ2l2ZW4gYXJyYXkgaWYgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkIHRvIHNlZSBpdFxuICAgKiBAcGFyYW0gYWxsb3dlZEFjdGlvbnMgQXJyYXkgdGhhdCB0aGUgYWN0aW9uIHNob3VsZCBiZSBhZGRlZCB0byBpZiB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgdG8gc2VlIGl0XG4gICAqIEBwYXJhbSBhY3Rpb24gQWN0aW9uIGZvciB3aGljaCBhIHBlcm1pc3Npb24gY2hlY2sgc2hvdWxkIGJlIGV4ZWN1dGVkXG4gICAqL1xuICBwcml2YXRlIGNoZWNrQWN0aW9uUGVybWlzc2lvbihhbGxvd2VkQWN0aW9uczogQWN0aW9uW10sIGFjdGlvbjogQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5wZXJtaXNzaW9uKSB7XG4gICAgICBpZiAodGhpcy51c2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKGFjdGlvbi5wZXJtaXNzaW9uKSkge1xuICAgICAgICAvLyBQdXNoIGFjdGlvbiB0byBhbGxvd2VkIGFycmF5IGlmIHVzZXIgaGFzIHN1ZmZpY2llbnQgcGVybWlzc2lvbnNcbiAgICAgICAgYWxsb3dlZEFjdGlvbnMucHVzaChhY3Rpb24pXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFB1c2ggYWN0aW9uIHRvIGFsbG93ZWQgYXJyYXkgaWYgbm8gcGVybWlzc2lvbiB3YXMgc3BlY2lmaWVkXG4gICAgICBhbGxvd2VkQWN0aW9ucy5wdXNoKGFjdGlvbilcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvbmVjeC1wYWdlLWhlYWRlciBtYi00XCIgbmFtZT1cIm9jeC1wYWdlLWhlYWRlci13cmFwcGVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93QnJlYWRjcnVtYnNcIj5cbiAgICA8cC1icmVhZGNydW1iXG4gICAgICBbbW9kZWxdPVwiaXRlbXNcIlxuICAgICAgKm5nSWY9XCJicmVhZGNydW1icyQgfCBhc3luYyAgYXMgaXRlbXNcIlxuICAgICAgW2hvbWVdPVwiKGhvbWUkIHwgYXN5bmMpPy5tZW51SXRlbSA/PyB7fVwiXG4gICAgICBbaG9tZUFyaWFMYWJlbF09XCIoaG9tZSQgfCBhc3luYyk/LnBhZ2UgPyAoJ09DWF9QQUdFX0hFQURFUi5IT01FX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlOiB7IHBhZ2U6IChob21lJCB8IGFzeW5jKT8ucGFnZX0pIDogKCdPQ1hfUEFHRV9IRUFERVIuSE9NRV9ERUZBVUxUX0FSSUFfTEFCRUwnIHwgdHJhbnNsYXRlKVwiXG4gICAgICBbYXR0ci5tYW51YWxdPVwibWFudWFsQnJlYWRjcnVtYnNcIlxuICAgID48L3AtYnJlYWRjcnVtYj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZS1iYXIgZmxleCBmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGUtd3JhcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZ3VyZSBmbGV4IGgtMnJlbSB3LTJyZW0gbWQ6aC0zcmVtIG1kOnctM3JlbVwiICpuZ0lmPVwic2hvd0ZpZ3VyZVwiPlxuICAgICAgICA8ZGl2ICNwcmV2aWV3SW1hZ2UgY2xhc3M9XCJmaWd1cmUtaW1hZ2UgYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgYm90dG9tLTBcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmlndXJlSW1hZ2VdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICpuZ0lmPVwiZmlndXJlSW1hZ2UgJiYgIWZpZ3VyZUltYWdlTG9hZEVycm9yXCJcbiAgICAgICAgICAgIFtvY3hTcmNdPVwiZmlndXJlSW1hZ2VcIlxuICAgICAgICAgICAgYWx0PVwiRmlndXJlIGltYWdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjb2xvcmJsb2IgZmxleC0xIGJvcmRlci1yb3VuZFwiXG4gICAgICAgICAgKm5nSWY9XCJwcmV2aWV3SW1hZ2UuY2hpbGRyZW4ubGVuZ3RoID09PSAwIHx8IGZpZ3VyZUltYWdlTG9hZEVycm9yXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NrZWxldG9uQmFyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGp1c3RpZnktY29udGVudC1ldmVubHlcIj5cbiAgICAgICAgICA8cC1za2VsZXRvbiB3aWR0aD1cIjEwcmVtXCI+PC9wLXNrZWxldG9uPlxuICAgICAgICAgIDxwLXNrZWxldG9uIHdpZHRoPVwiMTByZW1cIj48L3Atc2tlbGV0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIHNrZWxldG9uQmFyXCI+XG4gICAgICAgIDxoMSBpZD1cInBhZ2UtaGVhZGVyXCIgKm5nSWY9XCIhIWhlYWRlclwiPnt7IGhlYWRlciB9fTwvaDE+XG4gICAgICAgIDxoMiBpZD1cInBhZ2Utc3ViaGVhZGVyXCIgKm5nSWY9XCIhIXN1YmhlYWRlclwiPnt7IHN1YmhlYWRlciB9fTwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWl0ZW1zLXdyYXAgbXQtMiBtZDptdC0wXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnRcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRpc2FibGVEZWZhdWx0QWN0aW9uc1wiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25BY3Rpb25zPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgIDxwLXNrZWxldG9uIHdpZHRoPVwiNXJlbVwiIGhlaWdodD1cIjJyZW1cIiBzdHlsZUNsYXNzPVwibXItMlwiPjwvcC1za2VsZXRvbj5cbiAgICAgICAgICA8cC1za2VsZXRvbiB3aWR0aD1cIjJyZW1cIiBoZWlnaHQ9XCIycmVtXCIgc3R5bGVDbGFzcz1cIm1iLTJcIj48L3Atc2tlbGV0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBza2VsZXRvbkFjdGlvbnNcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlubGluZUFjdGlvbnMgJiYgaW5saW5lQWN0aW9ucy5sZW5ndGggPiAwXCIgY2xhc3M9XCJ0b29sYmFyIGZsZXggZmxleC13cmFwIGdhcC0xIHNtOmdhcC0yXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGlubGluZUFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInt7IGFjdGlvbi5pZCB9fVwiXG4gICAgICAgICAgICAgIFtpY29uXT1cImFjdGlvbi5pY29uID8/ICcnXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJhY3Rpb24ubGFiZWxLZXkgPyAoYWN0aW9uLmxhYmVsS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImFjdGlvbi5hY3Rpb25DYWxsYmFjaygpXCJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIihhY3Rpb24udGl0bGVLZXkgPyAoYWN0aW9uLnRpdGxlS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi50aXRsZSlcIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICB0b29sdGlwRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb24uZGlzYWJsZWQgPyBhY3Rpb24uZGlzYWJsZWQgOiBmYWxzZVwiXG4gICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwiYWN0aW9uLmljb24gPyAnb2N4LXBhZ2UtaGVhZGVyLWlubGluZS1hY3Rpb24taWNvbi1idXR0b24nIDogJ29jeC1wYWdlLWhlYWRlci1pbmxpbmUtYWN0aW9uLWJ1dHRvbidcIlxuICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIiAoYWN0aW9uLmFyaWFMYWJlbEtleSA/IChhY3Rpb24uYXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi5hcmlhTGFiZWwpIHx8IChhY3Rpb24udGl0bGVLZXkgPyAoYWN0aW9uLnRpdGxlS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi50aXRsZSkgfHwgKGFjdGlvbi5sYWJlbEtleSA/IChhY3Rpb24ubGFiZWxLZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmxhYmVsKVwiXG4gICAgICAgICAgICA+PC9wLWJ1dHRvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0b29sYmFySXRlbXNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJvdmVyZmxvd0FjdGlvbnMubGVuZ3RoICE9PSAwXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwicGFnZUhlYWRlck1lbnVCdXR0b25cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICBpY29uPVwicGkgcGktZWxsaXBzaXMtdlwiXG4gICAgICAgICAgICAgIHBUb29sdGlwPVwie3sgJ09DWF9QQUdFX0hFQURFUi5NT1JFX0FDVElPTlMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgdG9vbHRpcEV2ZW50PVwiaG92ZXJcIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICBjbGFzcz1cIm1vcmUtYWN0aW9ucy1tZW51LWJ1dHRvbiBhY3Rpb24tYnV0dG9uIG1sLTJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJvY3gtcGFnZS1oZWFkZXItb3ZlcmZsb3ctYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKCdPQ1hfUEFHRV9IRUFERVIuTU9SRV9BQ1RJT05TJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPHAtbWVudSAjbWVudSBbcG9wdXBdPVwidHJ1ZVwiIFttb2RlbF09XCJvdmVyZmxvd0FjdGlvbnNcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRcIj4gPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJvYmplY3QtcGFuZWxcIiBbbmdDbGFzc109XCJnZXRPYmplY3RQYW5lbExheW91dENsYXNzZXMoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmplY3REZXRhaWxzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LWluZm9cIiBbbmdDbGFzc109XCJnZXRPYmplY3RJbmZvTGF5b3V0Q2xhc3NlcygpXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb2JqZWN0RGV0YWlsc1wiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmb250LW1lZGl1bSB0ZXh0LTYwMCBvYmplY3QtaW5mby1ncmlkLWxhYmVsXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0LWRldGFpbC1sYWJlbFwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cIml0ZW0ubGFiZWxUb29sdGlwIHx8ICcnXCJcbiAgICAgICAgICB0b29sdGlwRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICA+e3sgaXRlbS5sYWJlbCB8IGR5bmFtaWNQaXBlOml0ZW0ubGFiZWxQaXBlIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmljb24gfHwgaXRlbS52YWx1ZVwiIGNsYXNzPVwib2JqZWN0LWluZm8tZ3JpZC12YWx1ZVwiPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggdGV4dC05MDAgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHctbWF4XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdlbmVyYXRlSXRlbVN0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgIG5hbWU9XCJvYmplY3QtZGV0YWlsLXZhbHVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIml0ZW0udmFsdWVUb29sdGlwIHx8IGl0ZW0udG9vbHRpcCB8fCAnJ1wiXG4gICAgICAgICAgICAgIHRvb2x0aXBFdmVudD1cImhvdmVyXCJcbiAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9J3t7aXRlbS5pY29uICsgXCIgXCIgKyAoaXRlbS5pY29uU3R5bGVDbGFzcyB8fCBcIlwiKX19J1xuICAgICAgICAgICAgICAgIG5hbWU9XCJvYmplY3QtZGV0YWlsLWljb25cIlxuICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICB7eyBpdGVtLnZhbHVlIHwgZHluYW1pY1BpcGU6aXRlbS52YWx1ZVBpcGU6aXRlbS52YWx1ZVBpcGVBcmdzfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uYWN0aW9uSXRlbUljb24gJiYgaXRlbS5hY3Rpb25JdGVtQ2FsbGJhY2tcIlxuICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmFjdGlvbkl0ZW1JY29uXCJcbiAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXRleHQgcC0wIHctZnVsbFwiXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJpdGVtLmFjdGlvbkl0ZW1Ub29sdGlwIHx8ICcnXCJcbiAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgdG9vbHRpcEV2ZW50PVwiaG92ZXJcIlxuICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIihpdGVtLmFjdGlvbkl0ZW1BcmlhTGFiZWxLZXkgPyAoaXRlbS5hY3Rpb25JdGVtQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0uYWN0aW9uSXRlbUFyaWFMYWJlbCkgfHwgaXRlbS5hY3Rpb25JdGVtVG9vbHRpcCB8fCAnJ1wiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cIml0ZW0uYWN0aW9uSXRlbUNhbGxiYWNrKClcIlxuICAgICAgICAgICAgPjwvcC1idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUlOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFBOzs7Ozs7Ozs7Ozs7O0FBa0VyRSxNQUFNLE9BQU8sbUJBQW1CO0lBd0I5QixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQUs7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBK0NELFlBQ0UsV0FBOEIsRUFDdEIsZ0JBQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLFdBQXdCO1FBRnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBOUVsQyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBR2YscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBR3ZCLGVBQVUsR0FBRyxJQUFJLENBQUE7UUFPakIsMEJBQXFCLEdBQUcsS0FBSyxDQUFBO1FBb0I3QixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUd0QixzQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFTekIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFRekIsb0JBQWUsR0FBZSxFQUFFLENBQUE7UUFFaEMsT0FBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFLZix5QkFBb0IsR0FBRyxLQUFLLENBQUE7UUFFNUIsaUNBQTRCLEdBQUcsb0JBQW9CLENBQUE7UUFDbkQsbUNBQThCLEdBQUcsdURBQXVELENBQUE7UUFFeEYsb0NBQStCLEdBQUcsbUVBQW1FLENBQUE7UUFFckcsZ0NBQTJCLEdBQUcsbURBQW1ELENBQUE7UUFDakYsa0NBQTZCLEdBQUcscURBQXFELENBQUE7UUFFckYsbUNBQThCLEdBQUcsNkRBQTZELENBQUE7UUFVNUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQ2pCLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQzNCO1lBQ0QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQ3hCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtZQUM1QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFBO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQTtRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDNUIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFjO1FBQ3JCLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDaEIsTUFBSztZQUNQO2dCQUNFLE1BQUs7UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUE7SUFDbEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQXNCO1FBQzdDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtRQUNkLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLDBCQUEwQixDQUFDLENBQUE7UUFDM0UsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzVFLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQTtRQUMxQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFBO1FBQzVDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQTtJQUM3QyxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxJQUFJLENBQUMsMkJBQTJCLFdBQ3hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FDdkUsRUFBRSxDQUFBO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQTtRQUMzQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUE7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sZUFBZSxHQUFhO2dCQUNoQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEUsQ0FBQTtZQUNELE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNsRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3ZDLE1BQU0sY0FBYyxHQUFhLEVBQUUsQ0FBQTtnQkFDbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxPQUFPO3lCQUNULE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUM7eUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNaLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDOzRCQUNsQixJQUFJLENBQUMsQ0FBQyxhQUFhO2dDQUFFLE9BQU8sQ0FBQyxDQUFBOzRCQUM3QixPQUFPLElBQUksQ0FBQTt3QkFDYixDQUFDOzs0QkFBTSxPQUFPLENBQUMsQ0FBQTtvQkFDakIsQ0FBQyxDQUFDO3lCQUNELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUNsQixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFBO29CQUNwRCxDQUFDLENBQUMsQ0FBQTtvQkFDSixJQUFJLENBQUMsZUFBZSxHQUFHO3dCQUNyQixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQVcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7NEJBQ3RDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTs0QkFDUixLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7NEJBQ3RELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTs0QkFDWixjQUFjLEVBQUU7Z0NBQ2QsWUFBWSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO2dDQUM3RCxZQUFZLEVBQUUsT0FBTztnQ0FDckIsZUFBZSxFQUFFLEtBQUs7NkJBQ3ZCOzRCQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsY0FBYzs0QkFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO3lCQUNyQixDQUFDLENBQUM7cUJBQ0osQ0FBQTtnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLG1GQUFtRjtZQUNuRixNQUFNLGNBQWMsR0FBYSxFQUFFLENBQUE7WUFDbkMscUVBQXFFO1lBQ3JFLElBQUksQ0FBQyxPQUFPO2lCQUNULE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7aUJBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNsQixPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO2dCQUNuQyxDQUFDOztvQkFBTSxPQUFPLENBQUMsQ0FBQTtZQUNqQixDQUFDLENBQUM7aUJBQ0QsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFDcEQsQ0FBQyxDQUFDLENBQUE7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQTtRQUMxQyxDQUFDO0lBQ0gsQ0FBQztJQUNEOzs7O09BSUc7SUFDSyxxQkFBcUIsQ0FBQyxjQUF3QixFQUFFLE1BQWM7UUFDcEUsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsa0VBQWtFO2dCQUNsRSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzdCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLDhEQUE4RDtZQUM5RCxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzdCLENBQUM7SUFDSCxDQUFDOytHQTlPVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixzeEJDcEZoQywrdE5BK0lBOzs0RkQzRGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJOzZLQUk5QixNQUFNO3NCQURaLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBV04sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixJQUFJO3NCQURILE1BQU07Z0JBSVAsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLDBCQUEwQjtnQkFJeEMsNEJBQTRCO3NCQUQzQixZQUFZO3VCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE1lbnVJdGVtLCBQcmltZUljb25zIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBjb25jYXQsIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQG9uZWN4L2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICdAb25lY3gvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCcmVhZGNydW1iU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2JyZWFkY3J1bWIuc2VydmljZSdcbmltcG9ydCB7IFByaW1lSWNvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3ByaW1laWNvbi51dGlscydcblxuLyoqXG4gKiBBY3Rpb24gZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBsYWJlbEtleT86IHN0cmluZ1xuICBpY29uPzogc3RyaW5nXG4gIC8qKlxuICAgKiBQZXJtaXNzaW9uIGZvciB0aGlzIGFjdGlvbi4gSWYgdGhlIGN1cnJlbnQgdXNlciBkb2VzIG5vdCBoYXZlIHRoaXMgcGVybWlzc2lvbiwgdGhlIGFjdGlvbiB3aWxsIG5vdCBiZSBzaG93bi5cbiAgICovXG4gIHBlcm1pc3Npb24/OiBzdHJpbmdcbiAgdGl0bGU/OiBzdHJpbmdcbiAgdGl0bGVLZXk/OiBzdHJpbmdcbiAgYXJpYUxhYmVsPzogc3RyaW5nXG4gIGFyaWFMYWJlbEtleT86IHN0cmluZ1xuICBidG5DbGFzcz86IHN0cmluZ1xuICBhY3Rpb25DYWxsYmFjaygpOiB2b2lkXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBkaXNhYmxlZFRvb2x0aXA/OiBzdHJpbmdcbiAgZGlzYWJsZWRUb29sdGlwS2V5Pzogc3RyaW5nXG4gIHNob3c/OiAnYWx3YXlzJyB8ICdhc092ZXJmbG93J1xuICBjb25kaXRpb25hbD86IGJvb2xlYW5cbiAgLy8gTm90ZTogVGhpcyBjdXJyZW50bHkgZG9lc24ndCB3b3JrIHdpdGggZHluYW1pYyB2YWx1ZXMsIHNpbmNlIGEgcGFzc2VkIGluIEFjdGlvbiBpcyBqdXN0IGEgY29weSBvZiB0aGUgb3JpZ2luYWwgb2JqZWN0LlxuICAvLyBBcyBhIHdvcmthcm91bmQsIHlvdSBjYW4gbWFudWFsbHkgdXBkYXRlL3JlcGxhY2UgdGhlIHBhc3NlZCBpbiBBY3Rpb24gaWYgeW91IHdpc2ggdG8gdXBkYXRlIGEgc2hvd0NvbmRpdGlvblxuICBzaG93Q29uZGl0aW9uPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdERldGFpbEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHZhbHVlVG9vbHRpcGAgaW5zdGVhZFxuICAgKi9cbiAgdG9vbHRpcD86IHN0cmluZ1xuICBsYWJlbFRvb2x0aXA/OiBzdHJpbmdcbiAgdmFsdWVUb29sdGlwPzogc3RyaW5nXG4gIGljb24/OiBQcmltZUljb25cbiAgaWNvblN0eWxlQ2xhc3M/OiBzdHJpbmdcbiAgbGFiZWxQaXBlPzogVHlwZTxhbnk+XG4gIHZhbHVlUGlwZT86IFR5cGU8YW55PlxuICB2YWx1ZVBpcGVBcmdzPzogc3RyaW5nXG4gIHZhbHVlQ3NzQ2xhc3M/OiBzdHJpbmdcbiAgYWN0aW9uSXRlbUljb24/OiBQcmltZUljb25cbiAgYWN0aW9uSXRlbUNhbGxiYWNrPzogKCkgPT4gdm9pZFxuICBhY3Rpb25JdGVtVG9vbHRpcD86IHN0cmluZ1xuICBhY3Rpb25JdGVtQXJpYUxhYmVsS2V5Pzogc3RyaW5nXG4gIGFjdGlvbkl0ZW1BcmlhTGFiZWw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIb21lSXRlbSB7XG4gIG1lbnVJdGVtOiBNZW51SXRlbVxuICBwYWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEdyaWRDb2x1bW5PcHRpb25zID0gMSB8IDIgfCAzIHwgNCB8IDYgfCAxMlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtcGFnZS1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBmaWd1cmVCYWNrZ3JvdW5kID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIHNob3dGaWd1cmUgPSB0cnVlXG5cbiAgLy9pbWFnZSBmb3QgcHJldmlldyBpbiB0b3AtaGVhZGVyIGxlZnQgc2lkZVxuICBASW5wdXQoKVxuICBmaWd1cmVJbWFnZTogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgZGlzYWJsZURlZmF1bHRBY3Rpb25zID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBzdWJoZWFkZXI6IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIF9hY3Rpb25zOiBBY3Rpb25bXSB8IHVuZGVmaW5lZFxuICBASW5wdXQoKVxuICBnZXQgYWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uc1xuICB9XG4gIHNldCBhY3Rpb25zKHZhbHVlKSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IHZhbHVlXG4gICAgdGhpcy5nZW5lcmF0ZUlubGluZUFjdGlvbnMoKVxuICAgIHRoaXMuZ2VuZXJhdGVPdmVyZmxvd0FjdGlvbnMoKVxuICB9XG5cbiAgQElucHV0KClcbiAgb2JqZWN0RGV0YWlsczogT2JqZWN0RGV0YWlsSXRlbVtdIHwgdW5kZWZpbmVkXG5cbiAgQElucHV0KClcbiAgc2hvd0JyZWFkY3J1bWJzID0gdHJ1ZVxuXG4gIEBJbnB1dCgpXG4gIG1hbnVhbEJyZWFkY3J1bWJzID0gZmFsc2VcblxuICBASW5wdXQoKVxuICBlbmFibGVHcmlkVmlldzogdW5kZWZpbmVkIHwgYm9vbGVhblxuXG4gIEBJbnB1dCgpXG4gIGdyaWRMYXlvdXREZXNrdG9wQ29sdW1uczogdW5kZWZpbmVkIHwgR3JpZENvbHVtbk9wdGlvbnNcblxuICBAT3V0cHV0KClcbiAgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIEBDb250ZW50Q2hpbGQoJ2FkZGl0aW9uYWxUb29sYmFyQ29udGVudCcpXG4gIGFkZGl0aW9uYWxUb29sYmFyQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZFxuXG4gIEBDb250ZW50Q2hpbGQoJ2FkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnQnKVxuICBhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRMZWZ0OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkXG5cbiAgb3ZlcmZsb3dBY3Rpb25zOiBNZW51SXRlbVtdID0gW11cbiAgaW5saW5lQWN0aW9uczogQWN0aW9uW10gfCB1bmRlZmluZWRcbiAgZGQgPSBuZXcgRGF0ZSgpXG4gIGJyZWFkY3J1bWJzJCE6IE9ic2VydmFibGU8TWVudUl0ZW1bXT5cblxuICBob21lJCE6IE9ic2VydmFibGU8SG9tZUl0ZW0+XG5cbiAgZmlndXJlSW1hZ2VMb2FkRXJyb3IgPSBmYWxzZVxuXG4gIG9iamVjdFBhbmVsR3JpZExheW91dENsYXNzZXMgPSAnZ3JpZCByb3ctZ2FwLTIgbS0wJ1xuICBvYmplY3RQYW5lbENvbHVtbkxheW91dENsYXNzZXMgPSAnZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBvdmVyZmxvdy14LWF1dG8nXG5cbiAgb2JqZWN0UGFuZWxEZWZhdWx0TGF5b3V0Q2xhc3NlcyA9ICdmbGV4IGZsZXgtY29sdW1uIHJvdy1nYXAtMiBtZDpmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbidcblxuICBvYmplY3RJbmZvR3JpZExheW91dENsYXNzZXMgPSAnY29sLTEyIGZsZXggZ2FwLTQgbWQ6Y29sLTYgYWxpZ24taXRlbXMtY2VudGVyIHAtMCdcbiAgb2JqZWN0SW5mb0NvbHVtbkxheW91dENsYXNzZXMgPSAnZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWluLXctMTIwJ1xuXG4gIG9iamVjdEluZm9EZWZhdWx0TGF5b3V0Q2xhc3NlcyA9ICdmbGV4IGZsZXgtcm93IG1kOmZsZXgtY29sdW1uIG1kOmFsaWduLWl0ZW1zLWNlbnRlciBtZDpnYXAtMidcblxuICBwcm90ZWN0ZWQgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJTZXJ2aWNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBicmVhZGNydW1ic1xuICAgIHRoaXMuaG9tZSQgPSBjb25jYXQoXG4gICAgICBvZih7IG1lbnVJdGVtOiB7IGljb246IFByaW1lSWNvbnMuSE9NRSwgcm91dGVyTGluazogJy8nIH0gfSksXG4gICAgICB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50UG9ydGFsJC5waXBlKFxuICAgICAgICBtYXAoKHBvcnRhbCkgPT4gKHtcbiAgICAgICAgICBtZW51SXRlbToge1xuICAgICAgICAgICAgaWNvbjogUHJpbWVJY29ucy5IT01FLFxuICAgICAgICAgICAgcm91dGVyTGluazogcG9ydGFsLmJhc2VVcmwsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYWdlOiBwb3J0YWwucG9ydGFsTmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aW9ucyddKSB7XG4gICAgICB0aGlzLmdlbmVyYXRlSW5saW5lQWN0aW9ucygpXG4gICAgICB0aGlzLmdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFudWFsQnJlYWRjcnVtYnMpIHtcbiAgICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5icmVhZGNydW1icy5nZW5lcmF0ZWRJdGVtc1NvdXJjZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJzJCA9IHRoaXMuYnJlYWRjcnVtYnMuaXRlbXNIYW5kbGVyXG4gICAgfVxuICAgIHRoaXMuZ2VuZXJhdGVJbmxpbmVBY3Rpb25zKClcbiAgICB0aGlzLmdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKClcbiAgfVxuXG4gIG9uQWN0aW9uKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ3NhdmUnOlxuICAgICAgICB0aGlzLnNhdmUuZW1pdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUltYWdlRXJyb3IoKSB7XG4gICAgdGhpcy5maWd1cmVJbWFnZUxvYWRFcnJvciA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUl0ZW1TdHlsZShpdGVtOiBPYmplY3REZXRhaWxJdGVtKTogc3RyaW5nIHtcbiAgICBsZXQgc3R5bGUgPSAnJ1xuICAgIGlmIChpdGVtLmljb24pIHN0eWxlID0gc3R5bGUuY29uY2F0KHN0eWxlLCAnICcsICdnYXAtMSBhbGlnbi1pdGVtcy1jZW50ZXInKVxuICAgIGlmIChpdGVtLnZhbHVlQ3NzQ2xhc3MpIHN0eWxlID0gc3R5bGUuY29uY2F0KHN0eWxlLCAnICcsIGl0ZW0udmFsdWVDc3NDbGFzcylcbiAgICByZXR1cm4gc3R5bGVcbiAgfVxuXG4gIHB1YmxpYyBnZXRPYmplY3RQYW5lbExheW91dENsYXNzZXMoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlR3JpZFZpZXcpIHtcbiAgICAgIHJldHVybiB0aGlzLm9iamVjdFBhbmVsR3JpZExheW91dENsYXNzZXNcbiAgICB9XG4gICAgaWYgKHRoaXMuZW5hYmxlR3JpZFZpZXcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5vYmplY3RQYW5lbENvbHVtbkxheW91dENsYXNzZXNcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0UGFuZWxEZWZhdWx0TGF5b3V0Q2xhc3Nlc1xuICB9XG5cbiAgcHVibGljIGdldE9iamVjdEluZm9MYXlvdXRDbGFzc2VzKCkge1xuICAgIGlmICh0aGlzLmVuYWJsZUdyaWRWaWV3KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5vYmplY3RJbmZvR3JpZExheW91dENsYXNzZXN9IGxnOmNvbC0ke1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXREZXNrdG9wQ29sdW1ucyA/IDEyIC8gdGhpcy5ncmlkTGF5b3V0RGVza3RvcENvbHVtbnMgOiA0XG4gICAgICB9YFxuICAgIH1cbiAgICBpZiAodGhpcy5lbmFibGVHcmlkVmlldyA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLm9iamVjdEluZm9Db2x1bW5MYXlvdXRDbGFzc2VzXG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9iamVjdEluZm9EZWZhdWx0TGF5b3V0Q2xhc3Nlc1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGxpc3Qgb2YgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBpbiBhbiBvdmVyZmxvdyBtZW51XG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlT3ZlcmZsb3dBY3Rpb25zKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5czogc3RyaW5nW10gPSBbXG4gICAgICAgIC4uLnRoaXMuYWN0aW9ucy5tYXAoKGEpID0+IGEubGFiZWxLZXkgfHwgJycpLmZpbHRlcigoYSkgPT4gISFhKSxcbiAgICAgICAgLi4udGhpcy5hY3Rpb25zLm1hcCgoYSkgPT4gYS50aXRsZUtleSB8fCAnJykuZmlsdGVyKChhKSA9PiAhIWEpLFxuICAgICAgXVxuICAgICAgY29uc3QgdHJhbnNsYXRpb25zJCA9IHRyYW5zbGF0aW9uS2V5cy5sZW5ndGggPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRyYW5zbGF0aW9uS2V5cykgOiBvZihbXSlcbiAgICAgIHRyYW5zbGF0aW9ucyQuc3Vic2NyaWJlKCh0cmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgYWxsb3dlZEFjdGlvbnM6IEFjdGlvbltdID0gW11cbiAgICAgICAgaWYgKHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoYSkgPT4gYS5zaG93ID09PSAnYXNPdmVyZmxvdycpXG4gICAgICAgICAgICAuZmlsdGVyKChhKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhLmNvbmRpdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGEuc2hvd0NvbmRpdGlvbikgcmV0dXJuIGFcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICB9IGVsc2UgcmV0dXJuIGFcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZm9yRWFjaCgoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tBY3Rpb25QZXJtaXNzaW9uKGFsbG93ZWRBY3Rpb25zLCBhY3Rpb24pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIHRoaXMub3ZlcmZsb3dBY3Rpb25zID0gW1xuICAgICAgICAgICAgLi4uYWxsb3dlZEFjdGlvbnMubWFwPE1lbnVJdGVtPigoYSkgPT4gKHtcbiAgICAgICAgICAgICAgaWQ6IGEuaWQsXG4gICAgICAgICAgICAgIGxhYmVsOiBhLmxhYmVsS2V5ID8gdHJhbnNsYXRpb25zW2EubGFiZWxLZXldIDogYS5sYWJlbCxcbiAgICAgICAgICAgICAgaWNvbjogYS5pY29uLFxuICAgICAgICAgICAgICB0b29sdGlwT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHRvb2x0aXBMYWJlbDogYS50aXRsZUtleSA/IHRyYW5zbGF0aW9uc1thLnRpdGxlS2V5XSA6IGEudGl0bGUsXG4gICAgICAgICAgICAgICAgdG9vbHRpcEV2ZW50OiAnaG92ZXInLFxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IGEuYWN0aW9uQ2FsbGJhY2ssXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBhLmRpc2FibGVkLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgbGlzdCBvZiBhY3Rpb25zIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIGFzIGlubGluZSBidXR0b25zXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlSW5saW5lQWN0aW9ucygpIHtcbiAgICBpZiAodGhpcy5hY3Rpb25zKSB7XG4gICAgICAvLyBUZW1wIGFycmF5IHRvIGhvbGQgYWxsIGlubGluZSBhY3Rpb25zIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgdG8gdGhlIGN1cnJlbnQgdXNlclxuICAgICAgY29uc3QgYWxsb3dlZEFjdGlvbnM6IEFjdGlvbltdID0gW11cbiAgICAgIC8vIENoZWNrIHBlcm1pc3Npb25zIGZvciBhbGwgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCAnYWx3YXlzJ1xuICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgIC5maWx0ZXIoKGEpID0+IGEuc2hvdyA9PT0gJ2Fsd2F5cycpXG4gICAgICAgIC5maWx0ZXIoKGEpID0+IHtcbiAgICAgICAgICBpZiAoYS5jb25kaXRpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuIGEuc2hvd0NvbmRpdGlvbiA/IGEgOiBudWxsXG4gICAgICAgICAgfSBlbHNlIHJldHVybiBhXG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKChhY3Rpb24pID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrQWN0aW9uUGVybWlzc2lvbihhbGxvd2VkQWN0aW9ucywgYWN0aW9uKVxuICAgICAgICB9KVxuICAgICAgdGhpcy5pbmxpbmVBY3Rpb25zID0gWy4uLmFsbG93ZWRBY3Rpb25zXVxuICAgIH1cbiAgfVxuICAvKipcbiAgICogQWRkcyBhIGdpdmVuIGFjdGlvbiB0byBhIGdpdmVuIGFycmF5IGlmIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxsb3dlZCB0byBzZWUgaXRcbiAgICogQHBhcmFtIGFsbG93ZWRBY3Rpb25zIEFycmF5IHRoYXQgdGhlIGFjdGlvbiBzaG91bGQgYmUgYWRkZWQgdG8gaWYgdGhlIGN1cnJlbnQgdXNlciBpcyBhbGxvd2VkIHRvIHNlZSBpdFxuICAgKiBAcGFyYW0gYWN0aW9uIEFjdGlvbiBmb3Igd2hpY2ggYSBwZXJtaXNzaW9uIGNoZWNrIHNob3VsZCBiZSBleGVjdXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja0FjdGlvblBlcm1pc3Npb24oYWxsb3dlZEFjdGlvbnM6IEFjdGlvbltdLCBhY3Rpb246IEFjdGlvbikge1xuICAgIGlmIChhY3Rpb24ucGVybWlzc2lvbikge1xuICAgICAgaWYgKHRoaXMudXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbihhY3Rpb24ucGVybWlzc2lvbikpIHtcbiAgICAgICAgLy8gUHVzaCBhY3Rpb24gdG8gYWxsb3dlZCBhcnJheSBpZiB1c2VyIGhhcyBzdWZmaWNpZW50IHBlcm1pc3Npb25zXG4gICAgICAgIGFsbG93ZWRBY3Rpb25zLnB1c2goYWN0aW9uKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBQdXNoIGFjdGlvbiB0byBhbGxvd2VkIGFycmF5IGlmIG5vIHBlcm1pc3Npb24gd2FzIHNwZWNpZmllZFxuICAgICAgYWxsb3dlZEFjdGlvbnMucHVzaChhY3Rpb24pXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib25lY3gtcGFnZS1oZWFkZXIgbWItNFwiIG5hbWU9XCJvY3gtcGFnZS1oZWFkZXItd3JhcHBlclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0JyZWFkY3J1bWJzXCI+XG4gICAgPHAtYnJlYWRjcnVtYlxuICAgICAgW21vZGVsXT1cIml0ZW1zXCJcbiAgICAgICpuZ0lmPVwiYnJlYWRjcnVtYnMkIHwgYXN5bmMgIGFzIGl0ZW1zXCJcbiAgICAgIFtob21lXT1cIihob21lJCB8IGFzeW5jKT8ubWVudUl0ZW0gPz8ge31cIlxuICAgICAgW2hvbWVBcmlhTGFiZWxdPVwiKGhvbWUkIHwgYXN5bmMpPy5wYWdlID8gKCdPQ1hfUEFHRV9IRUFERVIuSE9NRV9BUklBX0xBQkVMJyB8IHRyYW5zbGF0ZTogeyBwYWdlOiAoaG9tZSQgfCBhc3luYyk/LnBhZ2V9KSA6ICgnT0NYX1BBR0VfSEVBREVSLkhPTUVfREVGQVVMVF9BUklBX0xBQkVMJyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgW2F0dHIubWFudWFsXT1cIm1hbnVhbEJyZWFkY3J1bWJzXCJcbiAgICA+PC9wLWJyZWFkY3J1bWI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwidGl0bGUtYmFyIGZsZXggZmxleC1yb3cgbWQ6anVzdGlmeS1jb250ZW50LWJldHdlZW4gcC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlLXdyYXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWd1cmUgZmxleCBoLTJyZW0gdy0ycmVtIG1kOmgtM3JlbSBtZDp3LTNyZW1cIiAqbmdJZj1cInNob3dGaWd1cmVcIj5cbiAgICAgICAgPGRpdiAjcHJldmlld0ltYWdlIGNsYXNzPVwiZmlndXJlLWltYWdlIGFic29sdXRlIHRvcC0wIGxlZnQtMCByaWdodC0wIGJvdHRvbS0wXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZpZ3VyZUltYWdlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAqbmdJZj1cImZpZ3VyZUltYWdlICYmICFmaWd1cmVJbWFnZUxvYWRFcnJvclwiXG4gICAgICAgICAgICBbb2N4U3JjXT1cImZpZ3VyZUltYWdlXCJcbiAgICAgICAgICAgIGFsdD1cIkZpZ3VyZSBpbWFnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiY29sb3JibG9iIGZsZXgtMSBib3JkZXItcm91bmRcIlxuICAgICAgICAgICpuZ0lmPVwicHJldmlld0ltYWdlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCB8fCBmaWd1cmVJbWFnZUxvYWRFcnJvclwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbkJhcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBqdXN0aWZ5LWNvbnRlbnQtZXZlbmx5XCI+XG4gICAgICAgICAgPHAtc2tlbGV0b24gd2lkdGg9XCIxMHJlbVwiPjwvcC1za2VsZXRvbj5cbiAgICAgICAgICA8cC1za2VsZXRvbiB3aWR0aD1cIjEwcmVtXCI+PC9wLXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBza2VsZXRvbkJhclwiPlxuICAgICAgICA8aDEgaWQ9XCJwYWdlLWhlYWRlclwiICpuZ0lmPVwiISFoZWFkZXJcIj57eyBoZWFkZXIgfX08L2gxPlxuICAgICAgICA8aDIgaWQ9XCJwYWdlLXN1YmhlYWRlclwiICpuZ0lmPVwiISFzdWJoZWFkZXJcIj57eyBzdWJoZWFkZXIgfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbi1pdGVtcy13cmFwIG10LTIgbWQ6bXQtMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRMZWZ0XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlRGVmYXVsdEFjdGlvbnNcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3NrZWxldG9uQWN0aW9ucz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICA8cC1za2VsZXRvbiB3aWR0aD1cIjVyZW1cIiBoZWlnaHQ9XCIycmVtXCIgc3R5bGVDbGFzcz1cIm1yLTJcIj48L3Atc2tlbGV0b24+XG4gICAgICAgICAgPHAtc2tlbGV0b24gd2lkdGg9XCIycmVtXCIgaGVpZ2h0PVwiMnJlbVwiIHN0eWxlQ2xhc3M9XCJtYi0yXCI+PC9wLXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2Ugc2tlbGV0b25BY3Rpb25zXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpbmxpbmVBY3Rpb25zICYmIGlubGluZUFjdGlvbnMubGVuZ3RoID4gMFwiIGNsYXNzPVwidG9vbGJhciBmbGV4IGZsZXgtd3JhcCBnYXAtMSBzbTpnYXAtMlwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBpbmxpbmVBY3Rpb25zXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiYWN0aW9uLmRpc2FibGVkID8gKGFjdGlvbi5kaXNhYmxlZFRvb2x0aXBLZXkgPyAoYWN0aW9uLmRpc2FibGVkVG9vbHRpcEtleSB8IHRyYW5zbGF0ZSkgOiBhY3Rpb24uZGlzYWJsZWRUb29sdGlwKSA6IChhY3Rpb24udGl0bGVLZXkgPyAoYWN0aW9uLnRpdGxlS2V5IHwgdHJhbnNsYXRlKSA6IGFjdGlvbi50aXRsZSlcIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgICB0b29sdGlwRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwie3sgYWN0aW9uLmlkIH19XCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJhY3Rpb24uaWNvbiA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYWN0aW9uLmxhYmVsS2V5ID8gKGFjdGlvbi5sYWJlbEtleSB8IHRyYW5zbGF0ZSkgOiBhY3Rpb24ubGFiZWxcIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFjdGlvbi5hY3Rpb25DYWxsYmFjaygpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkID8gYWN0aW9uLmRpc2FibGVkIDogZmFsc2VcIlxuICAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwiYWN0aW9uLmljb24gPyAnb2N4LXBhZ2UtaGVhZGVyLWlubGluZS1hY3Rpb24taWNvbi1idXR0b24nIDogJ29jeC1wYWdlLWhlYWRlci1pbmxpbmUtYWN0aW9uLWJ1dHRvbidcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiIChhY3Rpb24uYXJpYUxhYmVsS2V5ID8gKGFjdGlvbi5hcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLmFyaWFMYWJlbCkgfHwgKGFjdGlvbi50aXRsZUtleSA/IChhY3Rpb24udGl0bGVLZXkgfCB0cmFuc2xhdGUpIDogYWN0aW9uLnRpdGxlKSB8fCAoYWN0aW9uLmxhYmVsS2V5ID8gKGFjdGlvbi5sYWJlbEtleSB8IHRyYW5zbGF0ZSkgOiBhY3Rpb24ubGFiZWwpXCJcbiAgICAgICAgICAgICAgPjwvcC1idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9vbGJhckl0ZW1zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3ZlcmZsb3dBY3Rpb25zLmxlbmd0aCAhPT0gMFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInBhZ2VIZWFkZXJNZW51QnV0dG9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIHBCdXR0b25cbiAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLWVsbGlwc2lzLXZcIlxuICAgICAgICAgICAgICBwVG9vbHRpcD1cInt7ICdPQ1hfUEFHRV9IRUFERVIuTU9SRV9BQ1RJT05TJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHRvb2x0aXBFdmVudD1cImhvdmVyXCJcbiAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtb3JlLWFjdGlvbnMtbWVudS1idXR0b24gYWN0aW9uLWJ1dHRvbiBtbC0yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxuICAgICAgICAgICAgICBuYW1lPVwib2N4LXBhZ2UtaGVhZGVyLW92ZXJmbG93LWFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIignT0NYX1BBR0VfSEVBREVSLk1PUkVfQUNUSU9OUycgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxwLW1lbnUgI21lbnUgW3BvcHVwXT1cInRydWVcIiBbbW9kZWxdPVwib3ZlcmZsb3dBY3Rpb25zXCIgYXBwZW5kVG89XCJib2R5XCI+PC9wLW1lbnU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWRkaXRpb25hbFRvb2xiYXJDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkaXRpb25hbFRvb2xiYXJDb250ZW50XCI+IDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwib2JqZWN0LXBhbmVsXCIgW25nQ2xhc3NdPVwiZ2V0T2JqZWN0UGFuZWxMYXlvdXRDbGFzc2VzKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib2JqZWN0RGV0YWlsc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1pbmZvXCIgW25nQ2xhc3NdPVwiZ2V0T2JqZWN0SW5mb0xheW91dENsYXNzZXMoKVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9iamVjdERldGFpbHNcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImZsZXggZm9udC1tZWRpdW0gdGV4dC02MDAgb2JqZWN0LWluZm8tZ3JpZC1sYWJlbFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdC1kZXRhaWwtbGFiZWxcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJpdGVtLmxhYmVsVG9vbHRpcCB8fCAnJ1wiXG4gICAgICAgICAgdG9vbHRpcEV2ZW50PVwiaG92ZXJcIlxuICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgPnt7IGl0ZW0ubGFiZWwgfCBkeW5hbWljUGlwZTppdGVtLmxhYmVsUGlwZSB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5pY29uIHx8IGl0ZW0udmFsdWVcIiBjbGFzcz1cIm9iamVjdC1pbmZvLWdyaWQtdmFsdWVcIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHRleHQtOTAwIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LW1heFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZW5lcmF0ZUl0ZW1TdHlsZShpdGVtKVwiXG4gICAgICAgICAgICBuYW1lPVwib2JqZWN0LWRldGFpbC12YWx1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJpdGVtLnZhbHVlVG9vbHRpcCB8fCBpdGVtLnRvb2x0aXAgfHwgJydcIlxuICAgICAgICAgICAgICB0b29sdGlwRXZlbnQ9XCJob3ZlclwiXG4gICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPSd7e2l0ZW0uaWNvbiArIFwiIFwiICsgKGl0ZW0uaWNvblN0eWxlQ2xhc3MgfHwgXCJcIil9fSdcbiAgICAgICAgICAgICAgICBuYW1lPVwib2JqZWN0LWRldGFpbC1pY29uXCJcbiAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAge3sgaXRlbS52YWx1ZSB8IGR5bmFtaWNQaXBlOml0ZW0udmFsdWVQaXBlOml0ZW0udmFsdWVQaXBlQXJnc319XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8cC1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmFjdGlvbkl0ZW1JY29uICYmIGl0ZW0uYWN0aW9uSXRlbUNhbGxiYWNrXCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiaXRlbS5hY3Rpb25JdGVtSWNvblwiXG4gICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtMCB3LWZ1bGxcIlxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwiaXRlbS5hY3Rpb25JdGVtVG9vbHRpcCB8fCAnJ1wiXG4gICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICAgIHRvb2x0aXBFdmVudD1cImhvdmVyXCJcbiAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIoaXRlbS5hY3Rpb25JdGVtQXJpYUxhYmVsS2V5ID8gKGl0ZW0uYWN0aW9uSXRlbUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZSkgOiBpdGVtLmFjdGlvbkl0ZW1BcmlhTGFiZWwpIHx8IGl0ZW0uYWN0aW9uSXRlbVRvb2x0aXAgfHwgJydcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJpdGVtLmFjdGlvbkl0ZW1DYWxsYmFjaygpXCJcbiAgICAgICAgICAgID48L3AtYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3JhbS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvbW9kZWwvZGlhZ3JhbS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEaWFncmFtRGF0YSA9IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IG51bWJlcjsgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nIH1cbiJdfQ==
|