@skyux/list-builder-view-checklist 9.21.2 → 10.0.0-alpha.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/documentation.json +96 -96
- package/esm2022/lib/modules/list-view-checklist/list-view-checklist-item.component.mjs +3 -3
- package/esm2022/lib/modules/list-view-checklist/list-view-checklist.component.mjs +5 -5
- package/esm2022/lib/modules/list-view-checklist/list-view-checklist.module.mjs +4 -4
- package/esm2022/lib/modules/list-view-checklist/state/checklist-state.rxstate.mjs +3 -3
- package/esm2022/lib/modules/list-view-checklist/state/checklist-state.state-node.mjs +4 -4
- package/esm2022/lib/modules/list-view-checklist/state/items/item.model.mjs +1 -1
- package/esm2022/lib/modules/list-view-checklist/state/items/items.orchestrator.mjs +1 -1
- package/esm2022/testing/list-view-checklist-fixture.mjs +1 -1
- package/fesm2022/skyux-list-builder-view-checklist-testing.mjs.map +1 -1
- package/fesm2022/skyux-list-builder-view-checklist.mjs +18 -18
- package/fesm2022/skyux-list-builder-view-checklist.mjs.map +1 -1
- package/package.json +10 -10
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
* @deprecated
|
|
5
5
|
*/
|
|
6
6
|
export class SkyListViewChecklistItemComponent {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content />\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content />\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
|
|
13
13
|
}], propDecorators: { item: [{
|
|
@@ -257,8 +257,8 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
257
257
|
}
|
|
258
258
|
return true;
|
|
259
259
|
}
|
|
260
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
261
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: i2.ChecklistState }, { token: i3.ChecklistStateDispatcher }, { token: i4.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
261
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
262
262
|
{
|
|
263
263
|
provide: ListViewComponent,
|
|
264
264
|
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
@@ -268,7 +268,7 @@ export class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
268
268
|
ChecklistStateModel,
|
|
269
269
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i6.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i7.SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
270
270
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
272
272
|
type: Component,
|
|
273
273
|
args: [{ selector: 'sky-list-view-checklist', providers: [
|
|
274
274
|
{
|
|
@@ -279,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
279
279
|
ChecklistStateDispatcher,
|
|
280
280
|
ChecklistStateModel,
|
|
281
281
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"] }]
|
|
282
|
-
}], ctorParameters:
|
|
282
|
+
}], ctorParameters: () => [{ type: i1.ListState }, { type: i1.ListStateDispatcher }, { type: i2.ChecklistState }, { type: i3.ChecklistStateDispatcher }, { type: i4.SkyLogService }], propDecorators: { name: [{
|
|
283
283
|
type: Input
|
|
284
284
|
}], search: [{
|
|
285
285
|
type: Input
|
|
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
293
293
|
}], showOnlySelected: [{
|
|
294
294
|
type: Input
|
|
295
295
|
}] } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbGliL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixpQ0FBaUMsRUFDakMsa0NBQWtDLEVBR2xDLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBSUwsT0FBTyxHQUNSLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENB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SSxLQUFLLGVBQWUsQ0FDNUMsQ0FBQztRQUVGLElBQUksc0JBQXNCLElBQUksc0JBQXNCLEVBQUU7WUFDcEQsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQXBXVSw2QkFBNkI7a0dBQTdCLDZCQUE2QiwrT0FYN0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQzdEO1lBQ0QsY0FBYztZQUNkLHdCQUF3QjtZQUN4QixtQkFBbUI7U0FDcEIsc0VDMURILGszREF3REE7OzJGREthLDZCQUE2QjtrQkFmekMsU0FBUzsrQkFDRSx5QkFBeUIsYUFHeEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7eUJBQzdEO3dCQUNELGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO2tPQVdwQyxJQUFJO3NCQURkLEtBQUs7Z0JBWUMsTUFBTTtzQkFEWixLQUFLO2dCQVVDLGtCQUFrQjtzQkFEeEIsS0FBSzt1QkFBQyxPQUFPO2dCQVFQLFdBQVc7c0JBRGpCLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsS0FBSztnQkF1QkssZ0JBQWdCO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUNoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7XG4gIExpc3RGaWx0ZXJNb2RlbCxcbiAgTGlzdFNlbGVjdGVkTW9kZWwsXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbixcbiAgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbixcbiAgTGlzdFN0YXRlLFxuICBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24sXG4gIExpc3RWaWV3Q29tcG9uZW50LFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyJztcbmltcG9ydCB7XG4gIEFzeW5jSXRlbSxcbiAgQXN5bmNMaXN0LFxuICBMaXN0SXRlbU1vZGVsLFxuICBnZXREYXRhLFxufSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIgfSBmcm9tICcuL3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUuc3RhdGUtbm9kZSc7XG5pbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbCB9IGZyb20gJy4vc3RhdGUvaXRlbXMvaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvaXRlbXMvbG9hZC5hY3Rpb24nO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIExpc3QgYnVpbGRlciB2aWV3IGNoZWNrbGlzdCBhbmQgaXRzIGZlYXR1cmVzIGFyZSBkZXByZWNhdGVkLiBVc2UgcmVwZWF0ZXIgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcmVwZWF0ZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXZpZXctY2hlY2tsaXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IExpc3RWaWV3Q29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnQpLFxuICAgIH0sXG4gICAgQ2hlY2tsaXN0U3RhdGUsXG4gICAgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIENoZWNrbGlzdFN0YXRlTW9kZWwsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Vmlld0NoZWNrbGlzdENvbXBvbmVudFxuICBleHRlbmRzIExpc3RWaWV3Q29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHZpZXcuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZpZXdOYW1lID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBmdW5jdGlvbiB0byBhcHBseSBvbiB0aGUgdmlldyBkYXRhLlxuICAgKiBUaGUgZGVmYXVsdCBmdW5jdGlvbiBzZWFyY2hlcyB2aWV3IGRhdGEgb24gbGFiZWwsIGRlc2NyaXB0aW9uLFxuICAgKiBhbmQgY2F0ZWdvcnkgaWYgZmllbGQgc2VsZWN0b3JzIGFyZSBkZWZpbmVkIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoOiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4gPVxuICAgIHRoaXMuc2VhcmNoRnVuY3Rpb24oKTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGxhYmVsIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCBcImxhYmVsXCJcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnbGFiZWwnKVxuICBwdWJsaWMgbGFiZWxGaWVsZFNlbGVjdG9yID0gJ2xhYmVsJztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHNlbGVjdG9yLlxuICAgKiBAZGVmYXVsdCBcImRlc2NyaXB0aW9uXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9ICdkZXNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IGl0ZW1zIHVzZXJzIGNhbiBzZWxlY3QuXG4gICAqIGBcInNpbmdsZVwiYCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG9uZSBpdGVtIGluIHRoZSBjaGVja2xpc3QsIHdoaWxlIGBcIm11bHRpcGxlXCJgXG4gICAqIGFsbG93cyB1c2VycyB0byBzZWxlY3QgbXVsdGlwbGUgaXRlbXMgaW4gdGhlIGNoZWNrbGlzdC5cbiAgICogQGRlZmF1bHQgXCJtdWx0aXBsZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdE1vZGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdE1vZGUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIoZmFsc2UpO1xuICAgIH1cblxuICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdE1vZGUgfHwgJ211bHRpcGxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc3BsYXkgc2VsZWN0ZWQgaXRlbXMgb25seS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2hvd09ubHlTZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvd09ubHlTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd09ubHlTZWxlY3RlZDtcbiAgfVxuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0TW9kZSA9ICdtdWx0aXBsZSc7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJZE1hcDogTWFwPHN0cmluZywgYm9vbGVhbj4gPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBwcml2YXRlIF9zaG93T25seVNlbGVjdGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RhdGU6IExpc3RTdGF0ZSxcbiAgICBwcml2YXRlIGRpc3BhdGNoZXI6IExpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgcHJpdmF0ZSBjaGVja2xpc3RTdGF0ZTogQ2hlY2tsaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBjaGVja2xpc3REaXNwYXRjaGVyOiBDaGVja2xpc3RTdGF0ZURpc3BhdGNoZXIsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihzdGF0ZSwgJ0NoZWNrbGlzdCBWaWV3Jyk7XG5cbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnQnLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNixcbiAgICAgIG1vcmVJbmZvVXJsOiAnaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3JlcGVhdGVyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgcmVwZWF0ZXIgaW5zdGVhZC4nLFxuICAgIH0pO1xuXG4gICAgbGV0IGxhc3RVcGRhdGU6IGFueTtcbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGl0ZW1zOiBBc3luY0xpc3Q8TGlzdEl0ZW1Nb2RlbD4pID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhQ2hhbmdlZCA9XG4gICAgICAgICAgICBsYXN0VXBkYXRlID09PSB1bmRlZmluZWQgfHwgaXRlbXMubGFzdFVwZGF0ZSAhPT0gbGFzdFVwZGF0ZTtcbiAgICAgICAgICBsYXN0VXBkYXRlID0gaXRlbXMubGFzdFVwZGF0ZTtcbiAgICAgICAgICBjb25zdCBuZXdJdGVtcyA9IGl0ZW1zLml0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsRmllbGRTZWxlY3RvclxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMubGFiZWxGaWVsZFNlbGVjdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgID8gZ2V0RGF0YShpdGVtLmRhdGEsIHRoaXMuZGVzY3JpcHRpb24pXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuY2hlY2tsaXN0RGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICAgICAgbmV3IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uKFxuICAgICAgICAgICAgICBuZXdJdGVtcyxcbiAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgZGF0YUNoYW5nZWQsXG4gICAgICAgICAgICAgIGl0ZW1zLmNvdW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHQpID0+IHQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGVkSXRlbXM6IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4pID0+IHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJZE1hcCA9IHNlbGVjdGVkSXRlbXMuaXRlbS5zZWxlY3RlZElkTWFwO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJykge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyKHRydWUpO1xuICAgIH1cblxuICAgIC8vIElmICdzaG93LXNlbGVjdGVkJyBmaWx0ZXIgaXMgY2hhbmdlZCBmcm9tIG11bHRpc2VsZWN0IHRvb2xiYXIgKGxpc3QtYnVpbGRlcilcbiAgICAvLyBtYWtlIHN1cmUgdGhlIHByaXZhdGUgdmFyaWFibGUgX3Nob3dPbmx5U2VsZWN0ZWQgc3RheXMgaW4gc3luYy5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgodCkgPT4gdC5maWx0ZXJzKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKHRoaXMuc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10pID0+IHtcbiAgICAgICAgY29uc3Qgc2hvd1NlbGVjdGVkRmlsdGVyID0gZmlsdGVycy5maW5kKFxuICAgICAgICAgIChmaWx0ZXI6IExpc3RGaWx0ZXJNb2RlbCkgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJyxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHNob3dTZWxlY3RlZEZpbHRlcikge1xuICAgICAgICAgIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQgPSBzaG93U2VsZWN0ZWRGaWx0ZXIudmFsdWUgPT09ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXSAmJlxuICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLnByZXZpb3VzVmFsdWVcbiAgICApIHtcbiAgICAgIHRoaXMucmVhcHBseUZpbHRlcihjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlVmlzaWJsZUl0ZW1zKGNoYW5nZTogU2t5Q2hlY2tib3hDaGFuZ2UpIHtcbiAgICB0aGlzLnNob3dPbmx5U2VsZWN0ZWQgPSBjaGFuZ2UuY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbnMoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihcbiAgICAgICAgICAgIGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCksXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDMuMi4wXG4gICAqIE11bHRpc2VsZWN0IHRvb2xiYXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNob3cgaWYgc2VsZWN0IG1vZGUgaXMgc2V0IHRvICdtdWx0aXBsZScuXG4gICAqIFRoZXNlIG1ldGhvZHMgYXJlIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBwYXJ0IG9mIGxpc3QtYnVpbGRlci5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihcbiAgICAgICAgICAgIGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCksXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5zaG93T25seVNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5yZWFwcGx5RmlsdGVyKHRoaXMuc2hvd09ubHlTZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uVmlld0FjdGl2ZSgpIHtcbiAgICBpZiAodGhpcy5zZWFyY2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZ1bmN0aW9ucyhbdGhpcy5zZWFyY2hdKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuICAgIGlmICh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcikge1xuICAgICAgZmllbGRTZWxlY3RvcnMucHVzaCh0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5kZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaGVyLnNlYXJjaFNldEZpZWxkU2VsZWN0b3JzKGZpZWxkU2VsZWN0b3JzKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24oJ3NlYXJjaCcpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtcygpOiBPYnNlcnZhYmxlPExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2xpc3RTdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLml0ZW1zLml0ZW1zKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh0aGlzLmxhYmVsRmllbGRTZWxlY3RvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gZ2V0RGF0YShkYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3Rvcik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBsYWJlbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbGFiZWwgIT09IG51bGwgJiZcbiAgICAgICAgICBsYWJlbC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGdldERhdGEoZGF0YSwgdGhpcy5kZXNjcmlwdGlvbik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgZGVzY3JpcHRpb24gIT09IG51bGwgJiZcbiAgICAgICAgICBkZXNjcmlwdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgaXRlbVNlbGVjdGVkKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoc3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkLml0ZW0uc2VsZWN0ZWRJZE1hcC5nZXQoaWQpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldEl0ZW1TZWxlY3Rpb24oaXRlbTogTGlzdEl0ZW1Nb2RlbCwgZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1TZWxlY3RlZEFjdGlvbihpdGVtLmlkLCBldmVudC5jaGVja2VkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW06IExpc3RJdGVtTW9kZWwpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtc1NlbGVjdGVkQWN0aW9uKFtpdGVtLmlkXSwgdHJ1ZSwgdHJ1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gbmV3IExpc3RGaWx0ZXJNb2RlbCh7XG4gICAgICBuYW1lOiAnc2hvdy1zZWxlY3RlZCcsXG4gICAgICB2YWx1ZTogaXNTZWxlY3RlZC50b1N0cmluZygpLFxuICAgICAgZmlsdGVyRnVuY3Rpb246IChtb2RlbDogTGlzdEl0ZW1Nb2RlbCwgc2hvd09ubHlTZWxlY3RlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoc2hvd09ubHlTZWxlY3RlZC50b1N0cmluZygpICE9PSBmYWxzZS50b1N0cmluZygpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSWRNYXAuZ2V0KG1vZGVsLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UudG9TdHJpbmcoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhcHBseUZpbHRlcihpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5maWx0ZXJzKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGZpbHRlcnMgPSBmaWx0ZXJzLmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSAhPT0gJ3Nob3ctc2VsZWN0ZWQnKTtcbiAgICAgICAgZmlsdGVycy5wdXNoKHRoaXMuZ2V0U2hvd1NlbGVjdGVkRmlsdGVyKGlzU2VsZWN0ZWQpKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmZpbHRlcnNVcGRhdGUoZmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdGVkVmFsdWVzRXF1YWwoXG4gICAgcHJldjogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgbmV4dDogTGlzdEZpbHRlck1vZGVsW10sXG4gICkge1xuICAgIGNvbnN0IHByZXZTaG93U2VsZWN0ZWRGaWx0ZXIgPSBwcmV2LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICk7XG4gICAgY29uc3QgbmV4dFNob3dTZWxlY3RlZEZpbHRlciA9IG5leHQuZmluZChcbiAgICAgIChmaWx0ZXIpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCcsXG4gICAgKTtcblxuICAgIGlmIChwcmV2U2hvd1NlbGVjdGVkRmlsdGVyICYmIG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgIHJldHVybiBwcmV2U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3RcIiAqbmdJZj1cImFjdGl2ZSB8IGFzeW5jXCI+XG4gIDxkaXYgW25nU3dpdGNoXT1cInNlbGVjdE1vZGVcIj5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hDYXNlPVwic2luZ2xlXCI+XG4gICAgICA8ZGl2IHJvbGU9XCJyYWRpb2dyb3VwXCI+XG4gICAgICAgIDxza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtc2luZ2xlLWJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKGl0ZW1TZWxlY3RlZChpdGVtLmlkKSB8IGFzeW5jKSB8fCBmYWxzZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1yb3ctc2VsZWN0ZWQnOlxuICAgICAgICAgICAgICAgIChpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYylcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNpbmdsZVNlbGVjdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiPnt7IGl0ZW0uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IGFzeW5jXCJcbiAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICBbY2hlY2tlZF09XCJpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luY1wiXG4gICAgICAgICAgKGNoYW5nZSk9XCJzZXRJdGVtU2VsZWN0aW9uKGl0ZW0sICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmRlc2NyaXB0aW9uXCIgW2F0dHIudGl0bGVdPVwiaXRlbS5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICA8L3NreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW0+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L2xpc3Qtdmlldy1jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbGliL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFLTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUNMLGVBQWUsRUFFZixpQ0FBaUMsRUFDakMsa0NBQWtDLEVBR2xDLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBSUwsT0FBTyxHQUNSLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQUU3RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sNkJBQ1gsU0FBUSxpQkFBaUI7SUFHekI7OztPQUdHO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBMkJEOzs7OztPQUtHO0lBQ0gsSUFDVyxVQUFVLENBQUMsS0FBYTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csZ0JBQWdCLENBQUMsS0FBYztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBVUQsWUFDRSxLQUFnQixFQUNSLFVBQStCLEVBQy9CLGNBQThCLEVBQzlCLG1CQUE2QyxFQUNyRCxNQUFxQjtRQUVyQixLQUFLLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMdkIsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEI7UUExRXZEOzs7OztXQUtHO1FBRUksV0FBTSxHQUNYLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV4Qjs7O1dBR0c7UUFDSCwyREFBMkQ7UUFFcEQsdUJBQWtCLEdBQUcsT0FBTyxDQUFDO1FBRXBDOzs7V0FHRztRQUVJLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBdUMzQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFcEMsZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFFekIsbUJBQWMsR0FBeUIsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFFbEUsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBV2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsK0JBQStCLEVBQUU7WUFDakQsdUJBQXVCLEVBQUUsQ0FBQztZQUMxQixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLHlCQUF5QixFQUFFLHVCQUF1QjtTQUNuRCxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQWUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSzthQUNQLElBQUksQ0FDSCxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFDN0Isb0JBQW9CLEVBQUUsRUFDdEIsYUFBYSxDQUFDLENBQUMsS0FBK0IsRUFBRSxFQUFFO1lBQ2hELE1BQU0sV0FBVyxHQUNmLFVBQVUsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUM7WUFDOUQsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDeEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7b0JBQzdDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO3dCQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDO3dCQUM3QyxDQUFDLENBQUMsU0FBUztvQkFDYixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7d0JBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO3dCQUN0QyxDQUFDLENBQUMsU0FBUztpQkFDZCxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLElBQUksZ0NBQWdDLENBQ2xDLFFBQVEsRUFDUixJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssQ0FBQyxLQUFLLENBQ1osQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7YUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLO2FBQ1AsSUFBSSxDQUNILGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUM5QjthQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQTJDLEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsK0VBQStFO1FBQy9FLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsS0FBSzthQUNQLElBQUksQ0FDSCxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0Isb0JBQW9CLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQ25EO2FBQ0EsU0FBUyxDQUFDLENBQUMsT0FBMEIsRUFBRSxFQUFFO1lBQ3hDLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FDckMsQ0FBQyxNQUF1QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FDN0QsQ0FBQztZQUNGLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLEtBQUssS0FBSyxNQUFNLENBQUM7WUFDL0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUNFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztZQUMzQixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZO2dCQUN0QyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUFDLE1BQXlCO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZTtRQUNwQixJQUFJLENBQUMsS0FBSzthQUNQLElBQUksQ0FDSCxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQzNDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLGtDQUFrQyxDQUNwQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQzVCLEtBQUssRUFDTCxLQUFLLENBQ04sQ0FDRixDQUFDO1lBRUYsMEJBQTBCO1lBQzFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxDQUFDLEtBQUs7YUFDUCxJQUFJLENBQ0gsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsSUFBSSxrQ0FBa0MsQ0FDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUM1QixJQUFJLEVBQ0osS0FBSyxDQUNOLENBQ0YsQ0FBQztZQUVGLDBCQUEwQjtZQUMxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFZSxZQUFZO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFrQixFQUFFLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLENBQUMsSUFBUyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDckQsSUFDRSxLQUFLLEtBQUssU0FBUztvQkFDbkIsS0FBSyxLQUFLLElBQUk7b0JBQ2QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDekQsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BELElBQ0UsV0FBVyxLQUFLLFNBQVM7b0JBQ3pCLFdBQVcsS0FBSyxJQUFJO29CQUNwQixXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMvRCxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQVU7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEIsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3BFLENBQUM7SUFDSixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBbUIsRUFBRSxLQUFVO1FBQ3JELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQW1CO1FBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLGtDQUFrQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxVQUFtQjtRQUMvQyxPQUFPLElBQUksZUFBZSxDQUFDO1lBQ3pCLElBQUksRUFBRSxlQUFlO1lBQ3JCLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzVCLGNBQWMsRUFBRSxDQUFDLEtBQW9CLEVBQUUsZ0JBQXlCLEVBQUUsRUFBRTtnQkFDbEUsMEJBQTBCO2dCQUMxQixJQUFJLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO29CQUNyRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUM7WUFDRCxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQW1CO1FBQ3ZDLElBQUksQ0FBQyxLQUFLO2FBQ1AsSUFBSSxDQUNILGFBQWEsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUN2QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxPQUEwQixFQUFFLEVBQUU7WUFDeEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx1QkFBdUIsQ0FDN0IsSUFBdUIsRUFDdkIsSUFBdUI7UUFFdkIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUN0QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxlQUFlLENBQzVDLENBQUM7UUFDRixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3RDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FDNUMsQ0FBQztRQUVGLElBQUksc0JBQXNCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUNyRCxPQUFPLHNCQUFzQixDQUFDLEtBQUssS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDdkUsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FwV1UsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsK09BWDdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUM3RDtZQUNELGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsbUJBQW1CO1NBQ3BCLHNFQzFESCxrM0RBd0RBOzsyRkRLYSw2QkFBNkI7a0JBZnpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDhCQUE4QixDQUFDO3lCQUM3RDt3QkFDRCxjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtnTkFXcEMsSUFBSTtzQkFEZCxLQUFLO2dCQVlDLE1BQU07c0JBRFosS0FBSztnQkFVQyxrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMsT0FBTztnQkFRUCxXQUFXO3NCQURqQixLQUFLO2dCQVVLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJLLGdCQUFnQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQge1xuICBMaXN0RmlsdGVyTW9kZWwsXG4gIExpc3RTZWxlY3RlZE1vZGVsLFxuICBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24sXG4gIExpc3RTdGF0ZSxcbiAgTGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uLFxuICBMaXN0Vmlld0NvbXBvbmVudCxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlcic7XG5pbXBvcnQge1xuICBBc3luY0l0ZW0sXG4gIEFzeW5jTGlzdCxcbiAgTGlzdEl0ZW1Nb2RlbCxcbiAgZ2V0RGF0YSxcbn0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwIGFzIG9ic2VydmFibGVNYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDaGVja2xpc3RTdGF0ZU1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUubW9kZWwnO1xuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5pbXBvcnQgeyBDaGVja2xpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwgfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2l0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2l0ZW1zL2xvYWQuYWN0aW9uJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgdmlldyBjaGVja2xpc3QgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIHJlcGVhdGVyIGluc3RlYWQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3JlcGVhdGVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdC12aWV3LWNoZWNrbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXctY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC12aWV3LWNoZWNrbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBMaXN0Vmlld0NvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIENoZWNrbGlzdFN0YXRlLFxuICAgIENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlcixcbiAgICBDaGVja2xpc3RTdGF0ZU1vZGVsLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFZpZXdDaGVja2xpc3RDb21wb25lbnRcbiAgZXh0ZW5kcyBMaXN0Vmlld0NvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB2aWV3LlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52aWV3TmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzZWFyY2ggZnVuY3Rpb24gdG8gYXBwbHkgb24gdGhlIHZpZXcgZGF0YS5cbiAgICogVGhlIGRlZmF1bHQgZnVuY3Rpb24gc2VhcmNoZXMgdmlldyBkYXRhIG9uIGxhYmVsLCBkZXNjcmlwdGlvbixcbiAgICogYW5kIGNhdGVnb3J5IGlmIGZpZWxkIHNlbGVjdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhlIGdpdmVuIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0IHNlYXJjaCBmdW5jdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaDogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuID1cbiAgICB0aGlzLnNlYXJjaEZ1bmN0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBsYWJlbCBmaWVsZCBzZWxlY3Rvci5cbiAgICogQGRlZmF1bHQgXCJsYWJlbFwiXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ2xhYmVsJylcbiAgcHVibGljIGxhYmVsRmllbGRTZWxlY3RvciA9ICdsYWJlbCc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZXNjcmlwdGlvbiBmaWVsZCBzZWxlY3Rvci5cbiAgICogQGRlZmF1bHQgXCJkZXNjcmlwdGlvblwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVzY3JpcHRpb24gPSAnZGVzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBpdGVtcyB1c2VycyBjYW4gc2VsZWN0LlxuICAgKiBgXCJzaW5nbGVcImAgYWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBvbmUgaXRlbSBpbiB0aGUgY2hlY2tsaXN0LCB3aGlsZSBgXCJtdWx0aXBsZVwiYFxuICAgKiBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIGl0ZW1zIGluIHRoZSBjaGVja2xpc3QuXG4gICAqIEBkZWZhdWx0IFwibXVsdGlwbGVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZWxlY3RNb2RlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclNob3dNdWx0aXNlbGVjdFRvb2xiYXIodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyKGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0TW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RNb2RlIHx8ICdtdWx0aXBsZSc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHNlbGVjdGVkIGl0ZW1zIG9ubHkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNob3dPbmx5U2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3dPbmx5U2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dPbmx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX3NlbGVjdE1vZGUgPSAnbXVsdGlwbGUnO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSWRNYXA6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ubHlTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0U3RhdGU6IENoZWNrbGlzdFN0YXRlLFxuICAgIHByaXZhdGUgY2hlY2tsaXN0RGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc3RhdGUsICdDaGVja2xpc3QgVmlldycpO1xuXG4gICAgbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUxpc3RWaWV3Q2hlY2tsaXN0Q29tcG9uZW50Jywge1xuICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDYsXG4gICAgICBtb3JlSW5mb1VybDogJ2h0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9yZXBlYXRlcicsXG4gICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOiAnVXNlIHJlcGVhdGVyIGluc3RlYWQuJyxcbiAgICB9KTtcblxuICAgIGxldCBsYXN0VXBkYXRlOiBhbnk7XG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuaXRlbXMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChpdGVtczogQXN5bmNMaXN0PExpc3RJdGVtTW9kZWw+KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YUNoYW5nZWQgPVxuICAgICAgICAgICAgbGFzdFVwZGF0ZSA9PT0gdW5kZWZpbmVkIHx8IGl0ZW1zLmxhc3RVcGRhdGUgIT09IGxhc3RVcGRhdGU7XG4gICAgICAgICAgbGFzdFVwZGF0ZSA9IGl0ZW1zLmxhc3RVcGRhdGU7XG4gICAgICAgICAgY29uc3QgbmV3SXRlbXMgPSBpdGVtcy5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWwoaXRlbS5pZCwge1xuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5sYWJlbEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICAgICAgICA/IGdldERhdGEoaXRlbS5kYXRhLCB0aGlzLmxhYmVsRmllbGRTZWxlY3RvcilcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICA/IGdldERhdGEoaXRlbS5kYXRhLCB0aGlzLmRlc2NyaXB0aW9uKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmNoZWNrbGlzdERpc3BhdGNoZXIubmV4dChcbiAgICAgICAgICAgIG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbihcbiAgICAgICAgICAgICAgbmV3SXRlbXMsXG4gICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgIGRhdGFDaGFuZ2VkLFxuICAgICAgICAgICAgICBpdGVtcy5jb3VudCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LnNlbGVjdGVkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3RlZEl0ZW1zOiBBc3luY0l0ZW08TGlzdFNlbGVjdGVkTW9kZWw+KSA9PiB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSWRNYXAgPSBzZWxlY3RlZEl0ZW1zLml0ZW0uc2VsZWN0ZWRJZE1hcDtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZScpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhcih0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBJZiAnc2hvdy1zZWxlY3RlZCcgZmlsdGVyIGlzIGNoYW5nZWQgZnJvbSBtdWx0aXNlbGVjdCB0b29sYmFyIChsaXN0LWJ1aWxkZXIpXG4gICAgLy8gbWFrZSBzdXJlIHRoZSBwcml2YXRlIHZhcmlhYmxlIF9zaG93T25seVNlbGVjdGVkIHN0YXlzIGluIHN5bmMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHQpID0+IHQuZmlsdGVycyksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCh0aGlzLnNob3dTZWxlY3RlZFZhbHVlc0VxdWFsKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNob3dTZWxlY3RlZEZpbHRlciA9IGZpbHRlcnMuZmluZChcbiAgICAgICAgICAoZmlsdGVyOiBMaXN0RmlsdGVyTW9kZWwpID0+IGZpbHRlci5uYW1lID09PSAnc2hvdy1zZWxlY3RlZCcsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzaG93U2VsZWN0ZWRGaWx0ZXIpIHtcbiAgICAgICAgICB0aGlzLl9zaG93T25seVNlbGVjdGVkID0gc2hvd1NlbGVjdGVkRmlsdGVyLnZhbHVlID09PSAndHJ1ZSc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydzaG93T25seVNlbGVjdGVkJ10gJiZcbiAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5jdXJyZW50VmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXNbJ3Nob3dPbmx5U2VsZWN0ZWQnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIoY2hhbmdlc1snc2hvd09ubHlTZWxlY3RlZCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMy4yLjBcbiAgICogTXVsdGlzZWxlY3QgdG9vbGJhciB3aWxsIGF1dG9tYXRpY2FsbHkgc2hvdyBpZiBzZWxlY3QgbW9kZSBpcyBzZXQgdG8gJ211bHRpcGxlJy5cbiAgICogVGhlc2UgbWV0aG9kcyBhcmUgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhhdCBmdW5jdGlvbmFsaXR5IGlzIHBhcnQgb2YgbGlzdC1idWlsZGVyLlxuICAgKi9cbiAgcHVibGljIGNoYW5nZVZpc2libGVJdGVtcyhjaGFuZ2U6IFNreUNoZWNrYm94Q2hhbmdlKSB7XG4gICAgdGhpcy5zaG93T25seVNlbGVjdGVkID0gY2hhbmdlLmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb25zKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuaXRlbXMuaXRlbXMpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oXG4gICAgICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLnNob3dPbmx5U2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnJlYXBwbHlGaWx0ZXIodGhpcy5zaG93T25seVNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAzLjIuMFxuICAgKiBNdWx0aXNlbGVjdCB0b29sYmFyIHdpbGwgYXV0b21hdGljYWxseSBzaG93IGlmIHNlbGVjdCBtb2RlIGlzIHNldCB0byAnbXVsdGlwbGUnLlxuICAgKiBUaGVzZSBtZXRob2RzIGFyZSBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGF0IGZ1bmN0aW9uYWxpdHkgaXMgcGFydCBvZiBsaXN0LWJ1aWxkZXIuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuaXRlbXMuaXRlbXMpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oXG4gICAgICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpLFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuc2hvd09ubHlTZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMucmVhcHBseUZpbHRlcih0aGlzLnNob3dPbmx5U2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblZpZXdBY3RpdmUoKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGdW5jdGlvbnMoW3RoaXMuc2VhcmNoXSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRTZWxlY3RvcnM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpIHtcbiAgICAgIGZpZWxkU2VsZWN0b3JzLnB1c2godGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICBmaWVsZFNlbGVjdG9ycy5wdXNoKHRoaXMuZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9ycyk7XG5cbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKCdzZWFyY2gnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlbXMoKTogT2JzZXJ2YWJsZTxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tsaXN0U3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5pdGVtcy5pdGVtcyksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBsYWJlbCA9IGdldERhdGEoZGF0YSwgdGhpcy5sYWJlbEZpZWxkU2VsZWN0b3IpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbGFiZWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGxhYmVsICE9PSBudWxsICYmXG4gICAgICAgICAgbGFiZWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBnZXREYXRhKGRhdGEsIHRoaXMuZGVzY3JpcHRpb24pO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIGRlc2NyaXB0aW9uICE9PSBudWxsICYmXG4gICAgICAgICAgZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGl0ZW1TZWxlY3RlZChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGlkKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJdGVtU2VsZWN0aW9uKGl0ZW06IExpc3RJdGVtTW9kZWwsIGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChcbiAgICAgIG5ldyBMaXN0U2VsZWN0ZWRTZXRJdGVtU2VsZWN0ZWRBY3Rpb24oaXRlbS5pZCwgZXZlbnQuY2hlY2tlZCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzaW5nbGVTZWxlY3RSb3dDbGljayhpdGVtOiBMaXN0SXRlbU1vZGVsKSB7XG4gICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICBuZXcgTGlzdFNlbGVjdGVkU2V0SXRlbXNTZWxlY3RlZEFjdGlvbihbaXRlbS5pZF0sIHRydWUsIHRydWUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIG5ldyBMaXN0RmlsdGVyTW9kZWwoe1xuICAgICAgbmFtZTogJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICAgdmFsdWU6IGlzU2VsZWN0ZWQudG9TdHJpbmcoKSxcbiAgICAgIGZpbHRlckZ1bmN0aW9uOiAobW9kZWw6IExpc3RJdGVtTW9kZWwsIHNob3dPbmx5U2VsZWN0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHNob3dPbmx5U2VsZWN0ZWQudG9TdHJpbmcoKSAhPT0gZmFsc2UudG9TdHJpbmcoKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZElkTWFwLmdldChtb2RlbC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYXBwbHlGaWx0ZXIoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuc3RhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzdGF0ZSkgPT4gc3RhdGUuZmlsdGVycyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSkgPT4ge1xuICAgICAgICBmaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgIT09ICdzaG93LXNlbGVjdGVkJyk7XG4gICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLmdldFNob3dTZWxlY3RlZEZpbHRlcihpc1NlbGVjdGVkKSk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5maWx0ZXJzVXBkYXRlKGZpbHRlcnMpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dTZWxlY3RlZFZhbHVlc0VxdWFsKFxuICAgIHByZXY6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgIG5leHQ6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICApIHtcbiAgICBjb25zdCBwcmV2U2hvd1NlbGVjdGVkRmlsdGVyID0gcHJldi5maW5kKFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLm5hbWUgPT09ICdzaG93LXNlbGVjdGVkJyxcbiAgICApO1xuICAgIGNvbnN0IG5leHRTaG93U2VsZWN0ZWRGaWx0ZXIgPSBuZXh0LmZpbmQoXG4gICAgICAoZmlsdGVyKSA9PiBmaWx0ZXIubmFtZSA9PT0gJ3Nob3ctc2VsZWN0ZWQnLFxuICAgICk7XG5cbiAgICBpZiAocHJldlNob3dTZWxlY3RlZEZpbHRlciAmJiBuZXh0U2hvd1NlbGVjdGVkRmlsdGVyKSB7XG4gICAgICByZXR1cm4gcHJldlNob3dTZWxlY3RlZEZpbHRlci52YWx1ZSA9PT0gbmV4dFNob3dTZWxlY3RlZEZpbHRlci52YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1saXN0LXZpZXctY2hlY2tsaXN0XCIgKm5nSWY9XCJhY3RpdmUgfCBhc3luY1wiPlxuICA8ZGl2IFtuZ1N3aXRjaF09XCJzZWxlY3RNb2RlXCI+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoQ2FzZT1cInNpbmdsZVwiPlxuICAgICAgPGRpdiByb2xlPVwicmFkaW9ncm91cFwiPlxuICAgICAgICA8c2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zIHwgYXN5bmNcIlxuICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICByb2xlPVwicmFkaW9cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1saXN0LXZpZXctY2hlY2tsaXN0LXNpbmdsZS1idXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIihpdGVtU2VsZWN0ZWQoaXRlbS5pZCkgfCBhc3luYykgfHwgZmFsc2VcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3Qtcm93LXNlbGVjdGVkJzpcbiAgICAgICAgICAgICAgICAoaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmMpXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzaW5nbGVTZWxlY3RSb3dDbGljayhpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cInNreS1lbXBoYXNpemVkXCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25cIj57eyBpdGVtLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QtaXRlbT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPHNreS1saXN0LXZpZXctY2hlY2tsaXN0LWl0ZW1cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXMgfCBhc3luY1wiXG4gICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgW2NoZWNrZWRdPVwiaXRlbVNlbGVjdGVkKGl0ZW0uaWQpIHwgYXN5bmNcIlxuICAgICAgICAgIChjaGFuZ2UpPVwic2V0SXRlbVNlbGVjdGlvbihpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWVtcGhhc2l6ZWRcIlxuICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiIFthdHRyLnRpdGxlXT1cIml0ZW0uZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgPC9za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -9,12 +9,12 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.
|
|
10
10
|
*/
|
|
11
11
|
export class SkyListViewChecklistModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
14
14
|
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] }); }
|
|
15
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, imports: [CommonModule, FormsModule, SkyCheckboxModule] }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
18
18
|
type: NgModule,
|
|
19
19
|
args: [{
|
|
20
20
|
declarations: [
|
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated
|
|
6
6
|
*/
|
|
7
7
|
export class ChecklistStateDispatcher extends StateDispatcher {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
12
12
|
type: Injectable
|
|
13
13
|
}] });
|
|
14
14
|
export class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
@@ -12,10 +12,10 @@ export class ChecklistState extends StateNode {
|
|
|
12
12
|
super(initialState, dispatcher);
|
|
13
13
|
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState, deps: [{ token: i1.ChecklistStateModel }, { token: i2.ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState, decorators: [{
|
|
19
19
|
type: Injectable
|
|
20
|
-
}], ctorParameters:
|
|
20
|
+
}], ctorParameters: () => [{ type: i1.ChecklistStateModel }, { type: i2.ChecklistStateDispatcher }] });
|
|
21
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LXN0YXRlLnN0YXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyLXZpZXctY2hlY2tsaXN0L3NyYy9saWIvbW9kdWxlcy9saXN0LXZpZXctY2hlY2tsaXN0L3N0YXRlL2NoZWNrbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXZELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRWhGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUE4QjtJQUNoRSxZQUNFLFlBQWlDLEVBQ2pDLFVBQW9DO1FBRXBDLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsa0NBQWtDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyRSxDQUFDOzhHQVJVLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlTm9kZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVNb2RlbCB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IENoZWNrbGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vY2hlY2tsaXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFZpZXdDaGVja2xpc3RJdGVtc09yY2hlc3RyYXRvciB9IGZyb20gJy4vaXRlbXMvaXRlbXMub3JjaGVzdHJhdG9yJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hlY2tsaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8Q2hlY2tsaXN0U3RhdGVNb2RlbD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbml0aWFsU3RhdGU6IENoZWNrbGlzdFN0YXRlTW9kZWwsXG4gICAgZGlzcGF0Y2hlcjogQ2hlY2tsaXN0U3RhdGVEaXNwYXRjaGVyLFxuICApIHtcbiAgICBzdXBlcihpbml0aWFsU3RhdGUsIGRpc3BhdGNoZXIpO1xuXG4gICAgdGhpcy5yZWdpc3RlcignaXRlbXMnLCBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zT3JjaGVzdHJhdG9yKS5iZWdpbigpO1xuICB9XG59XG4iXX0=
|
|
@@ -10,4 +10,4 @@ export class ListViewChecklistItemModel {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXItdmlldy1jaGVja2xpc3Qvc3JjL2xpYi9tb2R1bGVzL2xpc3Qtdmlldy1jaGVja2xpc3Qvc3RhdGUvaXRlbXMvaXRlbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFBWSxFQUFVLEVBQUUsSUFBVTtRQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUViLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbCB7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgZGF0YT86IGFueSkge1xuICAgIHRoaXMuaWQgPSBpZDtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmxhYmVsID0gZGF0YS5sYWJlbDtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkYXRhLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -19,4 +19,4 @@ export class ListViewChecklistItemsOrchestrator extends ChecklistStateOrchestrat
|
|
|
19
19
|
return new AsyncList([...state.items, ...newListItems], action.dataChanged ? Date.now() : state.lastUpdate, false, action.itemCount);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMub3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC9zcmMvbGliL21vZHVsZXMvbGlzdC12aWV3LWNoZWNrbGlzdC9zdGF0ZS9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsMEJBRXZEO0lBQ0MsMEJBQTBCO0lBQzFCO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sSUFBSSxDQUNWLEtBQTRDLEVBQzVDLE1BQXdDO1FBRXhDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNuQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUN4RCxDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxFQUNqQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQ2xELEtBQUssRUFDTCxLQUFLLENBQUMsS0FBSyxDQUNaLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsRUFDakMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUNsRCxLQUFLLEVBQ0wsTUFBTSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTGlzdCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgQ2hlY2tsaXN0U3RhdGVPcmNoZXN0cmF0b3IgfSBmcm9tICcuLi9jaGVja2xpc3Qtc3RhdGUucnhzdGF0ZSc7XG5cbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi9pdGVtLm1vZGVsJztcbmltcG9ydCB7IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9sb2FkLmFjdGlvbic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNPcmNoZXN0cmF0b3IgZXh0ZW5kcyBDaGVja2xpc3RTdGF0ZU9yY2hlc3RyYXRvcjxcbiAgQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPlxuPiB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcihMaXN0Vmlld0NoZWNrbGlzdEl0ZW1zTG9hZEFjdGlvbiwgdGhpcy5sb2FkKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZChcbiAgICBzdGF0ZTogQXN5bmNMaXN0PExpc3RWaWV3Q2hlY2tsaXN0SXRlbU1vZGVsPixcbiAgICBhY3Rpb246IExpc3RWaWV3Q2hlY2tsaXN0SXRlbXNMb2FkQWN0aW9uLFxuICApOiBBc3luY0xpc3Q8TGlzdFZpZXdDaGVja2xpc3RJdGVtTW9kZWw+IHtcbiAgICBjb25zdCBuZXdMaXN0SXRlbXMgPSBhY3Rpb24uaXRlbXMubWFwKFxuICAgICAgKGl0ZW0pID0+IG5ldyBMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbChpdGVtLmlkLCBpdGVtKSxcbiAgICApO1xuXG4gICAgaWYgKGFjdGlvbi5yZWZyZXNoKSB7XG4gICAgICByZXR1cm4gbmV3IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4oXG4gICAgICAgIFsuLi5uZXdMaXN0SXRlbXNdLFxuICAgICAgICBhY3Rpb24uZGF0YUNoYW5nZWQgPyBEYXRlLm5vdygpIDogc3RhdGUubGFzdFVwZGF0ZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHN0YXRlLmNvdW50LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEFzeW5jTGlzdDxMaXN0Vmlld0NoZWNrbGlzdEl0ZW1Nb2RlbD4oXG4gICAgICBbLi4uc3RhdGUuaXRlbXMsIC4uLm5ld0xpc3RJdGVtc10sXG4gICAgICBhY3Rpb24uZGF0YUNoYW5nZWQgPyBEYXRlLm5vdygpIDogc3RhdGUubGFzdFVwZGF0ZSxcbiAgICAgIGZhbHNlLFxuICAgICAgYWN0aW9uLml0ZW1Db3VudCxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -81,4 +81,4 @@ export class SkyListViewChecklistFixture {
|
|
|
81
81
|
return el.getAttribute('aria-checked') === 'true';
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LWNoZWNrbGlzdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci12aWV3LWNoZWNrbGlzdC90ZXN0aW5nL3NyYy9saXN0LXZpZXctY2hlY2tsaXN0LWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZELE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0seUJBQXlCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FDdEMsd0NBQXdDLENBQ3pDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBR3RDLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN0RCxPQUFPLEVBQ1AsU0FBUyxFQUNULHlCQUF5QixDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQzFCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLE9BQU87WUFDTCxLQUFLLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUM5QixlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUNwRDtZQUNELFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQ3BDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQzFEO1lBQ0QsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBYTtRQUMvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3QixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWE7UUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25DLEVBQUUsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FDdkMsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFMUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsT0FBTyxhQUFhLENBQUM7UUFDdkIsQ0FBQztRQUVELDRDQUE0QztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sU0FBUyxDQUFDLFFBQXNCO1FBQ3RDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFFbEMsSUFBSSxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUNwQixDQUFDO1FBRUQsNENBQTRDO1FBQzVDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB9IGZyb20gJy4vbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtJztcblxuY29uc3QgTVVMVElfU0VMRUNUX0VMX1NFTEVDVE9SID0gQnkuY3NzKCcuc2t5LWNoZWNrYm94LXdyYXBwZXIgPiBpbnB1dCcpO1xuY29uc3QgU0lOR0xFX1NFTEVDVF9FTF9TRUxFQ1RPUiA9IEJ5LmNzcyhcbiAgJy5za3ktbGlzdC12aWV3LWNoZWNrbGlzdC1zaW5nbGUtYnV0dG9uJyxcbik7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggbGlzdCB2aWV3IGNoZWNrbGlzdCBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxpc3RWaWV3Q2hlY2tsaXN0Rml4dHVyZSB7XG4gIHByaXZhdGUgZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWxpc3Qtdmlldy1jaGVja2xpc3QnLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGdldEl0ZW0oaW5kZXg6IG51bWJlcik6IFNreUxpc3RWaWV3Q2hlY2tsaXN0SXRlbSB7XG4gICAgY29uc3Qgc2VsZWN0V3JhcHBlckVsID0gdGhpcy5nZXRTZWxlY3RXcmFwcGVyRWwoaW5kZXgpO1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICAgIHNlbGVjdFdyYXBwZXJFbC5xdWVyeShCeS5jc3MoJ2Rpdi5za3ktZW1waGFzaXplZCcpKSxcbiAgICAgICksXG4gICAgICBkZXNjcmlwdGlvbjogU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChcbiAgICAgICAgc2VsZWN0V3JhcHBlckVsLnF1ZXJ5KEJ5LmNzcygnZGl2Om5vdCguc2t5LWVtcGhhc2l6ZWQpJykpLFxuICAgICAgKSxcbiAgICAgIHNlbGVjdGVkOiB0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBpdGVtIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaXRlbSdzIGluZGV4LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdEVsID0gdGhpcy5nZXRTZWxlY3RFbChpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuaXNDaGVja2VkKHNlbGVjdEVsKSkge1xuICAgICAgc2VsZWN0RWwubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpdGVtJ3MgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RFbCA9IHRoaXMuZ2V0U2VsZWN0RWwoaW5kZXgpO1xuXG4gICAgaWYgKHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSXRlbXMgY2Fubm90IGJlIGRlc2VsZWN0ZWQgaW4gc2luZ2xlIHNlbGVjdCBtb2RlLmApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzQ2hlY2tlZChzZWxlY3RFbCkpIHtcbiAgICAgIHNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1FbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5kZWJ1Z0VsLnF1ZXJ5QWxsKFxuICAgICAgQnkuY3NzKCdza3ktbGlzdC12aWV3LWNoZWNrbGlzdC1pdGVtJyksXG4gICAgKTtcblxuICAgIGNvbnN0IGl0ZW1FbCA9IGl0ZW1FbHNbaW5kZXhdO1xuXG4gICAgaWYgKCFpdGVtRWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaXRlbSBleGlzdHMgYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1FbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0RWwoaW5kZXg6IG51bWJlcik6IERlYnVnRWxlbWVudCB7XG4gICAgY29uc3QgaXRlbUVsID0gdGhpcy5nZXRJdGVtRWwoaW5kZXgpO1xuXG4gICAgY29uc3QgY2hlY2tib3hFbCA9IGl0ZW1FbC5xdWVyeShNVUxUSV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuXG4gICAgaWYgKGNoZWNrYm94RWwpIHtcbiAgICAgIHJldHVybiBjaGVja2JveEVsO1xuICAgIH1cblxuICAgIC8vIEFzc3VtZSB0aGUgbGlzdCBpcyBpbiBzaW5nbGUtc2VsZWN0IG1vZGUuXG4gICAgcmV0dXJuIGl0ZW1FbC5xdWVyeShTSU5HTEVfU0VMRUNUX0VMX1NFTEVDVE9SKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0V3JhcHBlckVsKGluZGV4OiBudW1iZXIpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIGNvbnN0IGl0ZW1FbCA9IHRoaXMuZ2V0SXRlbUVsKGluZGV4KTtcblxuICAgIGNvbnN0IGl0ZW1XcmFwcGVyRWwgPSBpdGVtRWwucXVlcnkoQnkuY3NzKCdza3ktY2hlY2tib3gtbGFiZWwnKSk7XG5cbiAgICBpZiAoaXRlbVdyYXBwZXJFbCkge1xuICAgICAgcmV0dXJuIGl0ZW1XcmFwcGVyRWw7XG4gICAgfVxuXG4gICAgLy8gQXNzdW1lIHRoZSBsaXN0IGlzIGluIHNpbmdsZS1zZWxlY3QgbW9kZS5cbiAgICByZXR1cm4gaXRlbUVsLnF1ZXJ5KFNJTkdMRV9TRUxFQ1RfRUxfU0VMRUNUT1IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NoZWNrZWQoc2VsZWN0RWw6IERlYnVnRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsID0gc2VsZWN0RWwubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChlbC50YWdOYW1lID09PSAnSU5QVVQnKSB7XG4gICAgICByZXR1cm4gZWwuY2hlY2tlZDtcbiAgICB9XG5cbiAgICAvLyBBc3N1bWUgdGhlIGxpc3QgaXMgaW4gc2luZ2xlLXNlbGVjdCBtb2RlLlxuICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpID09PSAndHJ1ZSc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder-view-checklist-testing.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../../../libs/components/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListViewChecklistItem } from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css(\n '.sky-list-view-checklist-single-button',\n);\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n * @internal\n */\nexport class SkyListViewChecklistFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-list-view-checklist',\n );\n }\n\n /**\n * Gets an item at the specified index.\n * @param index The item's index.\n */\n public getItem(index: number): SkyListViewChecklistItem {\n const selectWrapperEl = this.getSelectWrapperEl(index);\n const selectEl = this.getSelectEl(index);\n\n return {\n label: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div.sky-emphasized')),\n ),\n description: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div:not(.sky-emphasized)')),\n ),\n selected: this.isChecked(selectEl),\n };\n }\n\n /**\n * Selects the item at the specified index.\n * @param index The item's index.\n */\n public selectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (!this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n /**\n * Deselects the item at the specified index.\n * @param index The item's index.\n */\n public deselectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (selectEl.nativeElement.tagName === 'BUTTON') {\n throw new Error(`Items cannot be deselected in single select mode.`);\n }\n\n if (this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n private getItemEl(index: number): DebugElement {\n const itemEls = this.debugEl.queryAll(\n By.css('sky-list-view-checklist-item'),\n );\n\n const itemEl = itemEls[index];\n\n if (!itemEl) {\n throw new Error(`No item exists at index ${index}.`);\n }\n\n return itemEl;\n }\n\n private getSelectEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);\n\n if (checkboxEl) {\n return checkboxEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private getSelectWrapperEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));\n\n if (itemWrapperEl) {\n return itemWrapperEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private isChecked(selectEl: DebugElement): boolean {\n const el = selectEl.nativeElement;\n\n if (el.tagName === 'INPUT') {\n return el.checked;\n }\n\n // Assume the list is in single-select mode.\n return el.getAttribute('aria-checked') === 'true';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAOA,MAAM,wBAAwB,GAAG,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AACzE,MAAM,yBAAyB,GAAG,EAAE,CAAC,GAAG,CACtC,wCAAwC,CACzC,CAAC;AAEF;;;AAGG;MACU,2BAA2B,CAAA;IAGtC,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,yBAAyB,CAC1B,CAAC;KACH;AAED;;;AAGG;AACI,IAAA,OAAO,CAAC,KAAa,EAAA;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO;AACL,YAAA,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAC9B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACpD;AACD,YAAA,WAAW,EAAE,iBAAiB,CAAC,OAAO,CACpC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAC1D;AACD,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACnC,CAAC;KACH;AAED;;;AAGG;AACI,IAAA,UAAU,CAAC,KAAa,EAAA;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"skyux-list-builder-view-checklist-testing.mjs","sources":["../../../../../libs/components/list-builder-view-checklist/testing/src/list-view-checklist-fixture.ts","../../../../../libs/components/list-builder-view-checklist/testing/src/skyux-list-builder-view-checklist-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyListViewChecklistItem } from './list-view-checklist-item';\n\nconst MULTI_SELECT_EL_SELECTOR = By.css('.sky-checkbox-wrapper > input');\nconst SINGLE_SELECT_EL_SELECTOR = By.css(\n '.sky-list-view-checklist-single-button',\n);\n\n/**\n * Allows interaction with a SKY UX list view checklist component.\n * @internal\n */\nexport class SkyListViewChecklistFixture {\n private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-list-view-checklist',\n );\n }\n\n /**\n * Gets an item at the specified index.\n * @param index The item's index.\n */\n public getItem(index: number): SkyListViewChecklistItem {\n const selectWrapperEl = this.getSelectWrapperEl(index);\n const selectEl = this.getSelectEl(index);\n\n return {\n label: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div.sky-emphasized')),\n ),\n description: SkyAppTestUtility.getText(\n selectWrapperEl.query(By.css('div:not(.sky-emphasized)')),\n ),\n selected: this.isChecked(selectEl),\n };\n }\n\n /**\n * Selects the item at the specified index.\n * @param index The item's index.\n */\n public selectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (!this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n /**\n * Deselects the item at the specified index.\n * @param index The item's index.\n */\n public deselectItem(index: number) {\n const selectEl = this.getSelectEl(index);\n\n if (selectEl.nativeElement.tagName === 'BUTTON') {\n throw new Error(`Items cannot be deselected in single select mode.`);\n }\n\n if (this.isChecked(selectEl)) {\n selectEl.nativeElement.click();\n }\n }\n\n private getItemEl(index: number): DebugElement {\n const itemEls = this.debugEl.queryAll(\n By.css('sky-list-view-checklist-item'),\n );\n\n const itemEl = itemEls[index];\n\n if (!itemEl) {\n throw new Error(`No item exists at index ${index}.`);\n }\n\n return itemEl;\n }\n\n private getSelectEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const checkboxEl = itemEl.query(MULTI_SELECT_EL_SELECTOR);\n\n if (checkboxEl) {\n return checkboxEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private getSelectWrapperEl(index: number): DebugElement {\n const itemEl = this.getItemEl(index);\n\n const itemWrapperEl = itemEl.query(By.css('sky-checkbox-label'));\n\n if (itemWrapperEl) {\n return itemWrapperEl;\n }\n\n // Assume the list is in single-select mode.\n return itemEl.query(SINGLE_SELECT_EL_SELECTOR);\n }\n\n private isChecked(selectEl: DebugElement): boolean {\n const el = selectEl.nativeElement;\n\n if (el.tagName === 'INPUT') {\n return el.checked;\n }\n\n // Assume the list is in single-select mode.\n return el.getAttribute('aria-checked') === 'true';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ import * as i4 from '@skyux/core';
|
|
|
16
16
|
* @deprecated
|
|
17
17
|
*/
|
|
18
18
|
class SkyListViewChecklistItemComponent {
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content />\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistItemComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'sky-list-view-checklist-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist-item\">\n <ng-content />\n</div>\n", styles: [".sky-list-view-checklist-item{display:block;width:100%;cursor:pointer;word-wrap:break-word}.sky-list-view-checklist-item:last-child{border-bottom-width:0}.sky-list-view-checklist-item ::ng-deep sky-checkbox{display:block;position:relative;width:100%;padding:10px;cursor:pointer;border-bottom:1px dotted #cdcfd2}.sky-list-view-checklist-item ::ng-deep sky-checkbox-label div{overflow:hidden;text-overflow:ellipsis}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button{background-color:transparent;border:none;border-bottom:1px dotted #cdcfd2;display:block;text-align:left;margin-bottom:0;padding:10px;width:100%;cursor:pointer}.sky-list-view-checklist-item ::ng-deep .sky-list-view-checklist-single-button.sky-list-view-checklist-row-selected{background-color:#f1eef6}\n"] }]
|
|
25
25
|
}], propDecorators: { item: [{
|
|
@@ -39,10 +39,10 @@ class ChecklistStateModel {
|
|
|
39
39
|
* @deprecated
|
|
40
40
|
*/
|
|
41
41
|
class ChecklistStateDispatcher extends StateDispatcher {
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistStateDispatcher, decorators: [{
|
|
46
46
|
type: Injectable
|
|
47
47
|
}] });
|
|
48
48
|
class ChecklistStateOrchestrator extends StateOrchestrator {
|
|
@@ -99,12 +99,12 @@ class ChecklistState extends StateNode {
|
|
|
99
99
|
super(initialState, dispatcher);
|
|
100
100
|
this.register('items', ListViewChecklistItemsOrchestrator).begin();
|
|
101
101
|
}
|
|
102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
103
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState, deps: [{ token: ChecklistStateModel }, { token: ChecklistStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
103
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState }); }
|
|
104
104
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ChecklistState, decorators: [{
|
|
106
106
|
type: Injectable
|
|
107
|
-
}], ctorParameters:
|
|
107
|
+
}], ctorParameters: () => [{ type: ChecklistStateModel }, { type: ChecklistStateDispatcher }] });
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.
|
|
@@ -347,8 +347,8 @@ class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
347
347
|
}
|
|
348
348
|
return true;
|
|
349
349
|
}
|
|
350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
351
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
350
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistComponent, deps: [{ token: i1.ListState }, { token: i1.ListStateDispatcher }, { token: ChecklistState }, { token: ChecklistStateDispatcher }, { token: i4.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
351
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: SkyListViewChecklistComponent, selector: "sky-list-view-checklist", inputs: { name: "name", search: "search", labelFieldSelector: ["label", "labelFieldSelector"], description: "description", selectMode: "selectMode", showOnlySelected: "showOnlySelected" }, providers: [
|
|
352
352
|
{
|
|
353
353
|
provide: ListViewComponent,
|
|
354
354
|
useExisting: forwardRef(() => SkyListViewChecklistComponent),
|
|
@@ -358,7 +358,7 @@ class SkyListViewChecklistComponent extends ListViewComponent {
|
|
|
358
358
|
ChecklistStateModel,
|
|
359
359
|
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i6.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: SkyListViewChecklistItemComponent, selector: "sky-list-view-checklist-item", inputs: ["item"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
360
360
|
}
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistComponent, decorators: [{
|
|
362
362
|
type: Component,
|
|
363
363
|
args: [{ selector: 'sky-list-view-checklist', providers: [
|
|
364
364
|
{
|
|
@@ -369,7 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
369
369
|
ChecklistStateDispatcher,
|
|
370
370
|
ChecklistStateModel,
|
|
371
371
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-view-checklist\" *ngIf=\"active | async\">\n <div [ngSwitch]=\"selectMode\">\n <ng-template ngSwitchCase=\"single\">\n <div role=\"radiogroup\">\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <button\n role=\"radio\"\n type=\"button\"\n class=\"sky-list-view-checklist-single-button\"\n [attr.aria-checked]=\"(itemSelected(item.id) | async) || false\"\n [ngClass]=\"{\n 'sky-list-view-checklist-row-selected':\n (itemSelected(item.id) | async)\n }\"\n (click)=\"singleSelectRowClick(item)\"\n >\n <div *ngIf=\"item.label\" class=\"sky-emphasized\">\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\">{{ item.description }}</div>\n </button>\n </sky-list-view-checklist-item>\n </div>\n </ng-template>\n\n <ng-template ngSwitchDefault>\n <sky-list-view-checklist-item\n *ngFor=\"let item of items | async\"\n [attr.sky-cmp-id]=\"item.id\"\n [item]=\"item\"\n >\n <sky-checkbox\n [checked]=\"itemSelected(item.id) | async\"\n (change)=\"setItemSelection(item, $event)\"\n >\n <sky-checkbox-label>\n <div\n *ngIf=\"item.label\"\n class=\"sky-emphasized\"\n [attr.title]=\"item.label\"\n >\n {{ item.label }}\n </div>\n <div *ngIf=\"item.description\" [attr.title]=\"item.description\">\n {{ item.description }}\n </div>\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-list-view-checklist-item>\n </ng-template>\n </div>\n</div>\n", styles: [".sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper{display:flex;align-items:flex-start}.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>.sky-checkbox,.sky-list-view-checklist ::ng-deep .sky-checkbox-wrapper>input{flex:1;max-width:22px}.sky-list-view-checklist ::ng-deep .sky-switch{white-space:nowrap}.sky-list-view-checklist ::ng-deep .sky-switch-label{margin:0}.sky-list-view-checklist ::ng-deep sky-checkbox-label{min-width:0}.sky-list-view-checklist ::ng-deep .sky-switch-control{margin:0 5px 0 0}\n"] }]
|
|
372
|
-
}], ctorParameters:
|
|
372
|
+
}], ctorParameters: () => [{ type: i1.ListState }, { type: i1.ListStateDispatcher }, { type: ChecklistState }, { type: ChecklistStateDispatcher }, { type: i4.SkyLogService }], propDecorators: { name: [{
|
|
373
373
|
type: Input
|
|
374
374
|
}], search: [{
|
|
375
375
|
type: Input
|
|
@@ -388,12 +388,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
388
388
|
* @deprecated List builder view checklist and its features are deprecated. Use repeater instead. For more information, see https://developer.blackbaud.com/skyux/components/repeater.
|
|
389
389
|
*/
|
|
390
390
|
class SkyListViewChecklistModule {
|
|
391
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
392
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
391
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
392
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, declarations: [SkyListViewChecklistComponent,
|
|
393
393
|
SkyListViewChecklistItemComponent], imports: [CommonModule, FormsModule, SkyCheckboxModule], exports: [SkyListViewChecklistComponent, SkyListViewChecklistItemComponent] }); }
|
|
394
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
394
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, imports: [CommonModule, FormsModule, SkyCheckboxModule] }); }
|
|
395
395
|
}
|
|
396
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SkyListViewChecklistModule, decorators: [{
|
|
397
397
|
type: NgModule,
|
|
398
398
|
args: [{
|
|
399
399
|
declarations: [
|