@skyux/lookup 9.0.0-alpha.8 → 9.0.0-alpha.9
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 +1537 -1515
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +5 -2
- package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +2 -5
- package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +47 -23
- package/esm2022/lib/modules/lookup/lookup.component.mjs +4 -9
- package/esm2022/lib/modules/lookup/lookup.module.mjs +6 -45
- package/esm2022/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +3 -2
- package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +50 -24
- package/esm2022/lib/modules/selection-modal/selection-modal.module.mjs +7 -54
- package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +3 -3
- package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +4 -2
- package/fesm2022/skyux-lookup.mjs +439 -475
- package/fesm2022/skyux-lookup.mjs.map +1 -1
- package/lib/modules/autocomplete/autocomplete.module.d.ts +1 -1
- package/lib/modules/lookup/lookup-show-more-modal.component.d.ts +5 -6
- package/lib/modules/lookup/lookup.module.d.ts +6 -15
- package/lib/modules/selection-modal/selection-modal-item-selected.pipe.d.ts +1 -1
- package/lib/modules/selection-modal/selection-modal.component.d.ts +5 -6
- package/lib/modules/selection-modal/selection-modal.module.d.ts +4 -13
- package/package.json +10 -10
|
@@ -1,31 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
|
3
|
+
import { SkyIdService, SkyViewkeeperModule } from '@skyux/core';
|
|
4
|
+
import { SkyCheckboxModule } from '@skyux/forms';
|
|
5
|
+
import { SkyIconModule, SkyWaitModule } from '@skyux/indicators';
|
|
6
|
+
import { SkyToolbarModule } from '@skyux/layout';
|
|
7
|
+
import { SkyInfiniteScrollModule, SkyRepeaterModule } from '@skyux/lists';
|
|
8
|
+
import { SkyModalInstance, SkyModalModule } from '@skyux/modals';
|
|
9
|
+
import { SkyThemeModule } from '@skyux/theme';
|
|
2
10
|
import { Subject } from 'rxjs';
|
|
3
11
|
import { take } from 'rxjs/operators';
|
|
12
|
+
import { SkySearchModule } from '../search/search.module';
|
|
13
|
+
import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
|
|
14
|
+
import { SkySelectionModalItemSelectedPipe } from './selection-modal-item-selected.pipe';
|
|
15
|
+
import { SkySelectionModalContext } from './types/selection-modal-context';
|
|
4
16
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "@skyux/
|
|
8
|
-
import * as i4 from "@
|
|
9
|
-
import * as i5 from "@skyux/
|
|
10
|
-
import * as i6 from "@skyux/
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "@skyux/
|
|
14
|
-
import * as i10 from "@skyux/
|
|
15
|
-
import * as i11 from "@skyux/i18n";
|
|
16
|
-
import * as i12 from "./selection-modal-item-selected.pipe";
|
|
17
|
+
import * as i1 from "@angular/common";
|
|
18
|
+
import * as i2 from "@skyux/forms";
|
|
19
|
+
import * as i3 from "@skyux/indicators";
|
|
20
|
+
import * as i4 from "@skyux/lists";
|
|
21
|
+
import * as i5 from "@skyux/i18n";
|
|
22
|
+
import * as i6 from "@skyux/modals";
|
|
23
|
+
import * as i7 from "../search/search.component";
|
|
24
|
+
import * as i8 from "@skyux/theme";
|
|
25
|
+
import * as i9 from "@skyux/layout";
|
|
26
|
+
import * as i10 from "@skyux/core";
|
|
17
27
|
/**
|
|
18
28
|
* @internal
|
|
19
29
|
*/
|
|
20
30
|
export class SkySelectionModalComponent {
|
|
21
|
-
#changeDetector;
|
|
22
31
|
#continuationData;
|
|
23
32
|
#currentSearchSub;
|
|
24
33
|
#ngUnsubscribe;
|
|
25
34
|
#offset;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
#changeDetector;
|
|
36
|
+
#idSvc;
|
|
37
|
+
constructor() {
|
|
29
38
|
/**
|
|
30
39
|
* @internal
|
|
31
40
|
* Fires when users select the button to add new options to the list.
|
|
@@ -43,8 +52,11 @@ export class SkySelectionModalComponent {
|
|
|
43
52
|
this.selectedIdMap = new Map();
|
|
44
53
|
this.#ngUnsubscribe = new Subject();
|
|
45
54
|
this.#offset = 0;
|
|
46
|
-
this
|
|
47
|
-
this.
|
|
55
|
+
this.context = inject(SkySelectionModalContext);
|
|
56
|
+
this.modalInstance = inject(SkyModalInstance);
|
|
57
|
+
this.#changeDetector = inject(ChangeDetectorRef);
|
|
58
|
+
this.#idSvc = inject(SkyIdService);
|
|
59
|
+
this.id = this.#idSvc.generateId();
|
|
48
60
|
}
|
|
49
61
|
ngOnInit() {
|
|
50
62
|
this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
|
|
@@ -191,11 +203,25 @@ export class SkySelectionModalComponent {
|
|
|
191
203
|
this.isSearching = false;
|
|
192
204
|
}
|
|
193
205
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, deps: [
|
|
195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySelectionModalComponent, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "directive", type:
|
|
206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkySelectionModalComponent, isStandalone: true, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyInfiniteScrollModule }, { kind: "component", type: i4.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "ngmodule", type: SkyLookupResourcesModule }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyModalModule }, { kind: "component", type: i6.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i6.λ2, selector: "sky-modal-content" }, { kind: "component", type: i6.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i6.λ4, selector: "sky-modal-header" }, { kind: "ngmodule", type: SkyRepeaterModule }, { kind: "component", type: i4.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i4.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i4.λ8, selector: "sky-repeater-item-content" }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i7.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "pipe", type: SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i8.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i9.λ37, selector: "sky-toolbar" }, { kind: "component", type: i9.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i9.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i9.λ40, selector: "sky-toolbar-view-actions" }, { kind: "ngmodule", type: SkyWaitModule }, { kind: "component", type: i3.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i10.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
196
208
|
}
|
|
197
209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
|
|
198
210
|
type: Component,
|
|
199
|
-
args: [{ selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush,
|
|
200
|
-
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsR0FJVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBS3RDOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjtJQWdDckMsZUFBZSxDQUFvQjtJQUVuQyxpQkFBaUIsQ0FBVTtJQUUzQixpQkFBaUIsQ0FBMkI7SUFFNUMsY0FBYyxDQUF1QjtJQUVyQyxPQUFPLENBQUs7SUFFWixZQUNTLGFBQStCLEVBQy9CLE9BQWlDLEVBQ3hDLGNBQWlDLEVBQ2pDLEtBQW1CO1FBSFosa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBM0MxQzs7O1dBR0c7UUFDSSxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFL0MsOERBQThEO1FBQ3ZELG1CQUFjLEdBQVUsRUFBRSxDQUFDO1FBRTNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBT3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTNCLDhEQUE4RDtRQUN2RCxVQUFLLEdB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RSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUMxQjtJQUNILENBQUM7OEdBaFBVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDJEQzFCdkMsaTBLQTJKQTs7MkZEaklhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHQgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlbGVjdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbk1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBidXR0b24gdG8gYWRkIG5ldyBvcHRpb25zIHRvIHRoZSBsaXN0LlxuICAgKi9cbiAgcHVibGljIGFkZENsaWNrOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgZGlzcGxheWVkSXRlbXM6IGFueVtdID0gW107XG5cbiAgcHVibGljIGhhc01vcmVJdGVtcyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGFzc29jaWF0ZSB0aGlzIG1vZGFsIHdpdGggaXRzIG93bmluZyBsb29rdXAgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGlzTG9hZGluZ01vcmUgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNTZWFyY2hpbmcgPSBmYWxzZTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgaXRlbXM6IGFueVtdID0gW107XG5cbiAgcHVibGljIG9ubHlTaG93U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVwZWF0ZXJJdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc2VsZWN0ZWRJZE1hcDogTWFwPHVua25vd24sIHVua25vd24+ID0gbmV3IE1hcCgpO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2NvbnRpbnVhdGlvbkRhdGE6IHVua25vd247XG5cbiAgI2N1cnJlbnRTZWFyY2hTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI29mZnNldCA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgcHVibGljIGNvbnRleHQ6IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dCxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgaWRTdmM6IFNreUlkU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuXG4gICAgdGhpcy5pZCA9IGlkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGVhdGVySXRlbVRlbXBsYXRlID0gdGhpcy5jb250ZXh0LnVzZXJDb25maWcuaXRlbVRlbXBsYXRlIHx8IG51bGw7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGhpcy5jb250ZXh0LmluaXRpYWxTZWFyY2g7XG5cbiAgICB0aGlzLiNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDbGljay5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcCh0aGlzLnNlbGVjdGVkSWRNYXApO1xuXG4gICAgLy8gT25seSBkZXNlbGVjdCBpdGVtcyB0aGF0IGhhdmUgYmVlbiBsb2FkZWQ7IGl0ZW1zIHRoYXQgd291bGQgYmUgbG9hZGVkXG4gICAgLy8gYWZ0ZXIgYW4gaW5maW5pdGUgc2Nyb2xsIGV2ZW50IHNob3VsZCByZW1haW4gc2VsZWN0ZWQuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGl0ZW1DbGljayhzZWxlY3RlZEl0ZW06IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMub25JdGVtU2VsZWN0KCFzZWxlY3RlZEl0ZW0uc2VsZWN0ZWQsIHNlbGVjdGVkSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGFkZEl0ZW0oaXRlbVRvQWRkOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBBZGQgdGhlIHNlbGVjdGVkIGl0ZW0sIHRoZW4gcGVyZm9ybSB0aGUgc2VhcmNoIGFnYWluIGluIGNhc2UgdGhlXG4gICAgLy8gbmV3bHktYWRkZWQgaXRlbSBzaG91bGQgYmUgZGlzcGxheWVkIGFzIGEgc2VhcmNoIHJlc3VsdHMuXG4gICAgdGhpcy4jb2Zmc2V0ID0gMDtcbiAgICB0aGlzLm9uSXRlbVNlbGVjdCh0cnVlLCBpdGVtVG9BZGQpO1xuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgb25JdGVtU2VsZWN0KG5ld1NlbGVjdFN0YXRlOiBib29sZWFuLCBpdGVtVG9TZWxlY3Q6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1JZCA9IGl0ZW1Ub1NlbGVjdFt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV07XG5cbiAgICAvLyBDcmVhdGUgYSBuZXcgTWFwIHNvIHRoZSBwaXBlIHRyYW5zZm9ybSB3aWxsIGV4ZWN1dGUgb24gdGhlIG5leHRcbiAgICAvLyBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAodGhpcy5zZWxlY3RlZElkTWFwKTtcblxuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtSWQsIGl0ZW1Ub1NlbGVjdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZXdTZWxlY3RTdGF0ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuc2V0KGl0ZW1JZCwgaXRlbVRvU2VsZWN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5kZWxldGUoaXRlbUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQXBwbGllZChzZWFyY2hUZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNvZmZzZXQgPSAwO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG5cbiAgICB0aGlzLiNsb2FkU2VhcmNoUmVzdWx0cygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKCk7XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSwgaXRlbSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuICB9XG5cbiAgcHVibGljIGluZmluaXRlU2Nyb2xsRW5kKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbEN1cnJlbnRTZWFyY2goKTtcblxuICAgIC8qIFNhbml0eSBjaGVjayAtIGVsc2UgY2FzZSB3b3VsZCBvbmx5IGhhcHBlbiBpZiB0aGlzIHdhcyBjYWxsZWQgZGlyZWN0bHkgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmhhc01vcmVJdGVtcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gdHJ1ZTtcblxuICAgICAgdGhpcy4jcGVyZm9ybVNlYXJjaCgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmNvbmNhdChyZXN1bHQuaXRlbXMpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZ01vcmUgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnZhbHVlcygpLFxuICAgICAgKGl0ZW1EYXRhLCBpbmRleCkgPT4gKHtcbiAgICAgICAgaW5kZXgsXG4gICAgICAgIGl0ZW1EYXRhLFxuICAgICAgfSlcbiAgICApLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zLmluZGV4T2YoYS5pdGVtRGF0YSkgPCB0aGlzLml0ZW1zLmluZGV4T2YoYi5pdGVtRGF0YSlcbiAgICAgICAgPyAtMVxuICAgICAgICA6IDE7XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vZGFsSW5zdGFuY2Uuc2F2ZShzZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEaXNwbGF5ZWRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5oYXMoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gdGhpcy5pdGVtcztcbiAgICB9XG4gIH1cblxuICAjbG9hZFNlYXJjaFJlc3VsdHMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgdGhpcy5pc1NlYXJjaGluZyA9IHRydWU7XG5cbiAgICB0aGlzLiNwZXJmb3JtU2VhcmNoKChyZXN1bHQpID0+IHtcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQuaXRlbXM7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNjcmVhdGVJbml0aWFsU2VsZWN0ZWRJdGVtc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKFxuICAgICAgdGhpcy5jb250ZXh0LmluaXRpYWxWYWx1ZS5tYXAoKGl0ZW0pID0+IFtcbiAgICAgICAgKGl0ZW0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSxcbiAgICAgICAgaXRlbSxcbiAgICAgIF0pXG4gICAgKTtcbiAgfVxuXG4gICNwZXJmb3JtU2VhcmNoKFxuICAgIHByb2Nlc3NSZXN1bHRzOiAocmVzdWx0OiBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCkgPT4gdm9pZFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdGhpcy5jb250ZXh0XG4gICAgICAuc2VhcmNoQXN5bmMoe1xuICAgICAgICBkaXNwbGF5VHlwZTogJ21vZGFsJyxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLiNvZmZzZXQsXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dCB8fCAnJyxcbiAgICAgICAgY29udGludWF0aW9uRGF0YTogdGhpcy4jY29udGludWF0aW9uRGF0YSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHByb2Nlc3NSZXN1bHRzKHJlc3VsdCk7XG5cbiAgICAgICAgdGhpcy4jY29udGludWF0aW9uRGF0YSA9IHJlc3VsdC5jb250aW51YXRpb25EYXRhO1xuICAgICAgICB0aGlzLmhhc01vcmVJdGVtcyA9IHJlc3VsdC5oYXNNb3JlIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLiNvZmZzZXQgPSB0aGlzLml0ZW1zLmxlbmd0aDtcblxuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gICNjYW5jZWxDdXJyZW50U2VhcmNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXJyZW50U2VhcmNoU3ViKSB7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNjdXJyZW50U2VhcmNoU3ViID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzU2VhcmNoaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8c2t5LW1vZGFsXG4gIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWxcIlxuICBbYXR0ci5pZF09XCJpZFwiXG4gIFtuZ0NsYXNzXT1cIidza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC0nICsgY29udGV4dC5zZWxlY3RNb2RlXCJcbj5cbiAgPHNreS1tb2RhbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQudXNlckNvbmZpZz8udGl0bGU7IGVsc2UgZGVmYXVsdFRpdGxlXCI+XG4gICAgICB7eyBjb250ZXh0LnVzZXJDb25maWcudGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICA8c2t5LW1vZGFsLWNvbnRlbnRcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJbJy5za3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXInXVwiXG4gID5cbiAgICA8c2t5LXdhaXQgW2lzV2FpdGluZ109XCJpc1NlYXJjaGluZ1wiPjwvc2t5LXdhaXQ+XG4gICAgPGRpdiBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlclwiPlxuICAgICAgPHNreS10b29sYmFyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtdG9vbGJhclwiPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxza3ktc2VhcmNoXG4gICAgICAgICAgICAgIFtkZWJvdW5jZVRpbWVdPVwiMjUwXCJcbiAgICAgICAgICAgICAgW3NlYXJjaFRleHRdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9za3ktc2VhcmNoPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQuc2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGRCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICAgICAgPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJwbHVzLWNpcmNsZVwiPjwvc2t5LWljb24+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgICAgPHNreS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgICAgID5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xlYXItYWxsLWJ0blwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2xlYXJfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgICAgWyhjaGVja2VkKV09XCJvbmx5U2hvd1NlbGVjdGVkXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5ZWRJdGVtcygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2hvd19zZWxlY3RlZF9vcHRpb25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPC9za3ktdG9vbGJhcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFpc1NlYXJjaGluZyAmJiBkaXNwbGF5ZWRJdGVtcy5sZW5ndGggPT09IDBcIlxuICAgICAgY2xhc3M9XCJza3ktZm9udC1kZWVtcGhhc2l6ZWQgc2t5LWxvb2t1cC1zaG93LW1vcmUtbm8tcmVzdWx0c1wiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbm9fcmVzdWx0cycgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2Rpdj5cbiAgICA8c2t5LXJlcGVhdGVyIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtcmVwZWF0ZXJcIiBleHBhbmRNb2RlPVwibm9uZVwiPlxuICAgICAgPHNreS1yZXBlYXRlci1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZEl0ZW1zXCJcbiAgICAgICAgW2lzU2VsZWN0ZWRdPVwiXG4gICAgICAgICAgaXRlbVtjb250ZXh0LmlkUHJvcGVydHldXG4gICAgICAgICAgICB8IHNreVNlbGVjdGlvbk1vZGFsSXRlbVNlbGVjdGVkIDogc2VsZWN0ZWRJZE1hcFxuICAgICAgICBcIlxuICAgICAgICBbc2VsZWN0YWJsZV09XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIml0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgIChpc1NlbGVjdGVkQ2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgcmVwZWF0ZXJJdGVtVGVtcGxhdGUgPz8gZGVmYXVsdEl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBpdGVtOiBpdGVtIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3NreS1yZXBlYXRlci1pdGVtLWNvbnRlbnQ+XG4gICAgICA8L3NreS1yZXBlYXRlci1pdGVtPlxuICAgIDwvc2t5LXJlcGVhdGVyPlxuICAgIDxza3ktaW5maW5pdGUtc2Nyb2xsXG4gICAgICBbZW5hYmxlZF09XCJoYXNNb3JlSXRlbXNcIlxuICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nTW9yZVwiXG4gICAgICAoc2Nyb2xsRW5kKT1cImluZmluaXRlU2Nyb2xsRW5kKClcIlxuICAgID5cbiAgICA8L3NreS1pbmZpbml0ZS1zY3JvbGw+XG4gIDwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LW1hcmdpbi1pbmxpbmUtY29tcGFjdCBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zYXZlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cImlzU2VhcmNoaW5nXCJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsb3NlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsSW5zdGFuY2UuY2xvc2UoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2FuY2VsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cblxuPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiICNkZWZhdWx0SXRlbVRlbXBsYXRlPlxuICB7eyBpdGVtW2NvbnRleHQuZGVzY3JpcHRvclByb3BlcnR5XSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiPlxuICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX211bHRpcGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
211
|
+
args: [{ standalone: true, selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
212
|
+
CommonModule,
|
|
213
|
+
SkyCheckboxModule,
|
|
214
|
+
SkyIconModule,
|
|
215
|
+
SkyInfiniteScrollModule,
|
|
216
|
+
SkyLookupResourcesModule,
|
|
217
|
+
SkyModalModule,
|
|
218
|
+
SkyRepeaterModule,
|
|
219
|
+
SkySearchModule,
|
|
220
|
+
SkySelectionModalItemSelectedPipe,
|
|
221
|
+
SkyThemeModule,
|
|
222
|
+
SkyToolbarModule,
|
|
223
|
+
SkyWaitModule,
|
|
224
|
+
SkyViewkeeperModule,
|
|
225
|
+
], template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
|
|
226
|
+
}], ctorParameters: function () { return []; } });
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUlULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0s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NU9VLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtFQ3JEdkMsaTBLQTJKQSw4UERySEksWUFBWSxvZ0JBQ1osaUJBQWlCLHNYQUNqQixhQUFhLHVKQUNiLHVCQUF1QiwySkFDdkIsd0JBQXdCLHVHQUN4QixjQUFjLHNYQUNkLGlCQUFpQixva0JBQ2pCLGVBQWUsbVJBQ2YsaUNBQWlDLHFFQUNqQyxjQUFjLG9IQUNkLGdCQUFnQixnVEFDaEIsYUFBYSx5TEFDYixtQkFBbUI7OzJGQUdWLDBCQUEwQjtrQkF0QnRDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQ0FBaUM7d0JBQ2pDLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG1CQUFtQjtxQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUlkU2VydmljZSwgU2t5Vmlld2tlZXBlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUsIFNreVdhaXRNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lJbmZpbml0ZVNjcm9sbE1vZHVsZSwgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWRQaXBlIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwtaXRlbS1zZWxlY3RlZC5waXBlJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHQgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc2t5LXNlbGVjdGlvbi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBTa3lMb29rdXBSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5TW9kYWxNb2R1bGUsXG4gICAgU2t5UmVwZWF0ZXJNb2R1bGUsXG4gICAgU2t5U2VhcmNoTW9kdWxlLFxuICAgIFNreVNlbGVjdGlvbk1vZGFsSXRlbVNlbGVjdGVkUGlwZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgICBTa3lUb29sYmFyTW9kdWxlLFxuICAgIFNreVdhaXRNb2R1bGUsXG4gICAgU2t5Vmlld2tlZXBlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGJ1dHRvbiB0byBhZGQgbmV3IG9wdGlvbnMgdG8gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2xpY2s6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBkaXNwbGF5ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgaGFzTW9yZUl0ZW1zID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gYXNzb2NpYXRlIHRoaXMgbW9kYWwgd2l0aCBpdHMgb3duaW5nIGxvb2t1cCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgaXNMb2FkaW5nTW9yZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1NlYXJjaGluZyA9IGZhbHNlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBpdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgb25seVNob3dTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZXBlYXRlckl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzZWxlY3RlZElkTWFwOiBNYXA8dW5rbm93biwgdW5rbm93bj4gPSBuZXcgTWFwKCk7XG5cbiAgI2NvbnRpbnVhdGlvbkRhdGE6IHVua25vd247XG5cbiAgI2N1cnJlbnRTZWFyY2hTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI29mZnNldCA9IDA7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3QoU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGFsSW5zdGFuY2UgPSBpbmplY3QoU2t5TW9kYWxJbnN0YW5jZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXBlYXRlckl0ZW1UZW1wbGF0ZSA9IHRoaXMuY29udGV4dC51c2VyQ29uZmlnLml0ZW1UZW1wbGF0ZSB8fCBudWxsO1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRoaXMuY29udGV4dC5pbml0aWFsU2VhcmNoO1xuXG4gICAgdGhpcy4jY3JlYXRlSW5pdGlhbFNlbGVjdGVkSXRlbXNNYXAoKTtcbiAgICB0aGlzLiNsb2FkU2VhcmNoUmVzdWx0cygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbEN1cnJlbnRTZWFyY2goKTtcblxuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQ2xpY2submV4dCgpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAodGhpcy5zZWxlY3RlZElkTWFwKTtcblxuICAgIC8vIE9ubHkgZGVzZWxlY3QgaXRlbXMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkOyBpdGVtcyB0aGF0IHdvdWxkIGJlIGxvYWRlZFxuICAgIC8vIGFmdGVyIGFuIGluZmluaXRlIHNjcm9sbCBldmVudCBzaG91bGQgcmVtYWluIHNlbGVjdGVkLlxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuZGVsZXRlKGl0ZW1bdGhpcy5jb250ZXh0LmlkUHJvcGVydHldKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBpdGVtQ2xpY2soc2VsZWN0ZWRJdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLm9uSXRlbVNlbGVjdCghc2VsZWN0ZWRJdGVtLnNlbGVjdGVkLCBzZWxlY3RlZEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBhZGRJdGVtKGl0ZW1Ub0FkZDogYW55KTogdm9pZCB7XG4gICAgLy8gQWRkIHRoZSBzZWxlY3RlZCBpdGVtLCB0aGVuIHBlcmZvcm0gdGhlIHNlYXJjaCBhZ2FpbiBpbiBjYXNlIHRoZVxuICAgIC8vIG5ld2x5LWFkZGVkIGl0ZW0gc2hvdWxkIGJlIGRpc3BsYXllZCBhcyBhIHNlYXJjaCByZXN1bHRzLlxuICAgIHRoaXMuI29mZnNldCA9IDA7XG4gICAgdGhpcy5vbkl0ZW1TZWxlY3QodHJ1ZSwgaXRlbVRvQWRkKTtcbiAgICB0aGlzLiNsb2FkU2VhcmNoUmVzdWx0cygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIG9uSXRlbVNlbGVjdChuZXdTZWxlY3RTdGF0ZTogYm9vbGVhbiwgaXRlbVRvU2VsZWN0OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtSWQgPSBpdGVtVG9TZWxlY3RbdGhpcy5jb250ZXh0LmlkUHJvcGVydHldO1xuXG4gICAgLy8gQ3JlYXRlIGEgbmV3IE1hcCBzbyB0aGUgcGlwZSB0cmFuc2Zvcm0gd2lsbCBleGVjdXRlIG9uIHRoZSBuZXh0XG4gICAgLy8gY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKHRoaXMuc2VsZWN0ZWRJZE1hcCk7XG5cbiAgICBpZiAodGhpcy5jb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICBpZiAobmV3U2VsZWN0U3RhdGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5zZXQoaXRlbUlkLCBpdGVtVG9TZWxlY3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobmV3U2VsZWN0U3RhdGUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLnNldChpdGVtSWQsIGl0ZW1Ub1NlbGVjdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuZGVsZXRlKGl0ZW1JZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEFwcGxpZWQoc2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jb2Zmc2V0ID0gMDtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuXG4gICAgdGhpcy4jbG9hZFNlYXJjaFJlc3VsdHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcCgpO1xuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5zZXQoaXRlbVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0sIGl0ZW0pO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmZpbml0ZVNjcm9sbEVuZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjYW5jZWxDdXJyZW50U2VhcmNoKCk7XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgLSBlbHNlIGNhc2Ugd291bGQgb25seSBoYXBwZW4gaWYgdGhpcyB3YXMgY2FsbGVkIGRpcmVjdGx5ICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5oYXNNb3JlSXRlbXMpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nTW9yZSA9IHRydWU7XG5cbiAgICAgIHRoaXMuI3BlcmZvcm1TZWFyY2goKHJlc3VsdCkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5jb25jYXQocmVzdWx0Lml0ZW1zKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmdNb3JlID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC52YWx1ZXMoKSxcbiAgICAgIChpdGVtRGF0YSwgaW5kZXgpID0+ICh7XG4gICAgICAgIGluZGV4LFxuICAgICAgICBpdGVtRGF0YSxcbiAgICAgIH0pXG4gICAgKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtcy5pbmRleE9mKGEuaXRlbURhdGEpIDwgdGhpcy5pdGVtcy5pbmRleE9mKGIuaXRlbURhdGEpXG4gICAgICAgID8gLTFcbiAgICAgICAgOiAxO1xuICAgIH0pO1xuXG4gICAgdGhpcy5tb2RhbEluc3RhbmNlLnNhdmUoc2VsZWN0ZWRJdGVtcyk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub25seVNob3dTZWxlY3RlZCkge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRJdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuaGFzKGl0ZW1bdGhpcy5jb250ZXh0LmlkUHJvcGVydHldKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRJdGVtcyA9IHRoaXMuaXRlbXM7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRTZWFyY2hSZXN1bHRzKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbEN1cnJlbnRTZWFyY2goKTtcblxuICAgIHRoaXMuaXNTZWFyY2hpbmcgPSB0cnVlO1xuXG4gICAgdGhpcy4jcGVyZm9ybVNlYXJjaCgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmlzU2VhcmNoaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLml0ZW1zID0gcmVzdWx0Lml0ZW1zO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjY3JlYXRlSW5pdGlhbFNlbGVjdGVkSXRlbXNNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcChcbiAgICAgIHRoaXMuY29udGV4dC5pbml0aWFsVmFsdWUubWFwKChpdGVtKSA9PiBbXG4gICAgICAgIChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVt0aGlzLmNvbnRleHQuaWRQcm9wZXJ0eV0sXG4gICAgICAgIGl0ZW0sXG4gICAgICBdKVxuICAgICk7XG4gIH1cblxuICAjcGVyZm9ybVNlYXJjaChcbiAgICBwcm9jZXNzUmVzdWx0czogKHJlc3VsdDogU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHQpID0+IHZvaWRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY3VycmVudFNlYXJjaFN1YiA9IHRoaXMuY29udGV4dFxuICAgICAgLnNlYXJjaEFzeW5jKHtcbiAgICAgICAgZGlzcGxheVR5cGU6ICdtb2RhbCcsXG4gICAgICAgIG9mZnNldDogdGhpcy4jb2Zmc2V0LFxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQgfHwgJycsXG4gICAgICAgIGNvbnRpbnVhdGlvbkRhdGE6IHRoaXMuI2NvbnRpbnVhdGlvbkRhdGEsXG4gICAgICB9KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICBwcm9jZXNzUmVzdWx0cyhyZXN1bHQpO1xuXG4gICAgICAgIHRoaXMuI2NvbnRpbnVhdGlvbkRhdGEgPSByZXN1bHQuY29udGludWF0aW9uRGF0YTtcbiAgICAgICAgdGhpcy5oYXNNb3JlSXRlbXMgPSByZXN1bHQuaGFzTW9yZSB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy4jb2Zmc2V0ID0gdGhpcy5pdGVtcy5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuXG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICAjY2FuY2VsQ3VycmVudFNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY3VycmVudFNlYXJjaFN1Yikge1xuICAgICAgdGhpcy4jY3VycmVudFNlYXJjaFN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jY3VycmVudFNlYXJjaFN1YiA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuaXNMb2FkaW5nTW9yZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1NlYXJjaGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPHNreS1tb2RhbFxuICBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsXCJcbiAgW2F0dHIuaWRdPVwiaWRcIlxuICBbbmdDbGFzc109XCInc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtJyArIGNvbnRleHQuc2VsZWN0TW9kZVwiXG4+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnVzZXJDb25maWc/LnRpdGxlOyBlbHNlIGRlZmF1bHRUaXRsZVwiPlxuICAgICAge3sgY29udGV4dC51c2VyQ29uZmlnLnRpdGxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50XG4gICAgW3NreVZpZXdrZWVwZXJdPVwiWycuc2t5LWxvb2t1cC1zaG93LW1vcmUtdG9vbGJhci13cmFwcGVyJ11cIlxuICA+XG4gICAgPHNreS13YWl0IFtpc1dhaXRpbmddPVwiaXNTZWFyY2hpbmdcIj48L3NreS13YWl0PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS10b29sYmFyLXdyYXBwZXJcIj5cbiAgICAgIDxza3ktdG9vbGJhciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXRvb2xiYXJcIj5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjI1MFwiXG4gICAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICAoc2VhcmNoQXBwbHkpPVwic2VhcmNoQXBwbGllZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc2t5LXNlYXJjaD5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0LnNob3dBZGRCdXR0b25cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1hZGRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwicGx1cy1jaXJjbGVcIj48L3NreS1pY29uPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9hZGQnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPC9za3ktdG9vbGJhcj5cbiAgICAgIDxza3ktdG9vbGJhclxuICAgICAgICAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtbXVsdGlzZWxlY3QtdG9vbGJhclwiXG4gICAgICA+XG4gICAgICAgIDxza3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICAgIFsoY2hlY2tlZCldPVwib25seVNob3dTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlRGlzcGxheWVkSXRlbXMoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlJ1xuICAgICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAgPC9za3ktY2hlY2tib3g+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDwvc2t5LXRvb2xiYXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhaXNTZWFyY2hpbmcgJiYgZGlzcGxheWVkSXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIGNsYXNzPVwic2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1sb29rdXAtc2hvdy1tb3JlLW5vLXJlc3VsdHNcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX25vX3Jlc3VsdHMnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9kaXY+XG4gICAgPHNreS1yZXBlYXRlciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXJlcGVhdGVyXCIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWRJdGVtc1wiXG4gICAgICAgIFtpc1NlbGVjdGVkXT1cIlxuICAgICAgICAgIGl0ZW1bY29udGV4dC5pZFByb3BlcnR5XVxuICAgICAgICAgICAgfCBza3lTZWxlY3Rpb25Nb2RhbEl0ZW1TZWxlY3RlZCA6IHNlbGVjdGVkSWRNYXBcbiAgICAgICAgXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJpdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAoaXNTZWxlY3RlZENoYW5nZSk9XCJvbkl0ZW1TZWxlY3QoJGV2ZW50LCBpdGVtKVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgIHJlcGVhdGVySXRlbVRlbXBsYXRlID8/IGRlZmF1bHRJdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogaXRlbSB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbT5cbiAgICA8L3NreS1yZXBlYXRlcj5cbiAgICA8c2t5LWluZmluaXRlLXNjcm9sbFxuICAgICAgW2VuYWJsZWRdPVwiaGFzTW9yZUl0ZW1zXCJcbiAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZ01vcmVcIlxuICAgICAgKHNjcm9sbEVuZCk9XCJpbmZpbml0ZVNjcm9sbEVuZCgpXCJcbiAgICA+XG4gICAgPC9za3ktaW5maW5pdGUtc2Nyb2xsPlxuICA8L3NreS1tb2RhbC1jb250ZW50PlxuICA8c2t5LW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1wcmltYXJ5IHNreS1tYXJnaW4taW5saW5lLWNvbXBhY3Qgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2F2ZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NlYXJjaGluZ1wiXG4gICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3QnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1jbG9zZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbEluc3RhbmNlLmNsb3NlKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NhbmNlbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9za3ktbW9kYWwtZm9vdGVyPlxuPC9za3ktbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbVtjb250ZXh0LmRlc2NyaXB0b3JQcm9wZXJ0eV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRpdGxlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJ1wiPlxuICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX3NpbmdsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZSdcIj5cbiAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9tb2RhbF90aXRsZV9tdWx0aXBsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,62 +1,15 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SkyViewkeeperModule } from '@skyux/core';
|
|
4
|
-
import { SkyCheckboxModule } from '@skyux/forms';
|
|
5
|
-
import { SkyIconModule, SkyWaitModule } from '@skyux/indicators';
|
|
6
|
-
import { SkyToolbarModule } from '@skyux/layout';
|
|
7
|
-
import { SkyInfiniteScrollModule, SkyRepeaterModule } from '@skyux/lists';
|
|
8
|
-
import { SkyModalModule } from '@skyux/modals';
|
|
9
|
-
import { SkyThemeModule } from '@skyux/theme';
|
|
10
|
-
import { SkySearchModule } from '../search/search.module';
|
|
11
|
-
import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
|
|
12
|
-
import { SkySelectionModalItemSelectedPipe } from './selection-modal-item-selected.pipe';
|
|
13
|
-
import { SkySelectionModalComponent } from './selection-modal.component';
|
|
14
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated The `SkySelectionModalModule` is no longer needed and can be removed from your application.
|
|
5
|
+
*/
|
|
15
6
|
export class SkySelectionModalModule {
|
|
16
7
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule
|
|
18
|
-
|
|
19
|
-
SkyIconModule,
|
|
20
|
-
SkyInfiniteScrollModule,
|
|
21
|
-
SkyLookupResourcesModule,
|
|
22
|
-
SkyModalModule,
|
|
23
|
-
SkyRepeaterModule,
|
|
24
|
-
SkySearchModule,
|
|
25
|
-
SkyThemeModule,
|
|
26
|
-
SkyToolbarModule,
|
|
27
|
-
SkyViewkeeperModule,
|
|
28
|
-
SkyWaitModule] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, imports: [CommonModule,
|
|
30
|
-
SkyCheckboxModule,
|
|
31
|
-
SkyIconModule,
|
|
32
|
-
SkyInfiniteScrollModule,
|
|
33
|
-
SkyLookupResourcesModule,
|
|
34
|
-
SkyModalModule,
|
|
35
|
-
SkyRepeaterModule,
|
|
36
|
-
SkySearchModule,
|
|
37
|
-
SkyThemeModule,
|
|
38
|
-
SkyToolbarModule,
|
|
39
|
-
SkyViewkeeperModule,
|
|
40
|
-
SkyWaitModule] }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule }); }
|
|
41
10
|
}
|
|
42
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalModule, decorators: [{
|
|
43
12
|
type: NgModule,
|
|
44
|
-
args: [{
|
|
45
|
-
declarations: [SkySelectionModalComponent, SkySelectionModalItemSelectedPipe],
|
|
46
|
-
imports: [
|
|
47
|
-
CommonModule,
|
|
48
|
-
SkyCheckboxModule,
|
|
49
|
-
SkyIconModule,
|
|
50
|
-
SkyInfiniteScrollModule,
|
|
51
|
-
SkyLookupResourcesModule,
|
|
52
|
-
SkyModalModule,
|
|
53
|
-
SkyRepeaterModule,
|
|
54
|
-
SkySearchModule,
|
|
55
|
-
SkyThemeModule,
|
|
56
|
-
SkyToolbarModule,
|
|
57
|
-
SkyViewkeeperModule,
|
|
58
|
-
SkyWaitModule,
|
|
59
|
-
],
|
|
60
|
-
}]
|
|
13
|
+
args: [{}]
|
|
61
14
|
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGUgYFNreVNlbGVjdGlvbk1vZGFsTW9kdWxlYCBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBjYW4gYmUgcmVtb3ZlZCBmcm9tIHlvdXIgYXBwbGljYXRpb24uXG4gKi9cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbE1vZHVsZSB7fVxuIl19
|
|
@@ -78,12 +78,12 @@ export class SkySelectionModalService {
|
|
|
78
78
|
return instance;
|
|
79
79
|
}
|
|
80
80
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
81
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, providedIn: '
|
|
81
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, providedIn: 'root' }); }
|
|
82
82
|
}
|
|
83
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkySelectionModalService, decorators: [{
|
|
84
84
|
type: Injectable,
|
|
85
85
|
args: [{
|
|
86
|
-
providedIn: '
|
|
86
|
+
providedIn: 'root',
|
|
87
87
|
}]
|
|
88
88
|
}], ctorParameters: function () { return [{ type: i1.SkyModalService }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsU0FBUyxDQUFrQjtJQUUzQixZQUFZLFFBQXlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBK0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQ3hCLFlBQVksSUFBSSxFQUFFLEVBQ2xCLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQzlDLENBQWlELENBQUM7UUFDckQsQ0FBQyxFQUNELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQzNCO1lBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNwRSxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2FBQ0Y7WUFDRCxJQUFJLEVBQUUsT0FBTztZQUNiLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLHlCQUF5QixDQUM1QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUNuQyxDQUFDO1FBRUYsUUFBUSxDQUFDLFNBQVM7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQixhQUFhLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUwsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNoRCxJQUFJLFNBQXFDLENBQUM7WUFFMUMsUUFBUSxjQUFjLENBQUMsTUFBTSxFQUFFO2dCQUM3QixLQUFLLE1BQU07b0JBQ1QsU0FBUyxHQUFHO3dCQUNWLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGFBQWEsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDcEMsQ0FBQyxJQUEyQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUMvQztxQkFDRixDQUFDO29CQUNGLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDakMsTUFBTTtnQkFDUjtvQkFDRSxTQUFTLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7YUFDbkM7WUFFRCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBRXZELGNBQWMsQ0FBQyxRQUFRO2FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLE1BQU0sT0FBTyxHQUF1QztvQkFDbEQsU0FBUyxDQUFDLElBQUk7d0JBQ1osY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7aUJBQ0YsQ0FBQztnQkFFRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzhHQTlGVSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQUZ2QixNQUFNOzsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoQXN5bmNSZXN1bHQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1yZXN1bHQnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbEFkZENsaWNrRXZlbnRBcmdzIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtYWRkLWNsaWNrLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1jbG9zZS1hcmdzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZSB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWluc3RhbmNlJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsT3BlbkFyZ3MgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1vcGVuLWFyZ3MnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgbW9kYWwgZm9yIHNlbGVjdGluZyBvbmUgb3IgbW9yZSB2YWx1ZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2Uge1xuICAjbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTdmMgPSBtb2RhbFN2YztcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKiBAcGFyYW0gYXJncyBQYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIG9wZW4oYXJnczogU2t5U2VsZWN0aW9uTW9kYWxPcGVuQXJncyk6IFNreVNlbGVjdGlvbk1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGFyZ3MudmFsdWU7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dChcbiAgICAgIGFyZ3MuZGVzY3JpcHRvclByb3BlcnR5LFxuICAgICAgYXJncy5pZFByb3BlcnR5LFxuICAgICAgYXJncy5pbml0aWFsU2VhcmNoIHx8ICcnLFxuICAgICAgaW5pdGlhbFZhbHVlIHx8IFtdLFxuICAgICAgKHNlYXJjaEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIGFyZ3Muc2VhcmNoQXN5bmMoe1xuICAgICAgICAgIG9mZnNldDogc2VhcmNoQXJncy5vZmZzZXQsXG4gICAgICAgICAgc2VhcmNoVGV4dDogc2VhcmNoQXJncy5zZWFyY2hUZXh0LFxuICAgICAgICAgIGNvbnRpbnVhdGlvbkRhdGE6IHNlYXJjaEFyZ3MuY29udGludWF0aW9uRGF0YSxcbiAgICAgICAgfSkgYXMgT2JzZXJ2YWJsZTxTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY1Jlc3VsdD47XG4gICAgICB9LFxuICAgICAgYXJncy5zZWxlY3RNb2RlLFxuICAgICAgYXJncy5zaG93QWRkQnV0dG9uIHx8IGZhbHNlLFxuICAgICAge1xuICAgICAgICBpdGVtVGVtcGxhdGU6IGFyZ3MuaXRlbVRlbXBsYXRlLFxuICAgICAgICB0aXRsZTogYXJncy50aXRsZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0LFxuICAgICAgICAgIHVzZVZhbHVlOiBjb250ZXh0LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICB3cmFwcGVyQ2xhc3M6IGFyZ3Mud3JhcHBlckNsYXNzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZShcbiAgICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UuaWRcbiAgICApO1xuXG4gICAgaW5zdGFuY2UuaXRlbUFkZGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwobW9kYWxJbnN0YW5jZS5jbG9zZWQpKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICBtb2RhbEluc3RhbmNlLmNvbXBvbmVudEluc3RhbmNlLmFkZEl0ZW0oaXRlbSk7XG4gICAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgobW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGxldCBjbG9zZUFyZ3M6IFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzO1xuXG4gICAgICBzd2l0Y2ggKG1vZGFsQ2xvc2VBcmdzLnJlYXNvbikge1xuICAgICAgICBjYXNlICdzYXZlJzpcbiAgICAgICAgICBjbG9zZUFyZ3MgPSB7XG4gICAgICAgICAgICByZWFzb246ICdzYXZlJyxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IG1vZGFsQ2xvc2VBcmdzLmRhdGEubWFwKFxuICAgICAgICAgICAgICAoaXRlbTogeyBpdGVtRGF0YTogdW5rbm93biB9KSA9PiBpdGVtLml0ZW1EYXRhXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NhbmNlbCc6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjYW5jZWwnIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjbG9zZScgfTtcbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UuY2xvc2UoY2xvc2VBcmdzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlbGVjdGlvbk1vZGFsID0gbW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZTtcblxuICAgIHNlbGVjdGlvbk1vZGFsLmFkZENsaWNrXG4gICAgICAucGlwZSh0YWtlVW50aWwobW9kYWxJbnN0YW5jZS5jbG9zZWQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmIChhcmdzLmFkZENsaWNrKSB7XG4gICAgICAgICAgY29uc3QgYWRkQXJnczogU2t5U2VsZWN0aW9uTW9kYWxBZGRDbGlja0V2ZW50QXJncyA9IHtcbiAgICAgICAgICAgIGl0ZW1BZGRlZChhcmdzKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGFsLmFkZEl0ZW0oYXJncy5pdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGFyZ3MuYWRkQ2xpY2soYWRkQXJncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* istanbul ignore file */
|
|
1
2
|
/**
|
|
2
3
|
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
3
4
|
* The contents of this file were automatically generated by
|
|
@@ -5,7 +6,7 @@
|
|
|
5
6
|
* To update this file, simply rerun the command.
|
|
6
7
|
*/
|
|
7
8
|
import { NgModule } from '@angular/core';
|
|
8
|
-
import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
|
|
9
|
+
import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, SkyLibResourcesService, getLibStringForLocale, } from '@skyux/i18n';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
const RESOURCES = {
|
|
11
12
|
'EN-US': {
|
|
@@ -36,6 +37,7 @@ const RESOURCES = {
|
|
|
36
37
|
skyux_search_placeholder: { message: 'Find in this list' },
|
|
37
38
|
},
|
|
38
39
|
};
|
|
40
|
+
SkyLibResourcesService.addResources(RESOURCES);
|
|
39
41
|
export class SkyLookupResourcesProvider {
|
|
40
42
|
getString(localeInfo, name) {
|
|
41
43
|
return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
|
|
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
68
70
|
],
|
|
69
71
|
}]
|
|
70
72
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1sb29rdXAtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUEwQztJQUN2RCxPQUFPLEVBQUU7UUFDUCxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDMUMsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUU7UUFDOUQsMkJBQTJCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ3BELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtRQUM5RCxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRTtRQUN4RSxzQ0FBc0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRTtRQUMzRSxvQ0FBb0MsRUFBRTtZQUNwQyxPQUFPLEVBQUUseUJBQXlCO1NBQ25DO1FBQ0QsMEJBQTBCLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQzlDLDhDQUE4QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUN6RSw2Q0FBNkMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDdkUsaURBQWlELEVBQUU7WUFDakQsT0FBTyxFQUFFLDBCQUEwQjtTQUNwQztRQUNELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUNwRCx5Q0FBeUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUMxRSwyQ0FBMkMsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRTtRQUMxRSxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUNsRSw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsMkJBQTJCLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7UUFDOUQsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUU7UUFDbkQsa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLGlCQUFpQixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3Qyx3QkFBd0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRTtLQUMzRDtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0MsTUFBTSxPQUFPLDBCQUEwQjtJQUM5QixTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQVR6QixhQUFhOytHQVNaLHdCQUF3QixhQVJ4QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixZQVBTLGFBQWE7OzJGQVNaLHdCQUF3QjtrQkFWcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsMEJBQTBCOzRCQUNwQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LWxvb2t1cCcgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICBnZXRMaWJTdHJpbmdGb3JMb2NhbGUsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiB7IFtsb2NhbGU6IHN0cmluZ106IFNreUxpYlJlc291cmNlcyB9ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX2FkZDogeyBtZXNzYWdlOiAnTmV3JyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9ub19yZXN1bHRzOiB7IG1lc3NhZ2U6ICdObyBtYXRjaGVzIGZvdW5kJyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9zaG93X2FsbDogeyBtZXNzYWdlOiAnU2hvdyBhbGwnIH0sXG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX3Nob3dfYWxsX2NvdW50OiB7IG1lc3NhZ2U6ICdTaG93IGFsbCB7MH0nIH0sXG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX3Nob3dfbWF0Y2hlc19jb3VudDogeyBtZXNzYWdlOiAnU2hvdyBtYXRjaGVzICh7MH0pJyB9LFxuICAgIHNreXV4X2NvdW50cnlfZmllbGRfc2VhcmNoX3BsYWNlaG9sZGVyOiB7IG1lc3NhZ2U6ICdTZWFyY2ggZm9yIGEgY291bnRyeScgfSxcbiAgICBza3l1eF9sb29rdXBfc2VhcmNoX2J1dHRvbl9zaG93X21vcmU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTaG93IGFsbCBzZWFyY2ggcmVzdWx0cycsXG4gICAgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZDogeyBtZXNzYWdlOiAnTmV3JyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0X2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdDbGVhciBhbGwnIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ1Nob3cgb25seSBzZWxlY3RlZCBpdGVtcycsXG4gICAgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX2NhbmNlbDogeyBtZXNzYWdlOiAnQ2FuY2VsJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlOiB7IG1lc3NhZ2U6ICdTZWxlY3QgYW4gb3B0aW9uJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfbXVsdGlwbGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBvcHRpb25zJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbm9fcmVzdWx0czogeyBtZXNzYWdlOiAnTm8gbWF0Y2hlcyBmb3VuZCcgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdDogeyBtZXNzYWdlOiAnU2VsZWN0JyB9LFxuICAgIHNreXV4X2xvb2t1cF90b2tlbnNfc3VtbWFyeTogeyBtZXNzYWdlOiAnezB9IGl0ZW1zIHNlbGVjdGVkJyB9LFxuICAgIHNreXV4X3NlYXJjaF9kaXNtaXNzOiB7IG1lc3NhZ2U6ICdEaXNtaXNzIHNlYXJjaCcgfSxcbiAgICBza3l1eF9zZWFyY2hfbGFiZWw6IHsgbWVzc2FnZTogJ1NlYXJjaCBpdGVtcycgfSxcbiAgICBza3l1eF9zZWFyY2hfb3BlbjogeyBtZXNzYWdlOiAnT3BlbiBzZWFyY2gnIH0sXG4gICAgc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyOiB7IG1lc3NhZ2U6ICdGaW5kIGluIHRoaXMgbGlzdCcgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreUxvb2t1cFJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|