@cqa-lib/cqa-ui 1.1.1 → 1.1.2
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/esm2020/lib/configuration-card/configuration-card.component.mjs +93 -0
- package/esm2020/lib/console-alert/console-alert.component.mjs +3 -3
- package/esm2020/lib/run-history-card/run-history-card.component.mjs +25 -10
- package/esm2020/lib/simulator/simulator.component.mjs +3 -3
- package/esm2020/lib/ui-kit.module.mjs +15 -5
- package/esm2020/lib/view-image-modal/view-image-modal.component.mjs +40 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +168 -18
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +168 -18
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/configuration-card/configuration-card.component.d.ts +31 -0
- package/lib/run-history-card/run-history-card.component.d.ts +6 -1
- package/lib/ui-kit.module.d.ts +18 -16
- package/lib/view-image-modal/view-image-modal.component.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/styles.css +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class ConfigurationCardComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.data = [];
|
|
7
|
+
}
|
|
8
|
+
// Check if item has icon (Key Flags style)
|
|
9
|
+
hasIcon(item) {
|
|
10
|
+
return !!item.icon;
|
|
11
|
+
}
|
|
12
|
+
// Check if value is empty/null/undefined
|
|
13
|
+
isEmptyValue(value) {
|
|
14
|
+
return value === null || value === undefined || value === '';
|
|
15
|
+
}
|
|
16
|
+
// Check if value is boolean
|
|
17
|
+
isBoolean(value) {
|
|
18
|
+
return typeof value === 'boolean';
|
|
19
|
+
}
|
|
20
|
+
// Get display value for item
|
|
21
|
+
getDisplayValue(item) {
|
|
22
|
+
if (this.isEmptyValue(item.value)) {
|
|
23
|
+
return 'Not set';
|
|
24
|
+
}
|
|
25
|
+
if (this.isBoolean(item.value)) {
|
|
26
|
+
return item.value ? 'On' : 'Off';
|
|
27
|
+
}
|
|
28
|
+
return String(item.value);
|
|
29
|
+
}
|
|
30
|
+
// Get color for value
|
|
31
|
+
getValueColor(item) {
|
|
32
|
+
if (this.isEmptyValue(item.value)) {
|
|
33
|
+
return '#63636399';
|
|
34
|
+
}
|
|
35
|
+
if (this.isBoolean(item.value)) {
|
|
36
|
+
return item.value ? '#009966' : '#E7000B';
|
|
37
|
+
}
|
|
38
|
+
return '#0B0B0B';
|
|
39
|
+
}
|
|
40
|
+
// Get status badge text for icon items (Key Flags style)
|
|
41
|
+
getStatusBadge(item) {
|
|
42
|
+
if (this.isEmptyValue(item.value)) {
|
|
43
|
+
return 'Not set';
|
|
44
|
+
}
|
|
45
|
+
if (this.isBoolean(item.value)) {
|
|
46
|
+
return item.value ? 'Enabled' : 'Not set';
|
|
47
|
+
}
|
|
48
|
+
return 'Enabled';
|
|
49
|
+
}
|
|
50
|
+
// Get icon background color
|
|
51
|
+
getIconBgColor(item) {
|
|
52
|
+
if (this.isEmptyValue(item.value) || (this.isBoolean(item.value) && !item.value)) {
|
|
53
|
+
return '#F5F5F5';
|
|
54
|
+
}
|
|
55
|
+
return '#D0FAE5';
|
|
56
|
+
}
|
|
57
|
+
// Get icon color
|
|
58
|
+
getIconColor(item) {
|
|
59
|
+
if (this.isEmptyValue(item.value) || (this.isBoolean(item.value) && !item.value)) {
|
|
60
|
+
return '#636363';
|
|
61
|
+
}
|
|
62
|
+
return '#009966';
|
|
63
|
+
}
|
|
64
|
+
// Styles for header icon
|
|
65
|
+
get headerIconStyles() {
|
|
66
|
+
return {
|
|
67
|
+
'color': '#1A4EDA',
|
|
68
|
+
'font-size': '16px',
|
|
69
|
+
'width': '16px',
|
|
70
|
+
'height': '16px'
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
getItemCardStyle(item) {
|
|
74
|
+
const isEmpty = this.isEmptyValue(item.value) || (this.isBoolean(item.value) && !item.value);
|
|
75
|
+
return {
|
|
76
|
+
border: isEmpty ? '1px dashed #E4E4E4' : '1px solid #A4F4CF',
|
|
77
|
+
'background-color': isEmpty ? '#F5F5F533' : '#ECFDF580'
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
ConfigurationCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ConfigurationCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
ConfigurationCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ConfigurationCardComponent, selector: "cqa-configuration-card", inputs: { icon: "icon", title: "title", data: "data" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n\t<div class=\"cqa-bg-white cqa-rounded-lg cqa-bg-white\" style=\"border: 1px solid #E4E4E499;\">\n\n\t\t<!-- Section Header -->\n\t\t<div class=\"cqa-py-[6px] cqa-px-3 cqa-flex cqa-items-center cqa-gap-2 cqa-bg-[#F5F5F566]\"\n\t\t\tstyle=\"border-bottom: 1px solid #E4E4E499;\">\n\t\t\t<ng-container *ngIf=\"icon\">\n\t\t\t\t<i class=\"material-icons\" [ngStyle]=\"headerIconStyles\">\n\t\t\t\t\t{{ icon }}\n\t\t\t\t</i>\n\t\t\t</ng-container>\n\t\t\t<div class=\"cqa-text-xs cqa-font-semibold cqa-color-[#636363]\">\n\t\t\t\t{{ title }}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Configuration Items With Icons -->\n\t\t<div class=\"cqa-py-2 cqa-px-3\" *ngIf=\"data.length > 0 && data[0].icon\">\n\t\t\t<div class=\"cqa-grid cqa-gap-2\"\n\t\t\tstyle=\"grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\">\n\t\t\t\t<div *ngFor=\"let item of data\" class=\"cqa-rounded-lg cqa-p-[17px] cqa-flex cqa-flex-col cqa-gap-[6px]\"\n\t\t\t\t\t[ngStyle]=\"getItemCardStyle(item)\">\n\n\t\t\t\t\t<!-- Icon and Status Badge Row -->\n\t\t\t\t\t<div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n\t\t\t\t\t\t<div class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center\"\n\t\t\t\t\t\t\t[ngStyle]=\" { 'background-color' : getIconBgColor(item) }\" *ngIf=\"item.icon\">\n\t\t\t\t\t\t\t<i class=\"material-icons cqa-text-[16px]\" [ngStyle]=\" { color: getIconColor(item) }\">\n\t\t\t\t\t\t\t\t{{ item.icon }}\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- Status Badge -->\n\t\t\t\t\t\t<span class=\"cqa-text-[10px] cqa-font-medium cqa-px-2 cqa-py-0.5 cqa-rounded-[5px]\"\n\t\t\t\t\t\t\t[ngStyle]=\" { 'background-color' : getIconBgColor(item), 'color' : getIconColor(item) }\">\n\t\t\t\t\t\t\t{{ getStatusBadge(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Label -->\n\t\t\t\t\t<div class=\"cqa-text-xs cqa-font-semibold cqa-text-[#0B0B0B]\">\n\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- SubLabel -->\n\t\t\t\t\t<div *ngIf=\"item.subLabel\" class=\"cqa-text-[10px] cqa-text-[#636363]\">\n\t\t\t\t\t\t{{ item.subLabel }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t\n\t\t<!-- Configuration Items Without Icons -->\n\t\t<div class=\"cqa-py-[6px] cqa-px-3\" *ngIf=\"data.length > 0 && !data[0].icon\">\n\t\t\t<div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-x-3 cqa-gap-y-[6px]\">\n\t\t\t\t<ng-container *ngFor=\"let item of data\">\n\t\t\t\t\t<div *ngIf=\"!isBoolean(item.value)\" \n\t\t\t\t\t\tclass=\"cqa-flex cqa-flex-col cqa-gap-[6px] cqa-px-3 cqa-py-1\">\n\t\t\t\t\t\t<!-- Label -->\n\t\t\t\t\t\t<span class=\"cqa-text-xs cqa-text-[#636363]\">\n\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<!-- Value -->\n\t\t\t\t\t\t<span class=\"cqa-text-sm\" [style.color]=\"getValueColor(item)\">\n\t\t\t\t\t\t\t{{ getDisplayValue(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"isBoolean(item.value)\" \n\t\t\t\t\t\tclass=\"cqa-flex cqa-justify-between cqa-items-center cqa-gap-[6px] cqa-px-3 cqa-py-1\">\n\t\t\t\t\t\t<span class=\"cqa-text-xs cqa-text-[#636363]\">\n\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<span class=\"cqa-text-sm cqa-font-semibold\" [style.color]=\"getValueColor(item)\">\n\t\t\t\t\t\t\t{{ getDisplayValue(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ConfigurationCardComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'cqa-configuration-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n\t<div class=\"cqa-bg-white cqa-rounded-lg cqa-bg-white\" style=\"border: 1px solid #E4E4E499;\">\n\n\t\t<!-- Section Header -->\n\t\t<div class=\"cqa-py-[6px] cqa-px-3 cqa-flex cqa-items-center cqa-gap-2 cqa-bg-[#F5F5F566]\"\n\t\t\tstyle=\"border-bottom: 1px solid #E4E4E499;\">\n\t\t\t<ng-container *ngIf=\"icon\">\n\t\t\t\t<i class=\"material-icons\" [ngStyle]=\"headerIconStyles\">\n\t\t\t\t\t{{ icon }}\n\t\t\t\t</i>\n\t\t\t</ng-container>\n\t\t\t<div class=\"cqa-text-xs cqa-font-semibold cqa-color-[#636363]\">\n\t\t\t\t{{ title }}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- Configuration Items With Icons -->\n\t\t<div class=\"cqa-py-2 cqa-px-3\" *ngIf=\"data.length > 0 && data[0].icon\">\n\t\t\t<div class=\"cqa-grid cqa-gap-2\"\n\t\t\tstyle=\"grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\">\n\t\t\t\t<div *ngFor=\"let item of data\" class=\"cqa-rounded-lg cqa-p-[17px] cqa-flex cqa-flex-col cqa-gap-[6px]\"\n\t\t\t\t\t[ngStyle]=\"getItemCardStyle(item)\">\n\n\t\t\t\t\t<!-- Icon and Status Badge Row -->\n\t\t\t\t\t<div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n\t\t\t\t\t\t<div class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center\"\n\t\t\t\t\t\t\t[ngStyle]=\" { 'background-color' : getIconBgColor(item) }\" *ngIf=\"item.icon\">\n\t\t\t\t\t\t\t<i class=\"material-icons cqa-text-[16px]\" [ngStyle]=\" { color: getIconColor(item) }\">\n\t\t\t\t\t\t\t\t{{ item.icon }}\n\t\t\t\t\t\t\t</i>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- Status Badge -->\n\t\t\t\t\t\t<span class=\"cqa-text-[10px] cqa-font-medium cqa-px-2 cqa-py-0.5 cqa-rounded-[5px]\"\n\t\t\t\t\t\t\t[ngStyle]=\" { 'background-color' : getIconBgColor(item), 'color' : getIconColor(item) }\">\n\t\t\t\t\t\t\t{{ getStatusBadge(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Label -->\n\t\t\t\t\t<div class=\"cqa-text-xs cqa-font-semibold cqa-text-[#0B0B0B]\">\n\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- SubLabel -->\n\t\t\t\t\t<div *ngIf=\"item.subLabel\" class=\"cqa-text-[10px] cqa-text-[#636363]\">\n\t\t\t\t\t\t{{ item.subLabel }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t\n\t\t<!-- Configuration Items Without Icons -->\n\t\t<div class=\"cqa-py-[6px] cqa-px-3\" *ngIf=\"data.length > 0 && !data[0].icon\">\n\t\t\t<div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-x-3 cqa-gap-y-[6px]\">\n\t\t\t\t<ng-container *ngFor=\"let item of data\">\n\t\t\t\t\t<div *ngIf=\"!isBoolean(item.value)\" \n\t\t\t\t\t\tclass=\"cqa-flex cqa-flex-col cqa-gap-[6px] cqa-px-3 cqa-py-1\">\n\t\t\t\t\t\t<!-- Label -->\n\t\t\t\t\t\t<span class=\"cqa-text-xs cqa-text-[#636363]\">\n\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<!-- Value -->\n\t\t\t\t\t\t<span class=\"cqa-text-sm\" [style.color]=\"getValueColor(item)\">\n\t\t\t\t\t\t\t{{ getDisplayValue(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div *ngIf=\"isBoolean(item.value)\" \n\t\t\t\t\t\tclass=\"cqa-flex cqa-justify-between cqa-items-center cqa-gap-[6px] cqa-px-3 cqa-py-1\">\n\t\t\t\t\t\t<span class=\"cqa-text-xs cqa-text-[#636363]\">\n\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t<span class=\"cqa-text-sm cqa-font-semibold\" [style.color]=\"getValueColor(item)\">\n\t\t\t\t\t\t\t{{ getDisplayValue(item) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</ng-container>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n</div>", styles: [] }]
|
|
86
|
+
}], propDecorators: { icon: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], title: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], data: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}] } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29uZmlndXJhdGlvbi1jYXJkL2NvbmZpZ3VyYXRpb24tY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWVqRCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBUVcsU0FBSSxHQUF3QixFQUFFLENBQUM7S0EyRnpDO0lBekZDLDJDQUEyQztJQUMzQyxPQUFPLENBQUMsSUFBdUI7UUFDN0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLFlBQVksQ0FBQyxLQUFnQjtRQUMzQixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsU0FBUyxDQUFDLEtBQWdCO1FBQ3hCLE9BQU8sT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsZUFBZSxDQUFDLElBQXVCO1FBQ3JDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDbEM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixhQUFhLENBQUMsSUFBdUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQyxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztTQUMzQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsY0FBYyxDQUFDLElBQXVCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDM0M7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLGNBQWMsQ0FBQyxJQUF1QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEYsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLFlBQVksQ0FBQyxJQUF1QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEYsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU87WUFDTCxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsTUFBTTtZQUNuQixPQUFPLEVBQUUsTUFBTTtZQUNmLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBdUI7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RixPQUFPO1lBQ0wsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtZQUM1RCxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVztTQUN4RCxDQUFBO0lBQ0gsQ0FBQzs7dUhBN0ZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHNIQ2Z2QyxvOEdBbUZNOzJGRHBFTywwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCOzhCQUt6QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG50eXBlIFZhbHVlVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uSXRlbSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBWYWx1ZVR5cGU7XG4gIGljb24/OiBzdHJpbmc7XG4gIHN1YkxhYmVsPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY29uZmlndXJhdGlvbi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyYXRpb24tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkNhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBpY29uITogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgZGF0YTogQ29uZmlndXJhdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIC8vIENoZWNrIGlmIGl0ZW0gaGFzIGljb24gKEtleSBGbGFncyBzdHlsZSlcbiAgaGFzSWNvbihpdGVtOiBDb25maWd1cmF0aW9uSXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWl0ZW0uaWNvbjtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHZhbHVlIGlzIGVtcHR5L251bGwvdW5kZWZpbmVkXG4gIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVmFsdWVUeXBlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmFsdWUgaXMgYm9vbGVhblxuICBpc0Jvb2xlYW4odmFsdWU6IFZhbHVlVHlwZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgfVxuXG4gIC8vIEdldCBkaXNwbGF5IHZhbHVlIGZvciBpdGVtXG4gIGdldERpc3BsYXlWYWx1ZShpdGVtOiBDb25maWd1cmF0aW9uSXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNFbXB0eVZhbHVlKGl0ZW0udmFsdWUpKSB7XG4gICAgICByZXR1cm4gJ05vdCBzZXQnO1xuICAgIH1cbiAgICBcbiAgICBpZiAodGhpcy5pc0Jvb2xlYW4oaXRlbS52YWx1ZSkpIHtcbiAgICAgIHJldHVybiBpdGVtLnZhbHVlID8gJ09uJyA6ICdPZmYnO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gU3RyaW5nKGl0ZW0udmFsdWUpO1xuICB9XG5cbiAgLy8gR2V0IGNvbG9yIGZvciB2YWx1ZVxuICBnZXRWYWx1ZUNvbG9yKGl0ZW06IENvbmZpZ3VyYXRpb25JdGVtKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0VtcHR5VmFsdWUoaXRlbS52YWx1ZSkpIHtcbiAgICAgIHJldHVybiAnIzYzNjM2Mzk5JztcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKGl0ZW0udmFsdWUpKSB7XG4gICAgICByZXR1cm4gaXRlbS52YWx1ZSA/ICcjMDA5OTY2JyA6ICcjRTcwMDBCJzsgXG4gICAgfVxuICAgIFxuICAgIHJldHVybiAnIzBCMEIwQic7XG4gIH1cblxuICAvLyBHZXQgc3RhdHVzIGJhZGdlIHRleHQgZm9yIGljb24gaXRlbXMgKEtleSBGbGFncyBzdHlsZSlcbiAgZ2V0U3RhdHVzQmFkZ2UoaXRlbTogQ29uZmlndXJhdGlvbkl0ZW0pOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzRW1wdHlWYWx1ZShpdGVtLnZhbHVlKSkge1xuICAgICAgcmV0dXJuICdOb3Qgc2V0JztcbiAgICB9XG4gICAgXG4gICAgaWYgKHRoaXMuaXNCb29sZWFuKGl0ZW0udmFsdWUpKSB7XG4gICAgICByZXR1cm4gaXRlbS52YWx1ZSA/ICdFbmFibGVkJyA6ICdOb3Qgc2V0JztcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuICdFbmFibGVkJztcbiAgfVxuXG4gIC8vIEdldCBpY29uIGJhY2tncm91bmQgY29sb3JcbiAgZ2V0SWNvbkJnQ29sb3IoaXRlbTogQ29uZmlndXJhdGlvbkl0ZW0pOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzRW1wdHlWYWx1ZShpdGVtLnZhbHVlKSB8fCAodGhpcy5pc0Jvb2xlYW4oaXRlbS52YWx1ZSkgJiYgIWl0ZW0udmFsdWUpKSB7XG4gICAgICByZXR1cm4gJyNGNUY1RjUnO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gJyNEMEZBRTUnO1xuICB9XG5cbiAgLy8gR2V0IGljb24gY29sb3JcbiAgZ2V0SWNvbkNvbG9yKGl0ZW06IENvbmZpZ3VyYXRpb25JdGVtKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0VtcHR5VmFsdWUoaXRlbS52YWx1ZSkgfHwgKHRoaXMuaXNCb29sZWFuKGl0ZW0udmFsdWUpICYmICFpdGVtLnZhbHVlKSkge1xuICAgICAgcmV0dXJuICcjNjM2MzYzJztcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuICcjMDA5OTY2JztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaGVhZGVyIGljb25cbiAgZ2V0IGhlYWRlckljb25TdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjb2xvcic6ICcjMUE0RURBJyxcbiAgICAgICdmb250LXNpemUnOiAnMTZweCcsXG4gICAgICAnd2lkdGgnOiAnMTZweCcsXG4gICAgICAnaGVpZ2h0JzogJzE2cHgnXG4gICAgfTtcbiAgfVxuXG4gIGdldEl0ZW1DYXJkU3R5bGUoaXRlbTogQ29uZmlndXJhdGlvbkl0ZW0pIHtcbiAgICBjb25zdCBpc0VtcHR5ID0gdGhpcy5pc0VtcHR5VmFsdWUoaXRlbS52YWx1ZSkgfHwgKHRoaXMuaXNCb29sZWFuKGl0ZW0udmFsdWUpICYmICFpdGVtLnZhbHVlKTtcbiAgICByZXR1cm4ge1xuICAgICAgYm9yZGVyOiBpc0VtcHR5ID8gJzFweCBkYXNoZWQgI0U0RTRFNCcgOiAnMXB4IHNvbGlkICNBNEY0Q0YnLFxuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBpc0VtcHR5ID8gJyNGNUY1RjUzMycgOiAnI0VDRkRGNTgwJ1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWluLXdpZHRoOiAxODBweDtcIj5cblx0PGRpdiBjbGFzcz1cImNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1sZyBjcWEtYmctd2hpdGVcIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNEU0RTQ5OTtcIj5cblxuXHRcdDwhLS0gU2VjdGlvbiBIZWFkZXIgLS0+XG5cdFx0PGRpdiBjbGFzcz1cImNxYS1weS1bNnB4XSBjcWEtcHgtMyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMiBjcWEtYmctWyNGNUY1RjU2Nl1cIlxuXHRcdFx0c3R5bGU9XCJib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U0RTRFNDk5O1wiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25cIj5cblx0XHRcdFx0PGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIFtuZ1N0eWxlXT1cImhlYWRlckljb25TdHlsZXNcIj5cblx0XHRcdFx0XHR7eyBpY29uIH19XG5cdFx0XHRcdDwvaT5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PGRpdiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS1mb250LXNlbWlib2xkIGNxYS1jb2xvci1bIzYzNjM2M11cIj5cblx0XHRcdFx0e3sgdGl0bGUgfX1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXG5cdFx0PCEtLSBDb25maWd1cmF0aW9uIEl0ZW1zIFdpdGggSWNvbnMgLS0+XG5cdFx0PGRpdiBjbGFzcz1cImNxYS1weS0yIGNxYS1weC0zXCIgKm5nSWY9XCJkYXRhLmxlbmd0aCA+IDAgJiYgZGF0YVswXS5pY29uXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY3FhLWdyaWQgY3FhLWdhcC0yXCJcblx0XHRcdHN0eWxlPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XCI+XG5cdFx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiIGNsYXNzPVwiY3FhLXJvdW5kZWQtbGcgY3FhLXAtWzE3cHhdIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLVs2cHhdXCJcblx0XHRcdFx0XHRbbmdTdHlsZV09XCJnZXRJdGVtQ2FyZFN0eWxlKGl0ZW0pXCI+XG5cblx0XHRcdFx0XHQ8IS0tIEljb24gYW5kIFN0YXR1cyBCYWRnZSBSb3cgLS0+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZ2FwLTJcIj5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjcWEtdy04IGNxYS1oLTggY3FhLXJvdW5kZWQtbGcgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXJcIlxuXHRcdFx0XHRcdFx0XHRbbmdTdHlsZV09XCIgeyAnYmFja2dyb3VuZC1jb2xvcicgOiBnZXRJY29uQmdDb2xvcihpdGVtKSB9XCIgICpuZ0lmPVwiaXRlbS5pY29uXCI+XG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY3FhLXRleHQtWzE2cHhdXCIgW25nU3R5bGVdPVwiIHsgY29sb3I6IGdldEljb25Db2xvcihpdGVtKSB9XCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgaXRlbS5pY29uIH19XG5cdFx0XHRcdFx0XHRcdDwvaT5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdFx0XHQ8IS0tIFN0YXR1cyBCYWRnZSAtLT5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LW1lZGl1bSBjcWEtcHgtMiBjcWEtcHktMC41IGNxYS1yb3VuZGVkLVs1cHhdXCJcblx0XHRcdFx0XHRcdFx0W25nU3R5bGVdPVwiIHsgJ2JhY2tncm91bmQtY29sb3InIDogZ2V0SWNvbkJnQ29sb3IoaXRlbSksICdjb2xvcicgOiBnZXRJY29uQ29sb3IoaXRlbSkgfVwiPlxuXHRcdFx0XHRcdFx0XHR7eyBnZXRTdGF0dXNCYWRnZShpdGVtKSB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDwvZGl2PlxuXG5cdFx0XHRcdFx0PCEtLSBMYWJlbCAtLT5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWyMwQjBCMEJdXCI+XG5cdFx0XHRcdFx0XHR7eyBpdGVtLmxhYmVsIH19XG5cdFx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0XHQ8IS0tIFN1YkxhYmVsIC0tPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJpdGVtLnN1YkxhYmVsXCIgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyM2MzYzNjNdXCI+XG5cdFx0XHRcdFx0XHR7eyBpdGVtLnN1YkxhYmVsIH19XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0XG5cdFx0PCEtLSBDb25maWd1cmF0aW9uIEl0ZW1zIFdpdGhvdXQgSWNvbnMgLS0+XG5cdFx0PGRpdiBjbGFzcz1cImNxYS1weS1bNnB4XSBjcWEtcHgtM1wiICpuZ0lmPVwiZGF0YS5sZW5ndGggPiAwICYmICFkYXRhWzBdLmljb25cIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC14LTMgY3FhLWdhcC15LVs2cHhdXCI+XG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCIhaXNCb29sZWFuKGl0ZW0udmFsdWUpXCIgXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLVs2cHhdIGNxYS1weC0zIGNxYS1weS0xXCI+XG5cdFx0XHRcdFx0XHQ8IS0tIExhYmVsIC0tPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1bIzYzNjM2M11cIj5cblx0XHRcdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXG5cdFx0XHRcdFx0XHQ8IS0tIFZhbHVlIC0tPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1zbVwiIFtzdHlsZS5jb2xvcl09XCJnZXRWYWx1ZUNvbG9yKGl0ZW0pXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGdldERpc3BsYXlWYWx1ZShpdGVtKSB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJpc0Jvb2xlYW4oaXRlbS52YWx1ZSlcIiBcblx0XHRcdFx0XHRcdGNsYXNzPVwiY3FhLWZsZXggY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtWzZweF0gY3FhLXB4LTMgY3FhLXB5LTFcIj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLXRleHQtWyM2MzYzNjNdXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGl0ZW0ubGFiZWwgfX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1zZW1pYm9sZFwiIFtzdHlsZS5jb2xvcl09XCJnZXRWYWx1ZUNvbG9yKGl0ZW0pXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGdldERpc3BsYXlWYWx1ZShpdGVtKSB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXG5cdDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -14,9 +14,9 @@ export class ConsoleAlertComponent {
|
|
|
14
14
|
case 'warn':
|
|
15
15
|
return 'warning_amber';
|
|
16
16
|
case 'info':
|
|
17
|
-
return '
|
|
17
|
+
return 'info';
|
|
18
18
|
default:
|
|
19
|
-
return '
|
|
19
|
+
return 'info';
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
get typeColor() {
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
56
56
|
}], timestamp: [{
|
|
57
57
|
type: Input
|
|
58
58
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnNvbGUtYWxlcnQvY29uc29sZS1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbnNvbGUtYWxlcnQvY29uc29sZS1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU2pELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVyxTQUFJLEdBQXFCLE1BQU0sQ0FBQztRQUNoQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGNBQVMsR0FBVyxFQUFFLENBQUM7S0F3Q2pDO0lBdENDLElBQUksUUFBUTtRQUNWLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxlQUFlLENBQUM7WUFDekIsS0FBSyxNQUFNO2dCQUNULE9BQU8sZUFBZSxDQUFDO1lBQ3pCLEtBQUssTUFBTTtnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLE1BQU0sQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssTUFBTTtnQkFDVCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxTQUFTLENBQUM7WUFDbkI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssT0FBTztnQkFDVixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxNQUFNO2dCQUNULE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7a0hBMUNVLHFCQUFxQjtzR0FBckIscUJBQXFCLCtIQ1RsQyxpaUNBK0JBOzJGRHRCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUtwQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIENvbnNvbGVBbGVydFR5cGUgPSAnZXJyb3InIHwgJ3dhcm4nIHwgJ2luZm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY29uc29sZS1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25zb2xlLWFsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDb25zb2xlQWxlcnRDb21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiBDb25zb2xlQWxlcnRUeXBlID0gJ2luZm8nO1xuICBASW5wdXQoKSBtZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdGltZXN0YW1wOiBzdHJpbmcgPSAnJztcblxuICBnZXQgaWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2Vycm9yX291dGxpbmUnO1xuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgIHJldHVybiAnd2FybmluZ19hbWJlcic7XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgcmV0dXJuICdpbmZvJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnaW5mbyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHR5cGVDb2xvcigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHJldHVybiAnI0U3MDAwQic7XG4gICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgcmV0dXJuICcjRTE3MTAwJztcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICByZXR1cm4gJyMxNTVERkMnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcjMTU1REZDJztcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZVRleHRDb2xvcigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHJldHVybiAnI0U3MDAwQic7XG4gICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgcmV0dXJuICcjRTE3MTAwJztcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICByZXR1cm4gJyMxNTVERkMnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcjMTU1REZDJztcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCI+XG4gIDxkaXYgXG4gICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC0zIGNxYS1weC00IGNxYS1weS0zIGNxYS10cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgYm9yZGVyLXJhZGl1czogMTBweDsgYm9yZGVyOiAxcHggc29saWQgI0Y1RjVGNVwiPlxuICAgIFxuICAgIDxtYXQtaWNvbiBcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXgtc2hyaW5rLTAgIWNxYS13LVsyMHB4XSAhY3FhLWgtWzIwcHhdICFjcWEtdGV4dC1bMjBweF1cIiBcbiAgICAgIFtzdHlsZS5jb2xvcl09XCJ0eXBlQ29sb3JcIj5cbiAgICAgIHt7IGljb25OYW1lIH19XG4gICAgPC9tYXQtaWNvbj5cbiAgICBcbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtMSBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1taW4tdy0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLWZsZXgtd3JhcFwiPlxuICAgICAgICA8c3BhbiBcbiAgICAgICAgICBjbGFzcz1cImNxYS1weC0yIGNxYS1weS0wLjUgY3FhLXJvdW5kZWQgY3FhLXRleHQteHMgY3FhLWZvbnQtbWVkaXVtIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLWdyYXktMjAwXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwidHlwZVRleHRDb2xvclwiPlxuICAgICAgICAgIHt7IHR5cGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtdGV4dC1ncmF5LTUwMCBjcWEtZm9udC1ub3JtYWxcIj5cbiAgICAgICAgICB7eyB0aW1lc3RhbXAgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxwIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLXRleHQtZ3JheS03MDAgY3FhLW0tMCBjcWEtYnJlYWstd29yZHNcIj5cbiAgICAgICAge3sgbWVzc2FnZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -3,6 +3,9 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
export class RunHistoryCardComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.size = 'normal';
|
|
8
|
+
}
|
|
6
9
|
get statusBadgeVariant() {
|
|
7
10
|
switch (this.status) {
|
|
8
11
|
case 'passed':
|
|
@@ -79,11 +82,14 @@ export class RunHistoryCardComponent {
|
|
|
79
82
|
get typeLabel() {
|
|
80
83
|
return this.type === 'automated' ? 'Automated' : 'Manual';
|
|
81
84
|
}
|
|
85
|
+
get isSmall() {
|
|
86
|
+
return this.size === 'small';
|
|
87
|
+
}
|
|
82
88
|
get statusIconContainerStyles() {
|
|
83
89
|
return {
|
|
84
90
|
'background-color': this.statusIconBgColor,
|
|
85
|
-
'width': '20px',
|
|
86
|
-
'height': '20px',
|
|
91
|
+
'width': this.isSmall ? '16px' : '20px',
|
|
92
|
+
'height': this.isSmall ? '16px' : '20px',
|
|
87
93
|
'border-radius': '4px',
|
|
88
94
|
'display': 'inline-flex',
|
|
89
95
|
'align-items': 'center',
|
|
@@ -93,9 +99,9 @@ export class RunHistoryCardComponent {
|
|
|
93
99
|
get statusIconStyles() {
|
|
94
100
|
return {
|
|
95
101
|
'color': this.statusColor,
|
|
96
|
-
'font-size': '12px',
|
|
97
|
-
'width': '12px',
|
|
98
|
-
'height': '12px'
|
|
102
|
+
'font-size': this.isSmall ? '10px' : '12px',
|
|
103
|
+
'width': this.isSmall ? '10px' : '12px',
|
|
104
|
+
'height': this.isSmall ? '10px' : '12px'
|
|
99
105
|
};
|
|
100
106
|
}
|
|
101
107
|
get statusBadgeStyles() {
|
|
@@ -106,16 +112,23 @@ export class RunHistoryCardComponent {
|
|
|
106
112
|
get runLabelStyles() {
|
|
107
113
|
return {
|
|
108
114
|
'background-color': '#ecedfe',
|
|
109
|
-
'padding': '2px 8px',
|
|
110
|
-
'border-radius': '4px'
|
|
115
|
+
'padding': this.isSmall ? '2px 6px' : '2px 8px',
|
|
116
|
+
'border-radius': '4px',
|
|
117
|
+
'font-size': this.isSmall ? '8px' : '10px'
|
|
111
118
|
};
|
|
112
119
|
}
|
|
120
|
+
get cardPadding() {
|
|
121
|
+
return this.isSmall ? '10px' : '12px';
|
|
122
|
+
}
|
|
123
|
+
get borderLeftWidth() {
|
|
124
|
+
return this.isSmall ? '3px' : '4px';
|
|
125
|
+
}
|
|
113
126
|
}
|
|
114
127
|
RunHistoryCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RunHistoryCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
RunHistoryCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RunHistoryCardComponent, selector: "cqa-run-history-card", inputs: { id: "id", status: "status", type: "type", timestamp: "timestamp", duration: "duration", runLabel: "runLabel", errorMessage: "errorMessage" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div
|
|
128
|
+
RunHistoryCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RunHistoryCardComponent, selector: "cqa-run-history-card", inputs: { id: "id", status: "status", type: "type", timestamp: "timestamp", duration: "duration", runLabel: "runLabel", errorMessage: "errorMessage", size: "size" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B]\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-font-medium cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
116
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RunHistoryCardComponent, decorators: [{
|
|
117
130
|
type: Component,
|
|
118
|
-
args: [{ selector: 'cqa-run-history-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div
|
|
131
|
+
args: [{ selector: 'cqa-run-history-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B]\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-font-medium cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", styles: [] }]
|
|
119
132
|
}], propDecorators: { id: [{
|
|
120
133
|
type: Input
|
|
121
134
|
}], status: [{
|
|
@@ -130,5 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
130
143
|
type: Input
|
|
131
144
|
}], errorMessage: [{
|
|
132
145
|
type: Input
|
|
146
|
+
}], size: [{
|
|
147
|
+
type: Input
|
|
133
148
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQW9CakQsTUFBTSxPQUFPLHVCQUF1QjtJQVdsQyxJQUFJLGtCQUFrQjtRQUNwQixRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxhQUFhO2dCQUNoQixPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLE1BQU0sQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxhQUFhO2dCQUNoQixPQUFPLGFBQWEsQ0FBQztZQUN2QjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVDLElBQUksaUJBQWlCO1FBQ3JCLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxRQUFRO2dCQUNULE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssU0FBUztnQkFDVixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLGFBQWE7Z0JBQ2QsT0FBTyxTQUFTLENBQUM7WUFDckI7Z0JBQ0ksT0FBTyxTQUFTLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxVQUFVLENBQUM7WUFDcEI7Z0JBQ0UsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUkseUJBQXlCO1FBQzNCLE9BQU87WUFDTCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQzFDLE9BQU8sRUFBRSxNQUFNO1lBQ2YsUUFBUSxFQUFFLE1BQU07WUFDaEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsYUFBYSxFQUFFLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsUUFBUTtTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDekIsV0FBVyxFQUFFLE1BQU07WUFDbkIsT0FBTyxFQUFFLE1BQU07WUFDZixRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU87WUFDTCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVztTQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsU0FBUztZQUM3QixTQUFTLEVBQUUsU0FBUztZQUNwQixlQUFlLEVBQUUsS0FBSztTQUN2QixDQUFDO0lBQ0osQ0FBQzs7b0hBL0hVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9OQ3BCcEMsZ25GQXdFQTsyRkRwRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgdHlwZSBSdW5TdGF0dXMgPSAncGFzc2VkJyB8ICdmYWlsZWQnIHwgJ2Fib3J0ZWQnIHwgJ2luLXByb2dyZXNzJztcbmV4cG9ydCB0eXBlIFJ1blR5cGUgPSAnYXV0b21hdGVkJyB8ICdtYW51YWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bkhpc3RvcnlEYXRhIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgc3RhdHVzOiBSdW5TdGF0dXM7XG4gIHR5cGU6IFJ1blR5cGU7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBkdXJhdGlvbjogc3RyaW5nO1xuICBydW5MYWJlbD86IHN0cmluZztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtcnVuLWhpc3RvcnktY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydW4taGlzdG9yeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBSdW5IaXN0b3J5Q2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkITogc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBzdGF0dXMhOiBSdW5TdGF0dXM7XG4gIEBJbnB1dCgpIHR5cGUhOiBSdW5UeXBlO1xuICBASW5wdXQoKSB0aW1lc3RhbXAhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGR1cmF0aW9uITogc3RyaW5nO1xuICBASW5wdXQoKSBydW5MYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG5cblxuICBnZXQgc3RhdHVzQmFkZ2VWYXJpYW50KCk6ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbycge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0dXMpIHtcbiAgICAgIGNhc2UgJ3Bhc3NlZCc6XG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIGNhc2UgJ2Fib3J0ZWQnOlxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgY2FzZSAnaW4tcHJvZ3Jlc3MnOlxuICAgICAgICByZXR1cm4gJ2luZm8nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdpbmZvJztcbiAgICB9XG4gIH1cblxuICBnZXQgc3RhdHVzTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICByZXR1cm4gJ1Bhc3NlZCc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJ0ZhaWxlZCc7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICdBYm9ydGVkJztcbiAgICAgIGNhc2UgJ2luLXByb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuICdJbiBQcm9ncmVzcyc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXR1c0NvbG9yKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICcjMDBDOTUwJztcbiAgICAgIGNhc2UgJ2ZhaWxlZCc6XG4gICAgICAgIHJldHVybiAnI0ZCMkMzNic7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICcjRjk3MzE2JztcbiAgICAgIGNhc2UgJ2luLXByb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuICcjM0I4MkY2JztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnIzZCNzI4MCc7XG4gICAgfVxuICB9XG5cbiAgICBnZXQgc3RhdHVzSWNvbkJnQ29sb3IoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgJ3Bhc3NlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNEQ0ZDRTcnO1xuICAgICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjZmZlMmUyJztcbiAgICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNGRkVERDUnOyBcbiAgICAgICAgY2FzZSAnaW4tcHJvZ3Jlc3MnOlxuICAgICAgICAgICAgcmV0dXJuICcjREJFQUZFJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAnI0U1RTdFQic7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXR1c0ljb24oKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICByZXR1cm4gJ2NoZWNrJztcbiAgICAgIGNhc2UgJ2ZhaWxlZCc6XG4gICAgICAgIHJldHVybiAnY2xvc2UnO1xuICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICBjYXNlICdpbi1wcm9ncmVzcyc6XG4gICAgICAgIHJldHVybiAnc2NoZWR1bGUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdXRvbWF0ZWQnID8gJ3NldHRpbmdzJyA6ICdwZXJzb24nO1xuICB9XG5cbiAgZ2V0IHR5cGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdXRvbWF0ZWQnID8gJ0F1dG9tYXRlZCcgOiAnTWFudWFsJztcbiAgfVxuXG4gIGdldCBzdGF0dXNJY29uQ29udGFpbmVyU3R5bGVzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuc3RhdHVzSWNvbkJnQ29sb3IsXG4gICAgICAnd2lkdGgnOiAnMjBweCcsXG4gICAgICAnaGVpZ2h0JzogJzIwcHgnLFxuICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4JyxcbiAgICAgICdkaXNwbGF5JzogJ2lubGluZS1mbGV4JyxcbiAgICAgICdhbGlnbi1pdGVtcyc6ICdjZW50ZXInLFxuICAgICAgJ2p1c3RpZnktY29udGVudCc6ICdjZW50ZXInXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzdGF0dXNJY29uU3R5bGVzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnY29sb3InOiB0aGlzLnN0YXR1c0NvbG9yLFxuICAgICAgJ2ZvbnQtc2l6ZSc6ICcxMnB4JyxcbiAgICAgICd3aWR0aCc6ICcxMnB4JyxcbiAgICAgICdoZWlnaHQnOiAnMTJweCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHN0YXR1c0JhZGdlU3R5bGVzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuc3RhdHVzQ29sb3JcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHJ1bkxhYmVsU3R5bGVzKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICcjZWNlZGZlJyxcbiAgICAgICdwYWRkaW5nJzogJzJweCA4cHgnLFxuICAgICAgJ2JvcmRlci1yYWRpdXMnOiAnNHB4J1xuICAgIH07XG4gIH1cbn0iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtaW4td2lkdGg6IDE4MHB4O1wiPlxuICA8ZGl2IFxuICAgIGNsYXNzPVwiY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLWxnIGNxYS1wLTMgY3FhLXNoYWRvdy1zbSBjcWEtZmxleCBjcWEtZmxleC1jb2xcIlxuICAgIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0U0RTRFNDsgYm9yZGVyLWxlZnQtd2lkdGg6IDRweDtcIlxuICAgIFtuZ1N0eWxlXT1cInsgJ2JvcmRlci1sZWZ0LWNvbG9yJzogc3RhdHVzQ29sb3IgfVwiPlxuICAgIFxuICAgIDwhLS0gSGVhZGVyOiBSdW4gSUQgYW5kIFN0YXR1cyBCYWRnZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1tYi0yIGNxYS1nYXAtMlwiIHN0eWxlPVwiZmxleC13cmFwOiB3cmFwO1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInN0YXR1c0ljb25Db250YWluZXJTdHlsZXNcIj5cbiAgICAgICAgICA8bWF0LWljb24gW25nU3R5bGVdPVwic3RhdHVzSWNvblN0eWxlc1wiPlxuICAgICAgICAgICAge3sgc3RhdHVzSWNvbiB9fVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzNmNDNlZV1cIj5cbiAgICAgICAgICAje3sgaWQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDwhLS0gU3RhdHVzIEJhZGdlIC0tPlxuICAgICAgPHNwYW4gXG4gICAgICAgIGNsYXNzPVwiY3FhLWlubGluZS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1weC0yIGNxYS1weS0xIGNxYS1yb3VuZGVkLW1kIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC13aGl0ZSBjcWEtdGV4dC14c1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cInN0YXR1c0JhZGdlU3R5bGVzXCI+XG4gICAgICAgIHt7IHN0YXR1c0xhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFR5cGUgYW5kIFRpbWVzdGFtcCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEgY3FhLW1iLVs2cHhdXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bIzYzNjM2M10gY3FhLXRleHQtWzE0cHhdIGNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF1cIj5cbiAgICAgICAge3sgdHlwZUljb24gfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjNjM2MzYzXVwiPlxuICAgICAgICB7eyB0eXBlTGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gVGltZXN0YW1wIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWyMwQjBCMEJdIGNxYS1tYi1bNnB4XVwiPlxuICAgICAge3sgdGltZXN0YW1wIH19XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIER1cmF0aW9uIGFuZCBSdW4gTGFiZWwgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZ2FwLTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bIyM2MzYzNjNdIGNxYS10ZXh0LVsxNHB4XSBjcWEtdy1bMTRweF0gY3FhLWgtWzE0cHhdXCIgc3R5bGU9XCJmbGV4LXNocmluazogMDtcIj5cbiAgICAgICAgICBzY2hlZHVsZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bIzYzNjM2M10gY3FhLWgtWzE0cHhdXCI+XG4gICAgICAgICAge3sgZHVyYXRpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxzcGFuIFxuICAgICAgICAqbmdJZj1cInJ1bkxhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtcm91bmRlZC1tZCBjcWEtd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgICAgICBbbmdTdHlsZV09XCJydW5MYWJlbFN0eWxlc1wiPlxuICAgICAgICB7eyBydW5MYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBFcnJvciBNZXNzYWdlIChvbmx5IGZvciBmYWlsZWQgc3RhdHVzKSAtLT5cbiAgICA8ZGl2IFxuICAgICAgKm5nSWY9XCJlcnJvck1lc3NhZ2UgJiYgc3RhdHVzID09PSAnZmFpbGVkJ1wiXG4gICAgICBjbGFzcz1cImNxYS1tdC0yIGNxYS1wdC0yXCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNEU0RTQ7XCI+XG4gICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bI0U3MDAwQl1cIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQXFCakQsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQWFXLFNBQUksR0FBYSxRQUFRLENBQUM7S0F1SXBDO0lBbklDLElBQUksa0JBQWtCO1FBQ3BCLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCO2dCQUNFLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sYUFBYSxDQUFDO1lBQ3ZCO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxTQUFTLENBQUM7WUFDbkI7Z0JBQ0UsT0FBTyxTQUFTLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUMsSUFBSSxpQkFBaUI7UUFDckIsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssUUFBUTtnQkFDVCxPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssYUFBYTtnQkFDZCxPQUFPLFNBQVMsQ0FBQztZQUNyQjtnQkFDSSxPQUFPLFNBQVMsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxhQUFhO2dCQUNoQixPQUFPLFVBQVUsQ0FBQztZQUNwQjtnQkFDRSxPQUFPLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTztZQUNMLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3hDLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLGlCQUFpQixFQUFFLFFBQVE7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDM0MsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1NBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTztZQUNMLGtCQUFrQixFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU87WUFDTCxrQkFBa0IsRUFBRSxTQUFTO1lBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDL0MsZUFBZSxFQUFFLEtBQUs7WUFDdEIsV0FBVyxFQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtTQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7O29IQTdJVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixrT0NyQnBDLHkvR0FpR007MkZENUVPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBS3ZCLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFJ1blN0YXR1cyA9ICdwYXNzZWQnIHwgJ2ZhaWxlZCcgfCAnYWJvcnRlZCcgfCAnaW4tcHJvZ3Jlc3MnO1xuZXhwb3J0IHR5cGUgUnVuVHlwZSA9ICdhdXRvbWF0ZWQnIHwgJ21hbnVhbCc7XG5leHBvcnQgdHlwZSBDYXJkU2l6ZSA9ICdub3JtYWwnIHwgJ3NtYWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW5IaXN0b3J5RGF0YSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIHN0YXR1czogUnVuU3RhdHVzO1xuICB0eXBlOiBSdW5UeXBlO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgcnVuTGFiZWw/OiBzdHJpbmc7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLXJ1bi1oaXN0b3J5LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgUnVuSGlzdG9yeUNhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBpZCE6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgc3RhdHVzITogUnVuU3RhdHVzO1xuICBASW5wdXQoKSB0eXBlITogUnVuVHlwZTtcbiAgQElucHV0KCkgdGltZXN0YW1wITogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbiE6IHN0cmluZztcbiAgQElucHV0KCkgcnVuTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogQ2FyZFNpemUgPSAnbm9ybWFsJztcblxuXG5cbiAgZ2V0IHN0YXR1c0JhZGdlVmFyaWFudCgpOiAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcbiAgICAgIGNhc2UgJ2luLXByb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuICdpbmZvJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnaW5mbyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXR1c0xhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICdQYXNzZWQnO1xuICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgcmV0dXJuICdGYWlsZWQnO1xuICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgIHJldHVybiAnQWJvcnRlZCc7XG4gICAgICBjYXNlICdpbi1wcm9ncmVzcyc6XG4gICAgICAgIHJldHVybiAnSW4gUHJvZ3Jlc3MnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGF0dXNDb2xvcigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0dXMpIHtcbiAgICAgIGNhc2UgJ3Bhc3NlZCc6XG4gICAgICAgIHJldHVybiAnIzAwQzk1MCc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJyNGQjJDMzYnO1xuICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgIHJldHVybiAnI0Y5NzMxNic7XG4gICAgICBjYXNlICdpbi1wcm9ncmVzcyc6XG4gICAgICAgIHJldHVybiAnIzNCODJGNic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyM2QjcyODAnO1xuICAgIH1cbiAgfVxuXG4gICAgZ2V0IHN0YXR1c0ljb25CZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjRENGQ0U3JztcbiAgICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgICAgIHJldHVybiAnI2ZmZTJlMic7XG4gICAgICAgIGNhc2UgJ2Fib3J0ZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjRkZFREQ1JzsgXG4gICAgICAgIGNhc2UgJ2luLXByb2dyZXNzJzpcbiAgICAgICAgICAgIHJldHVybiAnI0RCRUFGRSc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJyNFNUU3RUInO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGF0dXNJY29uKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICdjaGVjayc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJ2Nsb3NlJztcbiAgICAgIGNhc2UgJ2Fib3J0ZWQnOlxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgY2FzZSAnaW4tcHJvZ3Jlc3MnOlxuICAgICAgICByZXR1cm4gJ3NjaGVkdWxlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZUljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnYXV0b21hdGVkJyA/ICdzZXR0aW5ncycgOiAncGVyc29uJztcbiAgfVxuXG4gIGdldCB0eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnYXV0b21hdGVkJyA/ICdBdXRvbWF0ZWQnIDogJ01hbnVhbCc7XG4gIH1cblxuICBnZXQgaXNTbWFsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnc21hbGwnO1xuICB9XG5cbiAgZ2V0IHN0YXR1c0ljb25Db250YWluZXJTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5zdGF0dXNJY29uQmdDb2xvcixcbiAgICAgICd3aWR0aCc6IHRoaXMuaXNTbWFsbCA/ICcxNnB4JyA6ICcyMHB4JyxcbiAgICAgICdoZWlnaHQnOiB0aGlzLmlzU21hbGwgPyAnMTZweCcgOiAnMjBweCcsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxuICAgICAgJ2Rpc3BsYXknOiAnaW5saW5lLWZsZXgnLFxuICAgICAgJ2FsaWduLWl0ZW1zJzogJ2NlbnRlcicsXG4gICAgICAnanVzdGlmeS1jb250ZW50JzogJ2NlbnRlcidcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHN0YXR1c0ljb25TdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjb2xvcic6IHRoaXMuc3RhdHVzQ29sb3IsXG4gICAgICAnZm9udC1zaXplJzogdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnLFxuICAgICAgJ3dpZHRoJzogdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaXNTbWFsbCA/ICcxMHB4JyA6ICcxMnB4J1xuICAgIH07XG4gIH1cblxuICBnZXQgc3RhdHVzQmFkZ2VTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5zdGF0dXNDb2xvclxuICAgIH07XG4gIH1cblxuICBnZXQgcnVuTGFiZWxTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNlY2VkZmUnLFxuICAgICAgJ3BhZGRpbmcnOiB0aGlzLmlzU21hbGwgPyAnMnB4IDZweCcgOiAnMnB4IDhweCcsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxuICAgICAgJ2ZvbnQtc2l6ZScgOiB0aGlzLmlzU21hbGwgPyAnOHB4JyA6ICcxMHB4J1xuICAgIH07XG4gIH1cblxuICBnZXQgY2FyZFBhZGRpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnO1xuICB9XG5cbiAgZ2V0IGJvcmRlckxlZnRXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzU21hbGwgPyAnM3B4JyA6ICc0cHgnO1xuICB9XG5cbn0iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtaW4td2lkdGg6IDE4MHB4O1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLWxnIGNxYS1zaGFkb3ctc20gY3FhLWZsZXggY3FhLWZsZXgtY29sXCIgW25nU3R5bGVdPVwie1xuICAgICAgcGFkZGluZzogY2FyZFBhZGRpbmcsXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgI0U0RTRFNCcsXG4gICAgICAnYm9yZGVyLWxlZnQtY29sb3InOiBzdGF0dXNDb2xvcixcbiAgICAgICdib3JkZXItbGVmdC13aWR0aCc6IGJvcmRlckxlZnRXaWR0aFxuICAgIH1cIj5cblxuICAgIDwhLS0gSGVhZGVyOiBSdW4gSUQgYW5kIFN0YXR1cyBCYWRnZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1nYXAtMiBjcWEtZmxleC13cmFwXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAnY3FhLW1iLVsxMHB4XSc6IGlzU21hbGwsXG4gICAgICAgICdjcWEtbWItMic6ICFpc1NtYWxsXG4gICAgICB9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cInsgJ2NxYS1nYXAtWzZweF0nOiBpc1NtYWxsLCAnY3FhLWdhcC0yJzogIWlzU21hbGwgfVwiPlxuICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJzdGF0dXNJY29uQ29udGFpbmVyU3R5bGVzXCI+XG4gICAgICAgICAgPG1hdC1pY29uIFtuZ1N0eWxlXT1cInN0YXR1c0ljb25TdHlsZXNcIj5cbiAgICAgICAgICAgIHt7IHN0YXR1c0ljb24gfX1cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWyMzZjQzZWVdXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2NxYS10ZXh0LXhzJzogaXNTbWFsbCxcbiAgICAgICAgICAgICdjcWEtdGV4dC1zbSc6ICFpc1NtYWxsXG4gICAgICAgICAgfVwiPlxuICAgICAgICAgICN7eyBpZCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBTdGF0dXMgQmFkZ2UgLS0+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtcm91bmRlZC1tZCBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtd2hpdGUgY3FhLXB4LTJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2NxYS1weS1bMnB4XSBjcWEtdGV4dC1bMTBweF0nOiBpc1NtYWxsLFxuICAgICAgICAgICdjcWEtcHktMSBjcWEtdGV4dC14cyc6ICFpc1NtYWxsXG4gICAgICAgIH1cIiBbbmdTdHlsZV09XCJzdGF0dXNCYWRnZVN0eWxlc1wiPlxuICAgICAgICB7eyBzdGF0dXNMYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBUeXBlIGFuZCBUaW1lc3RhbXAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLXRleHQtWyM2MzYzNjNdXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtZ2FwLTEnOiBpc1NtYWxsLFxuICAgICAgICAgICdjcWEtZ2FwLVs2cHhdJzogIWlzU21hbGwsXG4gICAgICAgICAgJ2NxYS1tYi0yJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLW1iLVs2cHhdJzogIWlzU21hbGxcbiAgICAgICAgfVwiPlxuICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS10ZXh0LVsxMnB4XSBjcWEtdy0zIGNxYS1oLTMnOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLXRleHQtWzE0cHhdIGNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0nOiAhaXNTbWFsbCB9XCI+XG4gICAgICAgIHt7IHR5cGVJY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAnY3FhLXRleHQtWzEwcHhdJzogaXNTbWFsbCwgJ2NxYS10ZXh0LXhzJzogIWlzU21hbGwgfVwiPlxuICAgICAgICB7eyB0eXBlTGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gVGltZXN0YW1wIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWyMwQjBCMEJdXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAnY3FhLXRleHQtc20nOiAhaXNTbWFsbCxcbiAgICAgICAgJ2NxYS10ZXh0LVsxMXB4XSc6IGlzU21hbGwsXG4gICAgICAgICdjcWEtbWItMic6IGlzU21hbGwsXG4gICAgICAgICdjcWEtbWItWzZweF0nOiAhaXNTbWFsbFxuICAgICAgfVwiPlxuICAgICAge3sgdGltZXN0YW1wIH19XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIER1cmF0aW9uIGFuZCBSdW4gTGFiZWwgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZ2FwLTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS10ZXh0LVsjNjM2MzYzXVwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS1nYXAtMSc6IGlzU21hbGwsXG4gICAgICAgICdjcWEtZ2FwLVs2cHhdJzogIWlzU21hbGxcbiAgICAgIH1cIj5cbiAgICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnY3FhLXRleHQtWzEycHhdIGNxYS13LTMgY3FhLWgtMyc6IGlzU21hbGwsXG4gICAgICAgICAgJ2NxYS10ZXh0LVsxNHB4XSBjcWEtdy1bMTRweF0gY3FhLWgtWzE0cHhdJzogIWlzU21hbGwgfVwiIHN0eWxlPVwiZmxleC1zaHJpbms6IDA7XCI+XG4gICAgICAgICAgc2NoZWR1bGVcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtdGV4dC1bOHB4XSc6IGlzU21hbGwsXG4gICAgICAgICAgJ2NxYS10ZXh0LVsxMHB4XSc6ICFpc1NtYWxsXG4gICAgICAgIH1cIj5cbiAgICAgICAgICB7eyBkdXJhdGlvbiB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJydW5MYWJlbFwiIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtcm91bmRlZC1tZCBjcWEtd2hpdGVzcGFjZS1ub3dyYXBcIlxuICAgICAgICBbbmdTdHlsZV09XCJydW5MYWJlbFN0eWxlc1wiPlxuICAgICAgICB7eyBydW5MYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBFcnJvciBNZXNzYWdlIChvbmx5IGZvciBmYWlsZWQgc3RhdHVzIGFuZCBub3JtYWwgc2l6ZSkgLS0+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZSAmJiBzdGF0dXMgPT09ICdmYWlsZWQnICYmICFpc1NtYWxsXCIgY2xhc3M9XCJjcWEtbXQtMiBjcWEtcHQtMlwiXG4gICAgICBzdHlsZT1cImJvcmRlci10b3A6IDFweCBzb2xpZCAjRTRFNEU0O1wiPlxuICAgICAgPHAgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyNFNzAwMEJdXCI+XG4gICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|