@huntsman-cancer-institute/dictionary-editor 15.0.3 → 16.0.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/{esm2020 → esm2022}/components/detail.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/home.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/new-row.component.mjs +6 -6
- package/{esm2020 → esm2022}/dictionary-editor.component.mjs +6 -6
- package/{esm2020 → esm2022}/dictionary-editor.module.mjs +24 -24
- package/{esm2020 → esm2022}/grid-editors/ag-grid-date-cell-editor.component.mjs +6 -6
- package/{esm2020 → esm2022}/grid-editors/ag-grid-editor.module.mjs +20 -20
- package/esm2022/grid-editors/datepicker.component.mjs +111 -0
- package/{esm2020 → esm2022}/grid-editors/select.editor.mjs +6 -6
- package/{esm2020 → esm2022}/grid-renderers/ag-grid-renderer.module.mjs +11 -11
- package/{esm2020 → esm2022}/grid-renderers/date.renderer.mjs +6 -6
- package/{esm2020 → esm2022}/grid-renderers/select.renderer.mjs +7 -7
- package/{fesm2020 → fesm2022}/huntsman-cancer-institute-dictionary-editor.mjs +117 -117
- package/{fesm2020 → fesm2022}/huntsman-cancer-institute-dictionary-editor.mjs.map +1 -1
- package/grid-editors/datepicker.component.d.ts +1 -1
- package/package.json +15 -21
- package/esm2020/grid-editors/datepicker.component.mjs +0 -111
- package/fesm2015/huntsman-cancer-institute-dictionary-editor.mjs +0 -2150
- package/fesm2015/huntsman-cancer-institute-dictionary-editor.mjs.map +0 -1
- /package/{esm2020 → esm2022}/dictionary-editor.routes.mjs +0 -0
- /package/{esm2020 → esm2022}/grid-renderers/cell-renderer-validation.mjs +0 -0
- /package/{esm2020 → esm2022}/huntsman-cancer-institute-dictionary-editor.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
|
@@ -12,5 +12,5 @@ export declare class DatepickerComponent implements ControlValueAccessor {
|
|
|
12
12
|
registerOnChange(fn: any): void;
|
|
13
13
|
registerOnTouched(fn: () => void): void;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "hci-dict-datepicker", never, { "placeholder": "placeholder"; "invalid": "invalid"; }, {}, never, never, false, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DatepickerComponent, "hci-dict-datepicker", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huntsman-cancer-institute/dictionary-editor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git@gitlab.com:huntsman-cancer-institute/risr/ng/hci-ng-lib.git"
|
|
@@ -10,27 +10,23 @@
|
|
|
10
10
|
"access": "public"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@angular/common": "^
|
|
14
|
-
"@angular/core": "^
|
|
15
|
-
"@ng-bootstrap/ng-bootstrap": "^
|
|
16
|
-
"ag-grid-angular": "^
|
|
17
|
-
"ag-grid-community": "^
|
|
13
|
+
"@angular/common": "^16.x",
|
|
14
|
+
"@angular/core": "^16.x",
|
|
15
|
+
"@ng-bootstrap/ng-bootstrap": "^15.0.0",
|
|
16
|
+
"ag-grid-angular": "^28.x",
|
|
17
|
+
"ag-grid-community": "^28.x",
|
|
18
18
|
"rxjs": "~6.6.0",
|
|
19
19
|
"rxjs-compat": "6.4.x"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@huntsman-cancer-institute/authentication": "
|
|
23
|
-
"@huntsman-cancer-institute/dictionary-service": "
|
|
24
|
-
"@huntsman-cancer-institute/hci-ng-grid-dto": "
|
|
25
|
-
"@huntsman-cancer-institute/misc": "
|
|
26
|
-
"@huntsman-cancer-institute/navigation": "
|
|
22
|
+
"@huntsman-cancer-institute/authentication": "^16.x",
|
|
23
|
+
"@huntsman-cancer-institute/dictionary-service": "^16.x",
|
|
24
|
+
"@huntsman-cancer-institute/hci-ng-grid-dto": "^16.x",
|
|
25
|
+
"@huntsman-cancer-institute/misc": "^16.x",
|
|
26
|
+
"@huntsman-cancer-institute/navigation": "^16.x",
|
|
27
27
|
"tslib": "^2.3.0"
|
|
28
28
|
},
|
|
29
|
-
"module": "
|
|
30
|
-
"es2020": "fesm2020/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
31
|
-
"esm2020": "esm2020/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
32
|
-
"fesm2020": "fesm2020/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
33
|
-
"fesm2015": "fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
29
|
+
"module": "fesm2022/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
34
30
|
"typings": "index.d.ts",
|
|
35
31
|
"exports": {
|
|
36
32
|
"./package.json": {
|
|
@@ -38,11 +34,9 @@
|
|
|
38
34
|
},
|
|
39
35
|
".": {
|
|
40
36
|
"types": "./index.d.ts",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"node": "./fesm2015/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
45
|
-
"default": "./fesm2020/huntsman-cancer-institute-dictionary-editor.mjs"
|
|
37
|
+
"esm2022": "./esm2022/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
38
|
+
"esm": "./esm2022/huntsman-cancer-institute-dictionary-editor.mjs",
|
|
39
|
+
"default": "./fesm2022/huntsman-cancer-institute-dictionary-editor.mjs"
|
|
46
40
|
}
|
|
47
41
|
},
|
|
48
42
|
"sideEffects": false
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input } from "@angular/core";
|
|
2
|
-
import { MAT_DATE_LOCALE, MAT_DATE_FORMATS } from "@angular/material/core";
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "@angular/material/datepicker";
|
|
8
|
-
export class DatepickerComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.invalid = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
}
|
|
14
|
-
// onChange(newValue) {
|
|
15
|
-
// this.value = newValue;
|
|
16
|
-
// this.valueChange.emit(newValue);
|
|
17
|
-
// }
|
|
18
|
-
clear() {
|
|
19
|
-
this.value = undefined;
|
|
20
|
-
// this.valueChange.emit();
|
|
21
|
-
}
|
|
22
|
-
// Clear input field if entered data is invalid (Mat library sets value to null if invalid but doesn't clear input)
|
|
23
|
-
onBlur(newValue) {
|
|
24
|
-
if (!this.value) {
|
|
25
|
-
this.value = undefined;
|
|
26
|
-
// this.valueChange.emit();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
writeValue(value) {
|
|
30
|
-
if (value !== undefined) {
|
|
31
|
-
this.value = value;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
registerOnChange(fn) {
|
|
35
|
-
this.onChange = () => {
|
|
36
|
-
fn(this.value);
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
registerOnTouched(fn) { }
|
|
40
|
-
}
|
|
41
|
-
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DatepickerComponent, selector: "hci-dict-datepicker", inputs: { placeholder: "placeholder", invalid: "invalid" }, providers: [
|
|
43
|
-
{ provide: MAT_DATE_LOCALE, useValue: "en-GB" },
|
|
44
|
-
{
|
|
45
|
-
provide: MAT_DATE_FORMATS,
|
|
46
|
-
useValue: {
|
|
47
|
-
parse: {
|
|
48
|
-
dateInput: ["YYYY-MM-DD"],
|
|
49
|
-
},
|
|
50
|
-
display: {
|
|
51
|
-
dateInput: "YYYY-MM-DD",
|
|
52
|
-
monthYearLabel: "MMM YYYY",
|
|
53
|
-
dateA11yLabel: "YYYY-MM-DD",
|
|
54
|
-
monthYearA11yLabel: "MMMM YYYY",
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
provide: NG_VALUE_ACCESSOR,
|
|
60
|
-
useExisting: forwardRef(() => DatepickerComponent),
|
|
61
|
-
multi: true
|
|
62
|
-
}
|
|
63
|
-
], ngImport: i0, template: `
|
|
64
|
-
<div class="d-flex" style="width: 100%;">
|
|
65
|
-
<input matInput [matDatepicker]="picker" class="form-control" [placeholder]="placeholder" [(ngModel)]="value" (ngModelChange)="onChange($event)"
|
|
66
|
-
(blur)="onBlur($event)" data-date-format="YYYY-MM-DD"
|
|
67
|
-
[ngStyle]="{'background-color':invalid ? 'red' : '#fff'}" >
|
|
68
|
-
<span class="input-group-text" id="clearIcon" (click)="clear()"><i class="fas fa-times"></i></span>
|
|
69
|
-
<button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
|
|
70
|
-
<mat-datepicker panelClass="ag-custom-component-popup" #picker ></mat-datepicker>
|
|
71
|
-
</div>
|
|
72
|
-
`, isInline: true, styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }] });
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: "hci-dict-datepicker", template: `
|
|
76
|
-
<div class="d-flex" style="width: 100%;">
|
|
77
|
-
<input matInput [matDatepicker]="picker" class="form-control" [placeholder]="placeholder" [(ngModel)]="value" (ngModelChange)="onChange($event)"
|
|
78
|
-
(blur)="onBlur($event)" data-date-format="YYYY-MM-DD"
|
|
79
|
-
[ngStyle]="{'background-color':invalid ? 'red' : '#fff'}" >
|
|
80
|
-
<span class="input-group-text" id="clearIcon" (click)="clear()"><i class="fas fa-times"></i></span>
|
|
81
|
-
<button class="btn btn-outline-secondary" type="button" (click)="picker.open()" style="height:32px; width:32px;"><i class="fas fa-calendar-alt"></i></button>
|
|
82
|
-
<mat-datepicker panelClass="ag-custom-component-popup" #picker ></mat-datepicker>
|
|
83
|
-
</div>
|
|
84
|
-
`, providers: [
|
|
85
|
-
{ provide: MAT_DATE_LOCALE, useValue: "en-GB" },
|
|
86
|
-
{
|
|
87
|
-
provide: MAT_DATE_FORMATS,
|
|
88
|
-
useValue: {
|
|
89
|
-
parse: {
|
|
90
|
-
dateInput: ["YYYY-MM-DD"],
|
|
91
|
-
},
|
|
92
|
-
display: {
|
|
93
|
-
dateInput: "YYYY-MM-DD",
|
|
94
|
-
monthYearLabel: "MMM YYYY",
|
|
95
|
-
dateA11yLabel: "YYYY-MM-DD",
|
|
96
|
-
monthYearA11yLabel: "MMMM YYYY",
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
provide: NG_VALUE_ACCESSOR,
|
|
102
|
-
useExisting: forwardRef(() => DatepickerComponent),
|
|
103
|
-
multi: true
|
|
104
|
-
}
|
|
105
|
-
], styles: ["#clearIcon{cursor:pointer}#clearIcon:Hover{background-color:#495057;color:#e9ecef}\n"] }]
|
|
106
|
-
}], propDecorators: { placeholder: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], invalid: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kaWN0aW9uYXJ5LWVkaXRvci9zcmMvZ3JpZC1lZGl0b3JzL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLFVBQVUsRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUE4Q3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUE1Q2hDO1FBaURXLFlBQU8sR0FBWSxLQUFLLENBQUM7S0EyQ25DO0lBckNDLFFBQVE7SUFFUixDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtJQUMzQixxQ0FBcUM7SUFDckMsSUFBSTtJQUVKLEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QiwyQkFBMkI7SUFDN0IsQ0FBQztJQUVELG1IQUFtSDtJQUNuSCxNQUFNLENBQUMsUUFBUTtRQUViLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsMkJBQTJCO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWMsSUFBUyxDQUFDOztpSEE5Qy9CLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDBHQXZCbkI7UUFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUM3QztZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRTtvQkFDTCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsWUFBWTtvQkFDdkIsY0FBYyxFQUFFLFVBQVU7b0JBQzFCLGFBQWEsRUFBRSxZQUFZO29CQUMzQixrQkFBa0IsRUFBRSxXQUFXO2lCQUNoQzthQUNGO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJBeENTOzs7Ozs7Ozs7R0FTVDs0RkFpQ1UsbUJBQW1CO2tCQTVDL0IsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7OztHQVNULGFBVVU7d0JBQ1QsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7d0JBQzdDOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFFBQVEsRUFBRTtnQ0FDUixLQUFLLEVBQUU7b0NBQ0wsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO2lDQUMxQjtnQ0FDRCxPQUFPLEVBQUU7b0NBQ1AsU0FBUyxFQUFFLFlBQVk7b0NBQ3ZCLGNBQWMsRUFBRSxVQUFVO29DQUMxQixhQUFhLEVBQUUsWUFBWTtvQ0FDM0Isa0JBQWtCLEVBQUUsV0FBVztpQ0FDaEM7NkJBQ0Y7eUJBQ0Y7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU1RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNQVRfREFURV9MT0NBTEUsIE1BVF9EQVRFX0ZPUk1BVFN9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1kaWN0LWRhdGVwaWNrZXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCIgZGF0YS1kYXRlLWZvcm1hdD1cIllZWVktTU0tRERcIlxyXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzppbnZhbGlkID8gJ3JlZCcgOiAnI2ZmZid9XCIgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIGlkPVwiY2xlYXJJY29uXCIgKGNsaWNrKT1cImNsZWFyKClcIj48aSBjbGFzcz1cImZhcyBmYS10aW1lc1wiPjwvaT48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCIgc3R5bGU9XCJoZWlnaHQ6MzJweDsgd2lkdGg6MzJweDtcIj48aSBjbGFzcz1cImZhcyBmYS1jYWxlbmRhci1hbHRcIj48L2k+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciBwYW5lbENsYXNzPVwiYWctY3VzdG9tLWNvbXBvbmVudC1wb3B1cFwiICNwaWNrZXIgPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgICNjbGVhckljb24ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAjY2xlYXJJY29uOkhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDczLCA4MCwgODcpO1xyXG4gICAgICBjb2xvcjogcmdiKDIzMywgMjM2LCAyMzkpXHJcbiAgICB9XHJcbiAgYF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7cHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogXCJlbi1HQlwifSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICBwYXJzZToge1xyXG4gICAgICAgICAgZGF0ZUlucHV0OiBbXCJZWVlZLU1NLUREXCJdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGlzcGxheToge1xyXG4gICAgICAgICAgZGF0ZUlucHV0OiBcIllZWVktTU0tRERcIixcclxuICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiBcIk1NTSBZWVlZXCIsXHJcbiAgICAgICAgICBkYXRlQTExeUxhYmVsOiBcIllZWVktTU0tRERcIixcclxuICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogXCJNTU1NIFlZWVlcIixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgLy97cHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogXCJlbi1HQlwifSxcclxuICAvLyBASW5wdXQoKSB2YWx1ZTogRGF0ZTtcclxuICB2YWx1ZTogRGF0ZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8gQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBvbkNoYW5nZTogYW55O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgfVxyXG5cclxuICAvLyBvbkNoYW5nZShuZXdWYWx1ZSkge1xyXG4gIC8vICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gIC8vICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAvLyB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIC8vIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2xlYXIgaW5wdXQgZmllbGQgaWYgZW50ZXJlZCBkYXRhIGlzIGludmFsaWQgKE1hdCBsaWJyYXJ5IHNldHMgdmFsdWUgdG8gbnVsbCBpZiBpbnZhbGlkIGJ1dCBkb2Vzbid0IGNsZWFyIGlucHV0KVxyXG4gIG9uQmx1cihuZXdWYWx1ZSkge1xyXG5cclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAvLyB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgZm4odGhpcy52YWx1ZSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHt9XHJcblxyXG59XHJcblxyXG4iXX0=
|