@skyux/list-builder 8.10.6 → 8.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/list/list.component.mjs +4 -4
- package/esm2020/lib/modules/list/list.module.mjs +5 -5
- package/esm2020/lib/modules/list/state/list-state.rxstate.mjs +4 -4
- package/esm2020/lib/modules/list/state/list-state.state-node.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filter-button.component.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filter-inline-item.component.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filter-inline.component.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filter-summary.component.mjs +4 -4
- package/esm2020/lib/modules/list-filters/list-filters.module.mjs +5 -5
- package/esm2020/lib/modules/list-paging/list-paging.component.mjs +4 -4
- package/esm2020/lib/modules/list-paging/list-paging.module.mjs +5 -5
- package/esm2020/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +5 -5
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar-item.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +5 -5
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +4 -4
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +4 -4
- package/esm2020/lib/modules/shared/sky-list-builder-resources.module.mjs +5 -5
- package/fesm2015/skyux-list-builder.mjs +90 -90
- package/fesm2015/skyux-list-builder.mjs.map +1 -1
- package/fesm2020/skyux-list-builder.mjs +90 -90
- package/fesm2020/skyux-list-builder.mjs.map +1 -1
- package/package.json +12 -12
|
@@ -292,13 +292,13 @@ export class SkyListToolbarComponent {
|
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
}
|
|
295
|
-
SkyListToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
296
|
-
SkyListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
295
|
+
SkyListToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.ListToolbarState }, { token: i4.ListToolbarStateDispatcher }, { token: i5.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
296
|
+
SkyListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SkyListToolbarComponent, selector: "sky-list-toolbar", inputs: { inMemorySearchEnabled: "inMemorySearchEnabled", placeholder: "placeholder", searchEnabled: "searchEnabled", sortSelectorEnabled: "sortSelectorEnabled", toolbarType: "toolbarType", searchText: "searchText" }, providers: [
|
|
297
297
|
ListToolbarState,
|
|
298
298
|
ListToolbarStateDispatcher,
|
|
299
299
|
ListToolbarStateModel,
|
|
300
300
|
], queries: [{ propertyName: "toolbarItems", predicate: SkyListToolbarItemComponent }, { propertyName: "toolbarSorts", predicate: SkyListToolbarSortComponent }, { propertyName: "filterSummary", predicate: SkyListFilterSummaryComponent }, { propertyName: "inlineFilter", predicate: SkyListFilterInlineComponent }, { propertyName: "viewActions", predicate: SkyListToolbarViewActionsComponent }], viewQueries: [{ propertyName: "searchComponent", first: true, predicate: SkySearchComponent, descendants: true, read: SkySearchComponent }, { propertyName: "searchTemplate", first: true, predicate: ["search"], descendants: true, read: TemplateRef, static: true }, { propertyName: "sortSelectorTemplate", first: true, predicate: ["sortSelector"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inlineFilterButtonTemplate", first: true, predicate: ["inlineFilterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n", styles: [".sky-list-toolbar-search-wrapper{display:flex}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-dismiss-absolute{padding:0;position:static}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-container{position:relative;height:100%}.sky-list-toolbar-search-wrapper ::ng-deep sky-search{flex:1 1 auto}.sky-list-toolbar-search-wrapper ::ng-deep sky-list-toolbar-search-actions{flex:0 0 auto;z-index:1}.sky-list-toolbar-container ::ng-deep .sky-toolbar-section-items sky-toolbar-item{flex:0 1 auto;align-self:flex-start}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section{padding-top:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section-items{display:block;width:100%}.sky-list-toolbar-search ::ng-deep .sky-toolbar-item{margin:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-container,.sky-list-toolbar-search ::ng-deep .sky-search-dismiss-absolute{background-color:#eeeeef}.sky-list-toolbar-search ::ng-deep input[type=text]:disabled,.sky-list-toolbar-search ::ng-deep .sky-search-btn:disabled{background-color:#cdcfd2;opacity:1}.sky-list-toolbar-container ::ng-deep sky-toolbar-item[sky-toolbar-id=sort-selector] .sky-toolbar-item{margin-right:0}.sky-list-toolbar-container ::ng-deep sky-checkbox{position:relative;top:-2px}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.λ37, selector: "sky-toolbar" }, { kind: "component", type: i7.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i7.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i7.λ40, selector: "sky-toolbar-view-actions" }, { kind: "component", type: i8.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "component", type: i9.λ14, selector: "sky-sort", inputs: ["showButtonText"] }, { kind: "component", type: i9.λ13, selector: "sky-sort-item", inputs: ["active"], outputs: ["itemSelect"] }, { kind: "component", type: i9.λ1, selector: "sky-filter-button", inputs: ["filterButtonId", "ariaControls", "ariaExpanded", "active", "disabled", "showButtonText"], outputs: ["filterButtonClick"] }, { kind: "component", type: i10.SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { kind: "component", type: i11.SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: ["showOnlySelected"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
301
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarComponent, decorators: [{
|
|
302
302
|
type: Component,
|
|
303
303
|
args: [{ selector: 'sky-list-toolbar', providers: [
|
|
304
304
|
ListToolbarState,
|
|
@@ -357,4 +357,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
357
357
|
static: true,
|
|
358
358
|
}]
|
|
359
359
|
}] } });
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUlMLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsR0FDekMsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUc5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVB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TSxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQTZDRSxZQUFZO3NCQURuQixlQUFlO3VCQUFDLDJCQUEyQjtnQkFJcEMsWUFBWTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBSXBDLGFBQWE7c0JBRHBCLGVBQWU7dUJBQUMsNkJBQTZCO2dCQUl0QyxZQUFZO3NCQURuQixlQUFlO3VCQUFDLDRCQUE0QjtnQkFJckMsV0FBVztzQkFEbEIsZUFBZTt1QkFBQyxrQ0FBa0M7Z0JBTzNDLGNBQWM7c0JBSnJCLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT08sb0JBQW9CO3NCQUozQixTQUFTO3VCQUFDLGNBQWMsRUFBRTt3QkFDekIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLDBCQUEwQjtzQkFKakMsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRTt3QkFDL0IsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IGdldFZhbHVlIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5pbXBvcnQgeyBTa3lTZWFyY2hDb21wb25lbnQgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwIGFzIG9ic2VydmFibGVNYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0RmlsdGVyU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuLi9saXN0L3N0YXRlL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TGFiZWxNb2RlbCB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvc29ydC9sYWJlbC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24gfSBmcm9tICcuLi9saXN0L3N0YXRlL3Rvb2xiYXIvc2V0LXR5cGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbU1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS90b29sYmFyL3Rvb2xiYXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhck1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS90b29sYmFyL3Rvb2xiYXIubW9kZWwnO1xuXG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG9vbGJhci1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhclZpZXdBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXItdmlldy1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckNvbmZpZ1NldFNlYXJjaEVuYWJsZWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2NvbmZpZy9zZXQtc2VhcmNoLWVuYWJsZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyQ29uZmlnU2V0U29ydFNlbGVjdG9yRW5hYmxlZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvY29uZmlnL3NldC1zb3J0LXNlbGVjdG9yLWVuYWJsZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyU3RhdGVNb2RlbCB9IGZyb20gJy4vc3RhdGUvdG9vbGJhci1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvdG9vbGJhci1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RUb29sYmFyU3RhdGUgfSBmcm9tICcuL3N0YXRlL3Rvb2xiYXItc3RhdGUuc3RhdGUtbm9kZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgdG9vbGJhciBmb3IgYSBTS1kgVVgtdGhlbWVkIGxpc3Qgb2YgZGF0YS5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIExpc3RUb29sYmFyU3RhdGUsXG4gICAgTGlzdFRvb2xiYXJTdGF0ZURpc3BhdGNoZXIsXG4gICAgTGlzdFRvb2xiYXJTdGF0ZU1vZGVsLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFRvb2xiYXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgdGhlIGluLW1lbW9yeSBzZWFyY2guXG4gICAqIFNldHRpbmcgdGhpcyB0byBgZmFsc2VgIHdpbGwgYWxsb3cgY29uc3VtZXJzIHRvIHJ1biB0aGVpciBvd24gc2VhcmNoZXMgcmVtb3RlbHksXG4gICAqIGFuZCBwdXNoIG5ldyB2YWx1ZXMgdG8gdGhlIGxpc3QgY29tcG9uZW50IGJ5IHVwZGF0aW5nIHRoZSBgZGF0YWAgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGluTWVtb3J5U2VhcmNoRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpbk1lbW9yeVNlYXJjaEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgc2VhcmNoIGJhciB0aGF0IHRoZSBsaXN0IHRvb2xiYXIgY3JlYXRlcyB3aXRoXG4gICAqIGEgW3NlYXJjaCBjb21wb25lbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9zZWFyY2gpLlxuICAgKiBAZGVmYXVsdCBcIkZpbmQgaW4gdGhpcyBsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgc2VhcmNoIGJhci5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBWaWV3Q2hpbGQoU2t5U2VhcmNoQ29tcG9uZW50LCB7XG4gICAgcmVhZDogU2t5U2VhcmNoQ29tcG9uZW50LFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHB1YmxpYyBzZWFyY2hDb21wb25lbnQ6IFNreVNlYXJjaENvbXBvbmVudDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIHNvcnQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydFNlbGVjdG9yRW5hYmxlZDogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgdGhlIHNlYXJjaCBiYXIgaW4gdGhlIHN0YW5kYXJkIHBvc2l0aW9uIG9yIGluIGEgc2VwYXJhdGUgc2VjdGlvbi5cbiAgICogVG8gaGlnaGxpZ2h0IHRoZSBzZWFyY2ggYmFyIGluIGEgc2VjdGlvbiBhYm92ZSBhbGwgb3RoZXIgdG9vbGJhciBpdGVtcyxcbiAgICogc2V0IHRoaXMgcHJvcGVydHkgdG8gYHNlYXJjaGAuXG4gICAqIEBkZWZhdWx0IFwic3RhbmRhcmRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRvb2xiYXJUeXBlID0gJ3N0YW5kYXJkJztcblxuICAvKipcbiAgICogVGhlIHRleHQgc3RyaW5nIHRvIHNlYXJjaCB3aXRoLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwdWJsaWMgZ2V0IGlzRmlsdGVyQmFyRGlzcGxheWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCAmJlxuICAgICAgdGhpcy5oYXNJbmxpbmVGaWx0ZXJzICYmXG4gICAgICB0aGlzLmlubGluZUZpbHRlckJhckV4cGFuZGVkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQnV0dG9uQXJpYUNvbnRyb2xzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNGaWx0ZXJCYXJEaXNwbGF5ZWQgPyB0aGlzLmxpc3RGaWx0ZXJJbmxpbmVJZCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0U2VsZWN0b3JzOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+O1xuICBwdWJsaWMgc2VhcmNoVGV4dElucHV0OiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyB2aWV3OiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyBsZWZ0VGVtcGxhdGVzOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdO1xuICBwdWJsaWMgY2VudGVyVGVtcGxhdGVzOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdO1xuICBwdWJsaWMgcmlnaHRUZW1wbGF0ZXM6IExpc3RUb29sYmFySXRlbU1vZGVsW107XG4gIHB1YmxpYyB0eXBlOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyBpc1NlYXJjaEVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBpc1Rvb2xiYXJEaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgaXNNdWx0aXNlbGVjdEVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBpc1NvcnRTZWxlY3RvckVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBhcHBsaWVkRmlsdGVyczogT2JzZXJ2YWJsZTxBcnJheTxMaXN0RmlsdGVyTW9kZWw+PjtcbiAgcHVibGljIGhhc0FwcGxpZWRGaWx0ZXJzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgc2hvd0ZpbHRlclN1bW1hcnk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNJbmxpbmVGaWx0ZXJzOiBib29sZWFuO1xuICBwdWJsaWMgaW5saW5lRmlsdGVyQmFyRXhwYW5kZWQgPSBmYWxzZTtcbiAgcHVibGljIGhhc0FkZGl0aW9uYWxUb29sYmFyU2VjdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgaGFzVmlld0FjdGlvbnMgPSBmYWxzZTtcblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uSWQgPSBgc2t5LWxpc3QtdG9vbGJhci1maWx0ZXItYnV0dG9uLSR7KytuZXh0SWR9YDtcbiAgcHVibGljIGxpc3RGaWx0ZXJJbmxpbmVJZCA9IGBza3ktbGlzdC10b29sYmFyLWZpbHRlci1pbmxpbmUtJHsrK25leHRJZH1gO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHN1Ym1pdCBhIHNlYXJjaC5cbiAgICogQGludGVybmFsXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoQXBwbGllZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIHRvb2xiYXJJdGVtczogUXVlcnlMaXN0PFNreUxpc3RUb29sYmFySXRlbUNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQpXG4gIHByaXZhdGUgdG9vbGJhclNvcnRzOiBRdWVyeUxpc3Q8U2t5TGlzdFRvb2xiYXJTb3J0Q29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKFNreUxpc3RGaWx0ZXJTdW1tYXJ5Q29tcG9uZW50KVxuICBwcml2YXRlIGZpbHRlclN1bW1hcnk6IFF1ZXJ5TGlzdDxTa3lMaXN0RmlsdGVyU3VtbWFyeUNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lMaXN0RmlsdGVySW5saW5lQ29tcG9uZW50KVxuICBwcml2YXRlIGlubGluZUZpbHRlcjogUXVlcnlMaXN0PFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5TGlzdFRvb2xiYXJWaWV3QWN0aW9uc0NvbXBvbmVudClcbiAgcHJpdmF0ZSB2aWV3QWN0aW9uczogUXVlcnlMaXN0PFNreUxpc3RUb29sYmFyVmlld0FjdGlvbnNDb21wb25lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgc2VhcmNoVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NvcnRTZWxlY3RvcicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgc29ydFNlbGVjdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lubGluZUZpbHRlckJ1dHRvbicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgaW5saW5lRmlsdGVyQnV0dG9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByaXZhdGUgY3VzdG9tSXRlbUlkczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBoYXNTb3J0U2VsZWN0b3JzID0gZmFsc2U7XG4gIHByaXZhdGUgaW5saW5lRmlsdGVyc0l0ZW1Ub29sYmFySW5kZXggPSA1MDAwO1xuICBwcml2YXRlIHNvcnRTZWxlY3Rvckl0ZW1Ub29sYmFySW5kZXggPSA2MDAwO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2luTWVtb3J5U2VhcmNoRW5hYmxlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgdG9vbGJhclN0YXRlOiBMaXN0VG9vbGJhclN0YXRlLFxuICAgIHB1YmxpYyB0b29sYmFyRGlzcGF0Y2hlcjogTGlzdFRvb2xiYXJTdGF0ZURpc3BhdGNoZXIsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlXG4gICkge1xuICAgIGxvZ2dlci5kZXByZWNhdGVkKCdTa3lMaXN0VG9vbGJhckNvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhckV4aXN0cyh0cnVlKTtcblxuICAgIGdldFZhbHVlKHRoaXMuc2VhcmNoVGV4dCwgKHNlYXJjaFRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH0pO1xuXG4gICAgZ2V0VmFsdWUodGhpcy5zZWFyY2hFbmFibGVkLCAoc2VhcmNoRW5hYmxlZDogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy50b29sYmFyRGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFRvb2xiYXJDb25maWdTZXRTZWFyY2hFbmFibGVkQWN0aW9uKFxuICAgICAgICAgIHNlYXJjaEVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBzZWFyY2hFbmFibGVkXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBnZXRWYWx1ZSh0aGlzLnRvb2xiYXJUeXBlLCAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKHRoaXMudG9vbGJhclR5cGUpKTtcbiAgICB9KTtcblxuICAgIGdldFZhbHVlKHRoaXMuc29ydFNlbGVjdG9yRW5hYmxlZCwgKHNvcnRTZWxlY3RvckVuYWJsZWQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy50b29sYmFyRGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFRvb2xiYXJDb25maWdTZXRTb3J0U2VsZWN0b3JFbmFibGVkQWN0aW9uKFxuICAgICAgICAgIHNvcnRTZWxlY3RvckVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBzb3J0U2VsZWN0b3JFbmFibGVkXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvcnRTZWxlY3RvcnMgPSB0aGlzLmdldFNvcnRTZWxlY3RvcnMoKTtcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIHNvcnQgdG9vbGJhciBpdGVtIGlmIG5lY2Vzc2FyeVxuICAgIHRoaXMuc29ydFNlbGVjdG9yc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50U29ydCkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFNvcnQubGVuZ3RoID4gMCAmJiAhdGhpcy5oYXNTb3J0U2VsZWN0b3JzKSB7XG4gICAgICAgICAgdGhpcy5oYXNTb3J0U2VsZWN0b3JzID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhckFkZEl0ZW1zKFtcbiAgICAgICAgICAgIG5ldyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIGlkOiAnc29ydC1zZWxlY3RvcicsXG4gICAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnNvcnRTZWxlY3RvclRlbXBsYXRlLFxuICAgICAgICAgICAgICBsb2NhdGlvbjogJ2xlZnQnLFxuICAgICAgICAgICAgICBpbmRleDogdGhpcy5zb3J0U2VsZWN0b3JJdGVtVG9vbGJhckluZGV4LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNvcnQubGVuZ3RoIDwgMSAmJiB0aGlzLmhhc1NvcnRTZWxlY3RvcnMpIHtcbiAgICAgICAgICB0aGlzLmhhc1NvcnRTZWxlY3RvcnMgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclJlbW92ZUl0ZW1zKFsnc29ydC1zZWxlY3RvciddKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFRleHRJbnB1dCA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zZWFyY2guc2VhcmNoVGV4dCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcblxuICAgIHRoaXMudmlldyA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy52aWV3cy5hY3RpdmUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG5cbiAgICB0aGlzLndhdGNoVGVtcGxhdGVzKCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS50b29sYmFyLnR5cGUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG5cbiAgICB0aGlzLnR5cGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0b29sYmFyVHlwZSkgPT4ge1xuICAgICAgaWYgKHRvb2xiYXJUeXBlID09PSAnc2VhcmNoJykge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclJlbW92ZUl0ZW1zKFsnc2VhcmNoJ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbXG4gICAgICAgICAgbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKHtcbiAgICAgICAgICAgIGlkOiAnc2VhcmNoJyxcbiAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnNlYXJjaFRlbXBsYXRlLFxuICAgICAgICAgICAgbG9jYXRpb246ICdyaWdodCcsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pc1NlYXJjaEVuYWJsZWQgPSB0aGlzLnRvb2xiYXJTdGF0ZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLmNvbmZpZyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoYykgPT4gYy5zZWFyY2hFbmFibGVkKVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGMpID0+IGMuZGlzYWJsZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpc0Rpc2FibGVkKSA9PiAodGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCA9IGlzRGlzYWJsZWQpKTtcblxuICAgIHRoaXMuaXNTb3J0U2VsZWN0b3JFbmFibGVkID0gdGhpcy50b29sYmFyU3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5jb25maWcpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKGMpID0+IGMuc29ydFNlbGVjdG9yRW5hYmxlZClcbiAgICApO1xuXG4gICAgdGhpcy5pc011bHRpc2VsZWN0RW5hYmxlZCA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LnNob3dNdWx0aXNlbGVjdFRvb2xiYXIpXG4gICAgKTtcblxuICAgIHRoaXMuaGFzQXBwbGllZEZpbHRlcnMgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuZmlsdGVycyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVGaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGYpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZi52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIGYudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZi52YWx1ZSAhPT0gZmFsc2UgJiZcbiAgICAgICAgICAgIGYudmFsdWUgIT09IGYuZGVmYXVsdFZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoY3VycmVudDogYW55KSA9PiB7XG4gICAgICB0aGlzLmhhc0FkZGl0aW9uYWxUb29sYmFyU2VjdGlvbiA9IGN1cnJlbnQudG9vbGJhci5pdGVtcy5sZW5ndGggPiAwO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIC8vIEluamVjdCBjdXN0b20gdG9vbGJhciBpdGVtcy5cbiAgICB0aGlzLnRvb2xiYXJJdGVtcy5mb3JFYWNoKCh0b29sYmFySXRlbSkgPT4ge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKHRvb2xiYXJJdGVtKV0pO1xuXG4gICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMucHVzaCh0b29sYmFySXRlbS5pZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRvb2xiYXJJdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG5ld0l0ZW1zOiBRdWVyeUxpc3Q8U2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICBuZXdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY3VzdG9tSXRlbUlkcy5pbmRleE9mKGl0ZW0uaWQpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKGl0ZW0pXSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3VzdG9tSXRlbUlkcy5wdXNoKGl0ZW0uaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaXRlbXNUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMuZm9yRWFjaCgoaXRlbUlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmICghbmV3SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaXRlbUlkKSkge1xuICAgICAgICAgICAgaXRlbXNUb1JlbW92ZS5wdXNoKGl0ZW1JZCk7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyUmVtb3ZlSXRlbXMoaXRlbXNUb1JlbW92ZSk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHNvcnRNb2RlbHMgPSB0aGlzLnRvb2xiYXJTb3J0cy5tYXAoXG4gICAgICAoc29ydCkgPT5cbiAgICAgICAgbmV3IExpc3RTb3J0TGFiZWxNb2RlbCh7XG4gICAgICAgICAgdGV4dDogc29ydC5sYWJlbCxcbiAgICAgICAgICBmaWVsZFNlbGVjdG9yOiBzb3J0LmZpZWxkLFxuICAgICAgICAgIGZpZWxkVHlwZTogc29ydC50eXBlLFxuICAgICAgICAgIGdsb2JhbDogdHJ1ZSxcbiAgICAgICAgICBkZXNjZW5kaW5nOiBzb3J0LmRlc2NlbmRpbmcsXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zb3J0U2V0R2xvYmFsKHNvcnRNb2RlbHMpO1xuXG4gICAgLy8gQWRkIGlubGluZSBmaWx0ZXJzLlxuICAgIHRoaXMuc2hvd0ZpbHRlclN1bW1hcnkgPSB0aGlzLmZpbHRlclN1bW1hcnkubGVuZ3RoID4gMDtcbiAgICB0aGlzLmhhc0lubGluZUZpbHRlcnMgPSB0aGlzLmlubGluZUZpbHRlci5sZW5ndGggPiAwO1xuXG4gICAgaWYgKHRoaXMuaGFzSW5saW5lRmlsdGVycykge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbXG4gICAgICAgIG5ldyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCh7XG4gICAgICAgICAgdGVtcGxhdGU6IHRoaXMuaW5saW5lRmlsdGVyQnV0dG9uVGVtcGxhdGUsXG4gICAgICAgICAgbG9jYXRpb246ICdsZWZ0JyxcbiAgICAgICAgICBpbmRleDogdGhpcy5pbmxpbmVGaWx0ZXJzSXRlbVRvb2xiYXJJbmRleCxcbiAgICAgICAgfSksXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgdmlldyBhY3Rpb25zXG4gICAgdGhpcy5oYXNWaWV3QWN0aW9ucyA9IHRoaXMudmlld0FjdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlYXJjaEFwcGxpZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFNvcnQoc29ydDogTGlzdFNvcnRMYWJlbE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY3VycmVudFN0YXRlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgIT09IDFcbiAgICAgICkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5zb3J0U2V0RmllbGRTZWxlY3RvcnMoW1xuICAgICAgICB7IGZpZWxkU2VsZWN0b3I6IHNvcnQuZmllbGRTZWxlY3RvciwgZGVzY2VuZGluZzogc29ydC5kZXNjZW5kaW5nIH0sXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbmxpbmVGaWx0ZXJCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmlubGluZUZpbHRlckJhckV4cGFuZGVkID0gIXRoaXMuaW5saW5lRmlsdGVyQmFyRXhwYW5kZWQ7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaEFwcGxpZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgICBpZiAodGhpcy5pbk1lbW9yeVNlYXJjaEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc3RhdGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGN1cnJlbnRTdGF0ZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY3VycmVudFN0YXRlLnBhZ2luZy5wYWdlTnVtYmVyICYmXG4gICAgICAgICAgY3VycmVudFN0YXRlLnBhZ2luZy5wYWdlTnVtYmVyICE9PSAxXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbihOdW1iZXIoMSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRUZXh0KHNlYXJjaFRleHQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpdGVtSXNJblZpZXcoaXRlbVZpZXc6IHN0cmluZywgYWN0aXZlVmlldzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGl0ZW1WaWV3ID09PSB1bmRlZmluZWQgfHwgaXRlbVZpZXcgPT09IGFjdGl2ZVZpZXc7XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRTZWxlY3RvcnMoKSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNvcnQuYXZhaWxhYmxlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0Lmdsb2JhbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuc29ydC5maWVsZFNlbGVjdG9ycyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICAoXG4gICAgICAgIGF2YWlsYWJsZTogQXJyYXk8TGlzdFNvcnRMYWJlbE1vZGVsPixcbiAgICAgICAgZ2xvYmFsOiBBcnJheTxMaXN0U29ydExhYmVsTW9kZWw+LFxuICAgICAgICBmaWVsZFNlbGVjdG9yczogQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+XG4gICAgICApID0+IHtcbiAgICAgICAgLy8gR2V0IHNvcnRzIHRoYXQgYXJlIGluIHRoZSBnbG9iYWwgdGhhdCBhcmUgbm90IGluIHRoZSBhdmFpbGFibGVcbiAgICAgICAgY29uc3Qgc29ydHMgPSBnbG9iYWwuZmlsdGVyKFxuICAgICAgICAgIChnKSA9PlxuICAgICAgICAgICAgYXZhaWxhYmxlLmZpbHRlcigoYSkgPT4gYS5maWVsZFNlbGVjdG9yID09PSBnLmZpZWxkU2VsZWN0b3IpXG4gICAgICAgICAgICAgIC5sZW5ndGggPT09IDBcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCByZXN1bHRTb3J0U2VsZWN0b3JzID0gWy4uLnNvcnRzLCAuLi5hdmFpbGFibGVdLm1hcChcbiAgICAgICAgICAoc29ydExhYmVscykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZnMgPSBmaWVsZFNlbGVjdG9ycy5maWx0ZXIoKGYpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBmLmZpZWxkU2VsZWN0b3IgPT09IHNvcnRMYWJlbHMuZmllbGRTZWxlY3RvciAmJlxuICAgICAgICAgICAgICAgIGYuZGVzY2VuZGluZyA9PT0gc29ydExhYmVscy5kZXNjZW5kaW5nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGZzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBzb3J0OiBzb3J0TGFiZWxzLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0U29ydFNlbGVjdG9ycztcbiAgICAgIH1cbiAgICApLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaFRlbXBsYXRlcygpIHtcbiAgICBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMudmlldy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgKHRvb2xiYXI6IExpc3RUb29sYmFyTW9kZWwsIHZpZXc6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRvb2xiYXIuaXRlbXMuZmlsdGVyKChpOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1Jc0luVmlldyhpLnZpZXcsIHZpZXcpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZXM6IGFueSA9IHt9O1xuXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IExpc3RUb29sYmFySXRlbU1vZGVsKSA9PiB7XG4gICAgICAgICAgdGVtcGxhdGVzW2l0ZW0ubG9jYXRpb25dID0gdGVtcGxhdGVzW2l0ZW0ubG9jYXRpb25dIHx8IFtdO1xuICAgICAgICAgIHRlbXBsYXRlc1tpdGVtLmxvY2F0aW9uXS5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGVtcGxhdGVzO1xuICAgICAgfVxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5sZWZ0VGVtcGxhdGVzID0gdmFsdWUubGVmdDtcbiAgICAgICAgdGhpcy5jZW50ZXJUZW1wbGF0ZXMgPSB2YWx1ZS5jZW50ZXI7XG4gICAgICAgIHRoaXMucmlnaHRUZW1wbGF0ZXMgPSB2YWx1ZS5yaWdodDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3QtdG9vbGJhci1jb250YWluZXJcIj5cbiAgPHNreS10b29sYmFyICpuZ0lmPVwiKHR5cGUgfCBhc3luYykgIT09ICdzZWFyY2gnXCI+XG4gICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsZWZ0VGVtcGxhdGVzXCI+XG4gICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgIFt0ZW1wbGF0ZV09XCJpdGVtLnRlbXBsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlcj5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNlbnRlclRlbXBsYXRlc1wiPlxuICAgICAgICA8c2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXI+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiByaWdodFRlbXBsYXRlc1wiXG4gICAgICAgIFthdHRyLnNreS10b29sYmFyLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXI+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucyAqbmdJZj1cImhhc1ZpZXdBY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXRvb2xiYXItdmlldy1hY3Rpb25zXCI+IDwvbmctY29udGVudD5cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cblxuICAgIDxza3ktdG9vbGJhci1zZWN0aW9uXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJTdW1tYXJ5ICYmIChoYXNBcHBsaWVkRmlsdGVycyB8IGFzeW5jKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlcIj4gPC9uZy1jb250ZW50PlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgPC9za3ktdG9vbGJhcj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgICh0eXBlIHwgYXN5bmMpID09PSAnc2VhcmNoJyAmJlxuICAgICAgKChpc1NlYXJjaEVuYWJsZWQgfCBhc3luYykgfHwgaGFzQWRkaXRpb25hbFRvb2xiYXJTZWN0aW9uKVxuICAgIFwiXG4gICAgY2xhc3M9XCJza3ktbGlzdC10b29sYmFyLXNlYXJjaFwiXG4gID5cbiAgICA8c2t5LXRvb2xiYXI+XG4gICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbiAqbmdJZj1cImlzU2VhcmNoRW5hYmxlZCB8IGFzeW5jXCI+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIHNreS1jbXAtaWQ9XCJzZWFyY2hcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cInNlYXJjaFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbiBbaGlkZGVuXT1cIiFoYXNBZGRpdGlvbmFsVG9vbGJhclNlY3Rpb25cIj5cbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGVmdFRlbXBsYXRlc1wiPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNlbnRlclRlbXBsYXRlc1wiPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmlnaHRUZW1wbGF0ZXNcIlxuICAgICAgICAgIFthdHRyLnNreS10b29sYmFyLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlclxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmlkICE9PSAnc2VhcmNoJ1wiXG4gICAgICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cIml0ZW0udGVtcGxhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3NreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlcj5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucyAqbmdJZj1cImhhc1ZpZXdBY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWxpc3QtdG9vbGJhci12aWV3LWFjdGlvbnNcIj4gPC9uZy1jb250ZW50PlxuICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8L3NreS10b29sYmFyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaXNGaWx0ZXJCYXJEaXNwbGF5ZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJmaWx0ZXJCdXR0b25JZFwiXG4gICAgW2lkXT1cImxpc3RGaWx0ZXJJbmxpbmVJZFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbGlzdC1maWx0ZXItaW5saW5lXCI+IDwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxza3ktbGlzdC1tdWx0aXNlbGVjdC10b29sYmFyICpuZ0lmPVwiaXNNdWx0aXNlbGVjdEVuYWJsZWQgfCBhc3luY1wiPlxuICA8L3NreS1saXN0LW11bHRpc2VsZWN0LXRvb2xiYXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2g+XG4gIDxkaXYgKm5nSWY9XCJpc1NlYXJjaEVuYWJsZWQgfCBhc3luY1wiIGNsYXNzPVwic2t5LWxpc3QtdG9vbGJhci1zZWFyY2gtd3JhcHBlclwiPlxuICAgIDxza3ktc2VhcmNoXG4gICAgICBbZGlzYWJsZWRdPVwiaXNUb29sYmFyRGlzYWJsZWRcIlxuICAgICAgW2V4cGFuZE1vZGVdPVwiKHR5cGUgfCBhc3luYykgPT09ICdzZWFyY2gnID8gJ2ZpdCcgOiAncmVzcG9uc2l2ZSdcIlxuICAgICAgW3BsYWNlaG9sZGVyVGV4dF09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbc2VhcmNoVGV4dF09XCJzZWFyY2hUZXh0SW5wdXQgfCBhc3luY1wiXG4gICAgICAoc2VhcmNoQXBwbHkpPVwidXBkYXRlU2VhcmNoVGV4dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9za3ktc2VhcmNoPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXRvb2xiYXItc2VhcmNoLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzb3J0U2VsZWN0b3I+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgKGlzU29ydFNlbGVjdG9yRW5hYmxlZCB8IGFzeW5jKSAmJiAoc29ydFNlbGVjdG9ycyB8IGFzeW5jKS5sZW5ndGggPiAwXG4gICAgXCJcbiAgICBjbGFzcz1cInNreS10b29sYmFyLWl0ZW0tc29ydC1jb250YWluZXJcIlxuICA+XG4gICAgPHNreS1zb3J0IFtzaG93QnV0dG9uVGV4dF09XCJ0cnVlXCI+XG4gICAgICA8c2t5LXNvcnQtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzb3J0U2VsZWN0b3JzIHwgYXN5bmNcIlxuICAgICAgICBbYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAoaXRlbVNlbGVjdCk9XCJzZXRTb3J0KGl0ZW0uc29ydClcIlxuICAgICAgPlxuICAgICAgICB7eyBpdGVtLnNvcnQudGV4dCB9fVxuICAgICAgPC9za3ktc29ydC1pdGVtPlxuICAgIDwvc2t5LXNvcnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbmxpbmVGaWx0ZXJCdXR0b24+XG4gIDxza3ktZmlsdGVyLWJ1dHRvblxuICAgIFthY3RpdmVdPVwiaGFzQXBwbGllZEZpbHRlcnMgfCBhc3luY1wiXG4gICAgW2FyaWFDb250cm9sc109XCJmaWx0ZXJCdXR0b25BcmlhQ29udHJvbHNcIlxuICAgIFthcmlhRXhwYW5kZWRdPVwiaW5saW5lRmlsdGVyQmFyRXhwYW5kZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpc1Rvb2xiYXJEaXNhYmxlZFwiXG4gICAgW2ZpbHRlckJ1dHRvbklkXT1cImZpbHRlckJ1dHRvbklkXCJcbiAgICBbc2hvd0J1dHRvblRleHRdPVwidHJ1ZVwiXG4gICAgKGZpbHRlckJ1dHRvbkNsaWNrKT1cImlubGluZUZpbHRlckJ1dHRvbkNsaWNrKClcIlxuICA+XG4gIDwvc2t5LWZpbHRlci1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUlMLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsR0FDekMsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUc5RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUdoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNoSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVwRSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7O0dBR0c7QUFZSCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDOzs7Ozs7T0FNRztJQUNILElBQ1cscUJBQXFCLENBQUMsS0FBYztRQUM3QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUE2Q0QsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLHdCQUF3QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDekUsQ0FBQztJQXdFRCxZQUNVLGNBQWlDLEVBQ2pDLEtBQWdCLEVBQ2hCLFVBQStCLEVBQy9CLFlBQThCLEVBQy9CLGlCQUE2QyxFQUNwRCxNQUFxQjtRQUxiLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUMvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBdEd0RDs7Ozs7V0FLRztRQUVJLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBNEJ6QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFPMUIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUNwQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixtQkFBYyxHQUFHLGtDQUFrQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQzlELHVCQUFrQixHQUFHLGtDQUFrQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXpFOzs7O1dBSUc7UUFDSSxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBbUN0RCxrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsa0NBQTZCLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLGlDQUE0QixHQUFHLElBQUksQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFZMUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsRUFBRTtZQUMzQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLFdBQVcsRUFDVCwrREFBK0Q7WUFDakUseUJBQXlCLEVBQUUsMkJBQTJCO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxhQUFzQixFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDekIsSUFBSSx1Q0FBdUMsQ0FDekMsYUFBYSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQ25ELENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLG1CQUF3QixFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDekIsSUFBSSw2Q0FBNkMsQ0FDL0MsbUJBQW1CLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUMvRCxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFN0MsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxhQUFhO2FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQzthQUMzRCxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN6QixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUNwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztvQkFDOUIsSUFBSSxvQkFBb0IsQ0FBQzt3QkFDdkIsRUFBRSxFQUFFLGVBQWU7d0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CO3dCQUNuQyxRQUFRLEVBQUUsTUFBTTt3QkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyw0QkFBNEI7cUJBQ3pDLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO2FBQ0o7aUJBQU0sSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQ3pDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQ3BDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUM1QyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RFLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7b0JBQzlCLElBQUksb0JBQW9CLENBQUM7d0JBQ3ZCLEVBQUUsRUFBRSxRQUFRO3dCQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYzt3QkFDN0IsUUFBUSxFQUFFLE9BQU87cUJBQ2xCLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUM5QixvQkFBb0IsRUFBRSxFQUN0QixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FDdEMsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLO2FBQ1AsSUFBSSxDQUNILGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixvQkFBb0IsRUFBRSxFQUN0QixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDakM7YUFDQSxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FDNUMsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDekMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQy9CLG9CQUFvQixFQUFFLEVBQ3RCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQy9DLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUMvQixvQkFBb0IsRUFBRSxFQUN0QixhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FDTCxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7b0JBQ2QsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTO29CQUNyQixDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUs7b0JBQ2pCLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FDM0IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLCtCQUErQjtRQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFekUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLFFBQWdELEVBQUUsRUFBRTtZQUM5RCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNsQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFDO1lBRW5DLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRTtvQkFDaEQsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNyQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVMLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUN0QyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxrQkFBa0IsQ0FBQztZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDaEIsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixNQUFNLEVBQUUsSUFBSTtZQUNaLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFDLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFckQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7Z0JBQzlCLElBQUksb0JBQW9CLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsMEJBQTBCO29CQUN6QyxRQUFRLEVBQUUsTUFBTTtvQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyw2QkFBNkI7aUJBQzFDLENBQUM7YUFDSCxDQUFDLENBQUM7U0FDSjtRQUVELHlCQUF5QjtRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQXdCO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2xELElBQ0UsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUM5QixZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQ3BDO2dCQUNBLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtZQUVELElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUM7Z0JBQ3BDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDbkUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUMvRCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBa0I7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ2xELElBQ0UsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVO29CQUM5QixZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQ3BDO29CQUNBLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDcEU7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxVQUFrQjtRQUN2RCxPQUFPLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUMzRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sdUJBQXVCLENBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDdEMsb0JBQW9CLEVBQUUsQ0FDdkIsRUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ25DLG9CQUFvQixFQUFFLENBQ3ZCLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2IsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUMzQyxvQkFBb0IsRUFBRSxDQUN2QixFQUNELENBQ0UsU0FBb0MsRUFDcEMsTUFBaUMsRUFDakMsY0FBaUQsRUFDakQsRUFBRTtZQUNGLGlFQUFpRTtZQUNqRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN6QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO2lCQUN6RCxNQUFNLEtBQUssQ0FBQyxDQUNsQixDQUFDO1lBRUYsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUN0RCxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNiLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDckMsT0FBTyxDQUNMLENBQUMsQ0FBQyxhQUFhLEtBQUssVUFBVSxDQUFDLGFBQWE7d0JBQzVDLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLFVBQVUsQ0FDdkMsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ2pCLFFBQVEsR0FBRyxJQUFJLENBQUM7aUJBQ2pCO2dCQUVELE9BQU87b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxRQUFRO2lCQUNuQixDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7WUFFRixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLENBQUMsQ0FDRixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGNBQWM7UUFDcEIsdUJBQXVCLENBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUMvQixvQkFBb0IsRUFBRSxDQUN2QixFQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFDdEMsQ0FBQyxPQUF5QixFQUFFLElBQVksRUFBRSxFQUFFO1lBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBdUIsRUFBRSxFQUFFO2dCQUM3RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sU0FBUyxHQUFRLEVBQUUsQ0FBQztZQUUxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBMEIsRUFBRSxFQUFFO2dCQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMxRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FDRjthQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEF0ZVUsdUJBQXVCO3lHQUF2Qix1QkFBdUIscVFBUHZCO1FBQ1QsZ0JBQWdCO1FBQ2hCLDBCQUEwQjtRQUMxQixxQkFBcUI7S0FDdEIsdURBNkdnQiwyQkFBMkIsK0NBRzNCLDJCQUEyQixnREFHM0IsNkJBQTZCLCtDQUc3Qiw0QkFBNEIsOENBRzVCLGtDQUFrQyw4RUFqRnhDLGtCQUFrQiwyQkFDckIsa0JBQWtCLG1HQW9GbEIsV0FBVyw2SEFNWCxXQUFXLHlJQU1YLFdBQVcsMkNDek1yQixnNEpBcUpBOzRGRGxGYSx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCO3dCQUNULGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7cUJBQ3RCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3NRQWFwQyxxQkFBcUI7c0JBRC9CLEtBQUs7Z0JBa0JDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBUUMsYUFBYTtzQkFEbkIsS0FBSztnQkFPQyxlQUFlO3NCQUpyQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsa0JBQWtCO3dCQUN4QixNQUFNLEVBQUUsS0FBSztxQkFDZDtnQkFRTSxtQkFBbUI7c0JBRHpCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsS0FBSztnQkFPQyxVQUFVO3NCQURoQixLQUFLO2dCQTZDRSxZQUFZO3NCQURuQixlQUFlO3VCQUFDLDJCQUEyQjtnQkFJcEMsWUFBWTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBSXBDLGFBQWE7c0JBRHBCLGVBQWU7dUJBQUMsNkJBQTZCO2dCQUl0QyxZQUFZO3NCQURuQixlQUFlO3VCQUFDLDRCQUE0QjtnQkFJckMsV0FBVztzQkFEbEIsZUFBZTt1QkFBQyxrQ0FBa0M7Z0JBTzNDLGNBQWM7c0JBSnJCLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT08sb0JBQW9CO3NCQUozQixTQUFTO3VCQUFDLGNBQWMsRUFBRTt3QkFDekIsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9PLDBCQUEwQjtzQkFKakMsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRTt3QkFDL0IsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IGdldFZhbHVlIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5pbXBvcnQgeyBTa3lTZWFyY2hDb21wb25lbnQgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwIGFzIG9ic2VydmFibGVNYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0RmlsdGVyU3VtbWFyeUNvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuaW1wb3J0IHsgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24gfSBmcm9tICcuLi9saXN0L3N0YXRlL3BhZ2luZy9zZXQtcGFnZS1udW1iZXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TGFiZWxNb2RlbCB9IGZyb20gJy4uL2xpc3Qvc3RhdGUvc29ydC9sYWJlbC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclNldFR5cGVBY3Rpb24gfSBmcm9tICcuLi9saXN0L3N0YXRlL3Rvb2xiYXIvc2V0LXR5cGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbU1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS90b29sYmFyL3Rvb2xiYXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhck1vZGVsIH0gZnJvbSAnLi4vbGlzdC9zdGF0ZS90b29sYmFyL3Rvb2xiYXIubW9kZWwnO1xuXG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG9vbGJhci1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lMaXN0VG9vbGJhclZpZXdBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXItdmlldy1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhckNvbmZpZ1NldFNlYXJjaEVuYWJsZWRBY3Rpb24gfSBmcm9tICcuL3N0YXRlL2NvbmZpZy9zZXQtc2VhcmNoLWVuYWJsZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyQ29uZmlnU2V0U29ydFNlbGVjdG9yRW5hYmxlZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvY29uZmlnL3NldC1zb3J0LXNlbGVjdG9yLWVuYWJsZWQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyU3RhdGVNb2RlbCB9IGZyb20gJy4vc3RhdGUvdG9vbGJhci1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0VG9vbGJhclN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvdG9vbGJhci1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RUb29sYmFyU3RhdGUgfSBmcm9tICcuL3N0YXRlL3Rvb2xiYXItc3RhdGUuc3RhdGUtbm9kZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgdG9vbGJhciBmb3IgYSBTS1kgVVgtdGhlbWVkIGxpc3Qgb2YgZGF0YS5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1saXN0LXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC10b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIExpc3RUb29sYmFyU3RhdGUsXG4gICAgTGlzdFRvb2xiYXJTdGF0ZURpc3BhdGNoZXIsXG4gICAgTGlzdFRvb2xiYXJTdGF0ZU1vZGVsLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TGlzdFRvb2xiYXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgdGhlIGluLW1lbW9yeSBzZWFyY2guXG4gICAqIFNldHRpbmcgdGhpcyB0byBgZmFsc2VgIHdpbGwgYWxsb3cgY29uc3VtZXJzIHRvIHJ1biB0aGVpciBvd24gc2VhcmNoZXMgcmVtb3RlbHksXG4gICAqIGFuZCBwdXNoIG5ldyB2YWx1ZXMgdG8gdGhlIGxpc3QgY29tcG9uZW50IGJ5IHVwZGF0aW5nIHRoZSBgZGF0YWAgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGluTWVtb3J5U2VhcmNoRW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpbk1lbW9yeVNlYXJjaEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2luTWVtb3J5U2VhcmNoRW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgc2VhcmNoIGJhciB0aGF0IHRoZSBsaXN0IHRvb2xiYXIgY3JlYXRlcyB3aXRoXG4gICAqIGEgW3NlYXJjaCBjb21wb25lbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9zZWFyY2gpLlxuICAgKiBAZGVmYXVsdCBcIkZpbmQgaW4gdGhpcyBsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgc2VhcmNoIGJhci5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaEVuYWJsZWQ6IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBWaWV3Q2hpbGQoU2t5U2VhcmNoQ29tcG9uZW50LCB7XG4gICAgcmVhZDogU2t5U2VhcmNoQ29tcG9uZW50LFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHB1YmxpYyBzZWFyY2hDb21wb25lbnQ6IFNreVNlYXJjaENvbXBvbmVudDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIHNvcnQgc2VsZWN0b3IuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydFNlbGVjdG9yRW5hYmxlZDogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgdGhlIHNlYXJjaCBiYXIgaW4gdGhlIHN0YW5kYXJkIHBvc2l0aW9uIG9yIGluIGEgc2VwYXJhdGUgc2VjdGlvbi5cbiAgICogVG8gaGlnaGxpZ2h0IHRoZSBzZWFyY2ggYmFyIGluIGEgc2VjdGlvbiBhYm92ZSBhbGwgb3RoZXIgdG9vbGJhciBpdGVtcyxcbiAgICogc2V0IHRoaXMgcHJvcGVydHkgdG8gYHNlYXJjaGAuXG4gICAqIEBkZWZhdWx0IFwic3RhbmRhcmRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRvb2xiYXJUeXBlID0gJ3N0YW5kYXJkJztcblxuICAvKipcbiAgICogVGhlIHRleHQgc3RyaW5nIHRvIHNlYXJjaCB3aXRoLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwdWJsaWMgZ2V0IGlzRmlsdGVyQmFyRGlzcGxheWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCAmJlxuICAgICAgdGhpcy5oYXNJbmxpbmVGaWx0ZXJzICYmXG4gICAgICB0aGlzLmlubGluZUZpbHRlckJhckV4cGFuZGVkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQnV0dG9uQXJpYUNvbnRyb2xzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNGaWx0ZXJCYXJEaXNwbGF5ZWQgPyB0aGlzLmxpc3RGaWx0ZXJJbmxpbmVJZCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0U2VsZWN0b3JzOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+O1xuICBwdWJsaWMgc2VhcmNoVGV4dElucHV0OiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyB2aWV3OiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyBsZWZ0VGVtcGxhdGVzOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdO1xuICBwdWJsaWMgY2VudGVyVGVtcGxhdGVzOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdO1xuICBwdWJsaWMgcmlnaHRUZW1wbGF0ZXM6IExpc3RUb29sYmFySXRlbU1vZGVsW107XG4gIHB1YmxpYyB0eXBlOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHB1YmxpYyBpc1NlYXJjaEVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBpc1Rvb2xiYXJEaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgaXNNdWx0aXNlbGVjdEVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBpc1NvcnRTZWxlY3RvckVuYWJsZWQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHB1YmxpYyBhcHBsaWVkRmlsdGVyczogT2JzZXJ2YWJsZTxBcnJheTxMaXN0RmlsdGVyTW9kZWw+PjtcbiAgcHVibGljIGhhc0FwcGxpZWRGaWx0ZXJzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgc2hvd0ZpbHRlclN1bW1hcnk6IGJvb2xlYW47XG4gIHB1YmxpYyBoYXNJbmxpbmVGaWx0ZXJzOiBib29sZWFuO1xuICBwdWJsaWMgaW5saW5lRmlsdGVyQmFyRXhwYW5kZWQgPSBmYWxzZTtcbiAgcHVibGljIGhhc0FkZGl0aW9uYWxUb29sYmFyU2VjdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgaGFzVmlld0FjdGlvbnMgPSBmYWxzZTtcblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uSWQgPSBgc2t5LWxpc3QtdG9vbGJhci1maWx0ZXItYnV0dG9uLSR7KytuZXh0SWR9YDtcbiAgcHVibGljIGxpc3RGaWx0ZXJJbmxpbmVJZCA9IGBza3ktbGlzdC10b29sYmFyLWZpbHRlci1pbmxpbmUtJHsrK25leHRJZH1gO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHN1Ym1pdCBhIHNlYXJjaC5cbiAgICogQGludGVybmFsXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoQXBwbGllZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIHRvb2xiYXJJdGVtczogUXVlcnlMaXN0PFNreUxpc3RUb29sYmFySXRlbUNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQpXG4gIHByaXZhdGUgdG9vbGJhclNvcnRzOiBRdWVyeUxpc3Q8U2t5TGlzdFRvb2xiYXJTb3J0Q29tcG9uZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKFNreUxpc3RGaWx0ZXJTdW1tYXJ5Q29tcG9uZW50KVxuICBwcml2YXRlIGZpbHRlclN1bW1hcnk6IFF1ZXJ5TGlzdDxTa3lMaXN0RmlsdGVyU3VtbWFyeUNvbXBvbmVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lMaXN0RmlsdGVySW5saW5lQ29tcG9uZW50KVxuICBwcml2YXRlIGlubGluZUZpbHRlcjogUXVlcnlMaXN0PFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5TGlzdFRvb2xiYXJWaWV3QWN0aW9uc0NvbXBvbmVudClcbiAgcHJpdmF0ZSB2aWV3QWN0aW9uczogUXVlcnlMaXN0PFNreUxpc3RUb29sYmFyVmlld0FjdGlvbnNDb21wb25lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgc2VhcmNoVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NvcnRTZWxlY3RvcicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgc29ydFNlbGVjdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lubGluZUZpbHRlckJ1dHRvbicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgaW5saW5lRmlsdGVyQnV0dG9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIHByaXZhdGUgY3VzdG9tSXRlbUlkczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBoYXNTb3J0U2VsZWN0b3JzID0gZmFsc2U7XG4gIHByaXZhdGUgaW5saW5lRmlsdGVyc0l0ZW1Ub29sYmFySW5kZXggPSA1MDAwO1xuICBwcml2YXRlIHNvcnRTZWxlY3Rvckl0ZW1Ub29sYmFySW5kZXggPSA2MDAwO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2luTWVtb3J5U2VhcmNoRW5hYmxlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgdG9vbGJhclN0YXRlOiBMaXN0VG9vbGJhclN0YXRlLFxuICAgIHB1YmxpYyB0b29sYmFyRGlzcGF0Y2hlcjogTGlzdFRvb2xiYXJTdGF0ZURpc3BhdGNoZXIsXG4gICAgbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlXG4gICkge1xuICAgIGxvZ2dlci5kZXByZWNhdGVkKCdTa3lMaXN0VG9vbGJhckNvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhckV4aXN0cyh0cnVlKTtcblxuICAgIGdldFZhbHVlKHRoaXMuc2VhcmNoVGV4dCwgKHNlYXJjaFRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH0pO1xuXG4gICAgZ2V0VmFsdWUodGhpcy5zZWFyY2hFbmFibGVkLCAoc2VhcmNoRW5hYmxlZDogYm9vbGVhbikgPT4ge1xuICAgICAgdGhpcy50b29sYmFyRGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFRvb2xiYXJDb25maWdTZXRTZWFyY2hFbmFibGVkQWN0aW9uKFxuICAgICAgICAgIHNlYXJjaEVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBzZWFyY2hFbmFibGVkXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBnZXRWYWx1ZSh0aGlzLnRvb2xiYXJUeXBlLCAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFRvb2xiYXJTZXRUeXBlQWN0aW9uKHRoaXMudG9vbGJhclR5cGUpKTtcbiAgICB9KTtcblxuICAgIGdldFZhbHVlKHRoaXMuc29ydFNlbGVjdG9yRW5hYmxlZCwgKHNvcnRTZWxlY3RvckVuYWJsZWQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy50b29sYmFyRGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdFRvb2xiYXJDb25maWdTZXRTb3J0U2VsZWN0b3JFbmFibGVkQWN0aW9uKFxuICAgICAgICAgIHNvcnRTZWxlY3RvckVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBzb3J0U2VsZWN0b3JFbmFibGVkXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvcnRTZWxlY3RvcnMgPSB0aGlzLmdldFNvcnRTZWxlY3RvcnMoKTtcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIHNvcnQgdG9vbGJhciBpdGVtIGlmIG5lY2Vzc2FyeVxuICAgIHRoaXMuc29ydFNlbGVjdG9yc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChjdXJyZW50U29ydCkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFNvcnQubGVuZ3RoID4gMCAmJiAhdGhpcy5oYXNTb3J0U2VsZWN0b3JzKSB7XG4gICAgICAgICAgdGhpcy5oYXNTb3J0U2VsZWN0b3JzID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhckFkZEl0ZW1zKFtcbiAgICAgICAgICAgIG5ldyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIGlkOiAnc29ydC1zZWxlY3RvcicsXG4gICAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnNvcnRTZWxlY3RvclRlbXBsYXRlLFxuICAgICAgICAgICAgICBsb2NhdGlvbjogJ2xlZnQnLFxuICAgICAgICAgICAgICBpbmRleDogdGhpcy5zb3J0U2VsZWN0b3JJdGVtVG9vbGJhckluZGV4LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNvcnQubGVuZ3RoIDwgMSAmJiB0aGlzLmhhc1NvcnRTZWxlY3RvcnMpIHtcbiAgICAgICAgICB0aGlzLmhhc1NvcnRTZWxlY3RvcnMgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclJlbW92ZUl0ZW1zKFsnc29ydC1zZWxlY3RvciddKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnNlYXJjaFRleHRJbnB1dCA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zZWFyY2guc2VhcmNoVGV4dCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcblxuICAgIHRoaXMudmlldyA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy52aWV3cy5hY3RpdmUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG5cbiAgICB0aGlzLndhdGNoVGVtcGxhdGVzKCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHN0YXRlKSA9PiBzdGF0ZS50b29sYmFyLnR5cGUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG5cbiAgICB0aGlzLnR5cGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0b29sYmFyVHlwZSkgPT4ge1xuICAgICAgaWYgKHRvb2xiYXJUeXBlID09PSAnc2VhcmNoJykge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIudG9vbGJhclJlbW92ZUl0ZW1zKFsnc2VhcmNoJ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbXG4gICAgICAgICAgbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKHtcbiAgICAgICAgICAgIGlkOiAnc2VhcmNoJyxcbiAgICAgICAgICAgIHRlbXBsYXRlOiB0aGlzLnNlYXJjaFRlbXBsYXRlLFxuICAgICAgICAgICAgbG9jYXRpb246ICdyaWdodCcsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pc1NlYXJjaEVuYWJsZWQgPSB0aGlzLnRvb2xiYXJTdGF0ZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLmNvbmZpZyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoYykgPT4gYy5zZWFyY2hFbmFibGVkKVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGMpID0+IGMuZGlzYWJsZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpc0Rpc2FibGVkKSA9PiAodGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCA9IGlzRGlzYWJsZWQpKTtcblxuICAgIHRoaXMuaXNTb3J0U2VsZWN0b3JFbmFibGVkID0gdGhpcy50b29sYmFyU3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5jb25maWcpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKGMpID0+IGMuc29ydFNlbGVjdG9yRW5hYmxlZClcbiAgICApO1xuXG4gICAgdGhpcy5pc011bHRpc2VsZWN0RW5hYmxlZCA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBvYnNlcnZhYmxlTWFwKCh0KSA9PiB0LnNob3dNdWx0aXNlbGVjdFRvb2xiYXIpXG4gICAgKTtcblxuICAgIHRoaXMuaGFzQXBwbGllZEZpbHRlcnMgPSB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuZmlsdGVycyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgb2JzZXJ2YWJsZU1hcCgoZmlsdGVycykgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVGaWx0ZXJzID0gZmlsdGVycy5maWx0ZXIoKGYpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZi52YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgIGYudmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZi52YWx1ZSAhPT0gZmFsc2UgJiZcbiAgICAgICAgICAgIGYudmFsdWUgIT09IGYuZGVmYXVsdFZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN0YXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoY3VycmVudDogYW55KSA9PiB7XG4gICAgICB0aGlzLmhhc0FkZGl0aW9uYWxUb29sYmFyU2VjdGlvbiA9IGN1cnJlbnQudG9vbGJhci5pdGVtcy5sZW5ndGggPiAwO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIC8vIEluamVjdCBjdXN0b20gdG9vbGJhciBpdGVtcy5cbiAgICB0aGlzLnRvb2xiYXJJdGVtcy5mb3JFYWNoKCh0b29sYmFySXRlbSkgPT4ge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKHRvb2xiYXJJdGVtKV0pO1xuXG4gICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMucHVzaCh0b29sYmFySXRlbS5pZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRvb2xiYXJJdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG5ld0l0ZW1zOiBRdWVyeUxpc3Q8U2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICBuZXdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY3VzdG9tSXRlbUlkcy5pbmRleE9mKGl0ZW0uaWQpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbbmV3IExpc3RUb29sYmFySXRlbU1vZGVsKGl0ZW0pXSk7XG5cbiAgICAgICAgICAgIHRoaXMuY3VzdG9tSXRlbUlkcy5wdXNoKGl0ZW0uaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaXRlbXNUb1JlbW92ZTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMuZm9yRWFjaCgoaXRlbUlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmICghbmV3SXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaXRlbUlkKSkge1xuICAgICAgICAgICAgaXRlbXNUb1JlbW92ZS5wdXNoKGl0ZW1JZCk7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUl0ZW1JZHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci50b29sYmFyUmVtb3ZlSXRlbXMoaXRlbXNUb1JlbW92ZSk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHNvcnRNb2RlbHMgPSB0aGlzLnRvb2xiYXJTb3J0cy5tYXAoXG4gICAgICAoc29ydCkgPT5cbiAgICAgICAgbmV3IExpc3RTb3J0TGFiZWxNb2RlbCh7XG4gICAgICAgICAgdGV4dDogc29ydC5sYWJlbCxcbiAgICAgICAgICBmaWVsZFNlbGVjdG9yOiBzb3J0LmZpZWxkLFxuICAgICAgICAgIGZpZWxkVHlwZTogc29ydC50eXBlLFxuICAgICAgICAgIGdsb2JhbDogdHJ1ZSxcbiAgICAgICAgICBkZXNjZW5kaW5nOiBzb3J0LmRlc2NlbmRpbmcsXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hlci5zb3J0U2V0R2xvYmFsKHNvcnRNb2RlbHMpO1xuXG4gICAgLy8gQWRkIGlubGluZSBmaWx0ZXJzLlxuICAgIHRoaXMuc2hvd0ZpbHRlclN1bW1hcnkgPSB0aGlzLmZpbHRlclN1bW1hcnkubGVuZ3RoID4gMDtcbiAgICB0aGlzLmhhc0lubGluZUZpbHRlcnMgPSB0aGlzLmlubGluZUZpbHRlci5sZW5ndGggPiAwO1xuXG4gICAgaWYgKHRoaXMuaGFzSW5saW5lRmlsdGVycykge1xuICAgICAgdGhpcy5kaXNwYXRjaGVyLnRvb2xiYXJBZGRJdGVtcyhbXG4gICAgICAgIG5ldyBMaXN0VG9vbGJhckl0ZW1Nb2RlbCh7XG4gICAgICAgICAgdGVtcGxhdGU6IHRoaXMuaW5saW5lRmlsdGVyQnV0dG9uVGVtcGxhdGUsXG4gICAgICAgICAgbG9jYXRpb246ICdsZWZ0JyxcbiAgICAgICAgICBpbmRleDogdGhpcy5pbmxpbmVGaWx0ZXJzSXRlbVRvb2xiYXJJbmRleCxcbiAgICAgICAgfSksXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgdmlldyBhY3Rpb25zXG4gICAgdGhpcy5oYXNWaWV3QWN0aW9ucyA9IHRoaXMudmlld0FjdGlvbnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlYXJjaEFwcGxpZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFNvcnQoc29ydDogTGlzdFNvcnRMYWJlbE1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY3VycmVudFN0YXRlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICBjdXJyZW50U3RhdGUucGFnaW5nLnBhZ2VOdW1iZXIgIT09IDFcbiAgICAgICkge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5zb3J0U2V0RmllbGRTZWxlY3RvcnMoW1xuICAgICAgICB7IGZpZWxkU2VsZWN0b3I6IHNvcnQuZmllbGRTZWxlY3RvciwgZGVzY2VuZGluZzogc29ydC5kZXNjZW5kaW5nIH0sXG4gICAgICBdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbmxpbmVGaWx0ZXJCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmlubGluZUZpbHRlckJhckV4cGFuZGVkID0gIXRoaXMuaW5saW5lRmlsdGVyQmFyRXhwYW5kZWQ7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaEFwcGxpZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgICBpZiAodGhpcy5pbk1lbW9yeVNlYXJjaEVuYWJsZWQpIHtcbiAgICAgIHRoaXMuc3RhdGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGN1cnJlbnRTdGF0ZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY3VycmVudFN0YXRlLnBhZ2luZy5wYWdlTnVtYmVyICYmXG4gICAgICAgICAgY3VycmVudFN0YXRlLnBhZ2luZy5wYWdlTnVtYmVyICE9PSAxXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0UGFnaW5nU2V0UGFnZU51bWJlckFjdGlvbihOdW1iZXIoMSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlzcGF0Y2hlci5zZWFyY2hTZXRUZXh0KHNlYXJjaFRleHQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpdGVtSXNJblZpZXcoaXRlbVZpZXc6IHN0cmluZywgYWN0aXZlVmlldzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGl0ZW1WaWV3ID09PSB1bmRlZmluZWQgfHwgaXRlbVZpZXcgPT09IGFjdGl2ZVZpZXc7XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRTZWxlY3RvcnMoKSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNvcnQuYXZhaWxhYmxlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0Lmdsb2JhbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuc29ydC5maWVsZFNlbGVjdG9ycyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICAoXG4gICAgICAgIGF2YWlsYWJsZTogQXJyYXk8TGlzdFNvcnRMYWJlbE1vZGVsPixcbiAgICAgICAgZ2xvYmFsOiBBcnJheTxMaXN0U29ydExhYmVsTW9kZWw+LFxuICAgICAgICBmaWVsZFNlbGVjdG9yczogQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+XG4gICAgICApID0+IHtcbiAgICAgICAgLy8gR2V0IHNvcnRzIHRoYXQgYXJlIGluIHRoZSBnbG9iYWwgdGhhdCBhcmUgbm90IGluIHRoZSBhdmFpbGFibGVcbiAgICAgICAgY29uc3Qgc29ydHMgPSBnbG9iYWwuZmlsdGVyKFxuICAgICAgICAgIChnKSA9PlxuICAgICAgICAgICAgYXZhaWxhYmxlLmZpbHRlcigoYSkgPT4gYS5maWVsZFNlbGVjdG9yID09PSBnLmZpZWxkU2VsZWN0b3IpXG4gICAgICAgICAgICAgIC5sZW5ndGggPT09IDBcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCByZXN1bHRTb3J0U2VsZWN0b3JzID0gWy4uLnNvcnRzLCAuLi5hdmFpbGFibGVdLm1hcChcbiAgICAgICAgICAoc29ydExhYmVscykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZnMgPSBmaWVsZFNlbGVjdG9ycy5maWx0ZXIoKGYpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBmLmZpZWxkU2VsZWN0b3IgPT09IHNvcnRMYWJlbHMuZmllbGRTZWxlY3RvciAmJlxuICAgICAgICAgICAgICAgIGYuZGVzY2VuZGluZyA9PT0gc29ydExhYmVscy5kZXNjZW5kaW5nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGZzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBzb3J0OiBzb3J0TGFiZWxzLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0U29ydFNlbGVjdG9ycztcbiAgICAgIH1cbiAgICApLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaFRlbXBsYXRlcygpIHtcbiAgICBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy50b29sYmFyKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMudmlldy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgKHRvb2xiYXI6IExpc3RUb29sYmFyTW9kZWwsIHZpZXc6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRvb2xiYXIuaXRlbXMuZmlsdGVyKChpOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1Jc0luVmlldyhpLnZpZXcsIHZpZXcpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB0ZW1wbGF0ZXM6IGFueSA9IHt9O1xuXG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IExpc3RUb29sYmFySXRlbU1vZGVsKSA9PiB7XG4gICAgICAgICAgdGVtcGxhdGVzW2l0ZW0ubG9jYXRpb25dID0gdGVtcGxhdGVzW2l0ZW0ubG9jYXRpb25dIHx8IFtdO1xuICAgICAgICAgIHRlbXBsYXRlc1tpdGVtLmxvY2F0aW9uXS5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGVtcGxhdGVzO1xuICAgICAgfVxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5sZWZ0VGVtcGxhdGVzID0gdmFsdWUubGVmdDtcbiAgICAgICAgdGhpcy5jZW50ZXJUZW1wbGF0ZXMgPSB2YWx1ZS5jZW50ZXI7XG4gICAgICAgIHRoaXMucmlnaHRUZW1wbGF0ZXMgPSB2YWx1ZS5yaWdodDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWxpc3QtdG9vbGJhci1jb250YWluZXJcIj5cbiAgPHNreS10b29sYmFyICpuZ0lmPVwiKHR5cGUgfCBhc3luYykgIT09ICdzZWFyY2gnXCI+XG4gICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsZWZ0VGVtcGxhdGVzXCI+XG4gICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgIFt0ZW1wbGF0ZV09XCJpdGVtLnRlbXBsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlcj5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNlbnRlclRlbXBsYXRlc1wiPlxuICAgICAgICA8c2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXI+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiByaWdodFRlbXBsYXRlc1wiXG4gICAgICAgIFthdHRyLnNreS10b29sYmFyLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyXG4gICAgICAgICAgW2F0dHIuc2t5LWNtcC1pZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXI+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucyAqbmdJZj1cImhhc1ZpZXdBY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXRvb2xiYXItdmlldy1hY3Rpb25zXCI+IDwvbmctY29udGVudD5cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cblxuICAgIDxza3ktdG9vbGJhci1zZWN0aW9uXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJTdW1tYXJ5ICYmIChoYXNBcHBsaWVkRmlsdGVycyB8IGFzeW5jKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlcIj4gPC9uZy1jb250ZW50PlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgPC9za3ktdG9vbGJhcj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgICh0eXBlIHwgYXN5bmMpID09PSAnc2VhcmNoJyAmJlxuICAgICAgKChpc1NlYXJjaEVuYWJsZWQgfCBhc3luYykgfHwgaGFzQWRkaXRpb25hbFRvb2xiYXJTZWN0aW9uKVxuICAgIFwiXG4gICAgY2xhc3M9XCJza3ktbGlzdC10b29sYmFyLXNlYXJjaFwiXG4gID5cbiAgICA8c2t5LXRvb2xiYXI+XG4gICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbiAqbmdJZj1cImlzU2VhcmNoRW5hYmxlZCB8IGFzeW5jXCI+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIHNreS1jbXAtaWQ9XCJzZWFyY2hcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cInNlYXJjaFwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbiBbaGlkZGVuXT1cIiFoYXNBZGRpdGlvbmFsVG9vbGJhclNlY3Rpb25cIj5cbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGVmdFRlbXBsYXRlc1wiPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNlbnRlclRlbXBsYXRlc1wiPlxuICAgICAgICAgIDxza3ktbGlzdC10b29sYmFyLWl0ZW0tcmVuZGVyZXJcbiAgICAgICAgICAgIFthdHRyLnNreS1jbXAtaWRdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwiaXRlbS50ZW1wbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LWxpc3QtdG9vbGJhci1pdGVtLXJlbmRlcmVyPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmlnaHRUZW1wbGF0ZXNcIlxuICAgICAgICAgIFthdHRyLnNreS10b29sYmFyLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlclxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmlkICE9PSAnc2VhcmNoJ1wiXG4gICAgICAgICAgICBbYXR0ci5za3ktY21wLWlkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgW3RlbXBsYXRlXT1cIml0ZW0udGVtcGxhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3NreS1saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlcj5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucyAqbmdJZj1cImhhc1ZpZXdBY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWxpc3QtdG9vbGJhci12aWV3LWFjdGlvbnNcIj4gPC9uZy1jb250ZW50PlxuICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8L3NreS10b29sYmFyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiaXNGaWx0ZXJCYXJEaXNwbGF5ZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJmaWx0ZXJCdXR0b25JZFwiXG4gICAgW2lkXT1cImxpc3RGaWx0ZXJJbmxpbmVJZFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktbGlzdC1maWx0ZXItaW5saW5lXCI+IDwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxza3ktbGlzdC1tdWx0aXNlbGVjdC10b29sYmFyICpuZ0lmPVwiaXNNdWx0aXNlbGVjdEVuYWJsZWQgfCBhc3luY1wiPlxuICA8L3NreS1saXN0LW11bHRpc2VsZWN0LXRvb2xiYXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2g+XG4gIDxkaXYgKm5nSWY9XCJpc1NlYXJjaEVuYWJsZWQgfCBhc3luY1wiIGNsYXNzPVwic2t5LWxpc3QtdG9vbGJhci1zZWFyY2gtd3JhcHBlclwiPlxuICAgIDxza3ktc2VhcmNoXG4gICAgICBbZGlzYWJsZWRdPVwiaXNUb29sYmFyRGlzYWJsZWRcIlxuICAgICAgW2V4cGFuZE1vZGVdPVwiKHR5cGUgfCBhc3luYykgPT09ICdzZWFyY2gnID8gJ2ZpdCcgOiAncmVzcG9uc2l2ZSdcIlxuICAgICAgW3BsYWNlaG9sZGVyVGV4dF09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbc2VhcmNoVGV4dF09XCJzZWFyY2hUZXh0SW5wdXQgfCBhc3luY1wiXG4gICAgICAoc2VhcmNoQXBwbHkpPVwidXBkYXRlU2VhcmNoVGV4dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9za3ktc2VhcmNoPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXRvb2xiYXItc2VhcmNoLWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNzb3J0U2VsZWN0b3I+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgKGlzU29ydFNlbGVjdG9yRW5hYmxlZCB8IGFzeW5jKSAmJiAoc29ydFNlbGVjdG9ycyB8IGFzeW5jKS5sZW5ndGggPiAwXG4gICAgXCJcbiAgICBjbGFzcz1cInNreS10b29sYmFyLWl0ZW0tc29ydC1jb250YWluZXJcIlxuICA+XG4gICAgPHNreS1zb3J0IFtzaG93QnV0dG9uVGV4dF09XCJ0cnVlXCI+XG4gICAgICA8c2t5LXNvcnQtaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzb3J0U2VsZWN0b3JzIHwgYXN5bmNcIlxuICAgICAgICBbYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAoaXRlbVNlbGVjdCk9XCJzZXRTb3J0KGl0ZW0uc29ydClcIlxuICAgICAgPlxuICAgICAgICB7eyBpdGVtLnNvcnQudGV4dCB9fVxuICAgICAgPC9za3ktc29ydC1pdGVtPlxuICAgIDwvc2t5LXNvcnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbmxpbmVGaWx0ZXJCdXR0b24+XG4gIDxza3ktZmlsdGVyLWJ1dHRvblxuICAgIFthY3RpdmVdPVwiaGFzQXBwbGllZEZpbHRlcnMgfCBhc3luY1wiXG4gICAgW2FyaWFDb250cm9sc109XCJmaWx0ZXJCdXR0b25BcmlhQ29udHJvbHNcIlxuICAgIFthcmlhRXhwYW5kZWRdPVwiaW5saW5lRmlsdGVyQmFyRXhwYW5kZWRcIlxuICAgIFtkaXNhYmxlZF09XCJpc1Rvb2xiYXJEaXNhYmxlZFwiXG4gICAgW2ZpbHRlckJ1dHRvbklkXT1cImZpbHRlckJ1dHRvbklkXCJcbiAgICBbc2hvd0J1dHRvblRleHRdPVwidHJ1ZVwiXG4gICAgKGZpbHRlckJ1dHRvbkNsaWNrKT1cImlubGluZUZpbHRlckJ1dHRvbkNsaWNrKClcIlxuICA+XG4gIDwvc2t5LWZpbHRlci1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -21,8 +21,8 @@ import * as i0 from "@angular/core";
|
|
|
21
21
|
*/
|
|
22
22
|
export class SkyListToolbarModule {
|
|
23
23
|
}
|
|
24
|
-
SkyListToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
25
|
-
SkyListToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
24
|
+
SkyListToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
SkyListToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarModule, declarations: [SkyListToolbarComponent,
|
|
26
26
|
SkyListToolbarItemComponent,
|
|
27
27
|
SkyListToolbarItemRendererComponent,
|
|
28
28
|
SkyListMultiselectToolbarComponent,
|
|
@@ -42,7 +42,7 @@ SkyListToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
|
|
|
42
42
|
SkyListToolbarSearchActionsComponent,
|
|
43
43
|
SkyListToolbarSortComponent,
|
|
44
44
|
SkyListToolbarViewActionsComponent] });
|
|
45
|
-
SkyListToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
45
|
+
SkyListToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarModule, imports: [CommonModule,
|
|
46
46
|
SkyCheckboxModule,
|
|
47
47
|
SkyI18nModule,
|
|
48
48
|
SkyToolbarModule,
|
|
@@ -52,7 +52,7 @@ SkyListToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
|
|
|
52
52
|
SkyListFiltersModule,
|
|
53
53
|
SkyIconModule,
|
|
54
54
|
SkyListBuilderResourcesModule] });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListToolbarModule, decorators: [{
|
|
56
56
|
type: NgModule,
|
|
57
57
|
args: [{
|
|
58
58
|
declarations: [
|
|
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
85
85
|
],
|
|
86
86
|
}]
|
|
87
87
|
}] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10b29sYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXRvb2xiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFbkU7O0dBRUc7QUErQkgsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLGlCQTVCN0IsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixtQ0FBbUM7UUFDbkMsa0NBQWtDO1FBQ2xDLG9DQUFvQztRQUNwQywyQkFBMkI7UUFDM0Isa0NBQWtDLGFBR2xDLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLDZCQUE2QixhQUc3Qix1QkFBdUI7UUFDdkIsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQywyQkFBMkI7UUFDM0Isa0NBQWtDO21IQUd6QixvQkFBb0IsWUFuQjdCLFlBQVk7UUFDWixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsYUFBYTtRQUNiLDZCQUE2Qjs0RkFVcEIsb0JBQW9CO2tCQTlCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2QiwyQkFBMkI7d0JBQzNCLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQyxvQ0FBb0M7d0JBQ3BDLDJCQUEyQjt3QkFDM0Isa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QiwyQkFBMkI7d0JBQzNCLG9DQUFvQzt3QkFDcEMsMkJBQTJCO3dCQUMzQixrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcbmltcG9ydCB7IFNreUZpbHRlck1vZHVsZSwgU2t5U29ydE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcblxuaW1wb3J0IHsgU2t5TGlzdEZpbHRlcnNNb2R1bGUgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lMaXN0QnVpbGRlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbGlzdC1idWlsZGVyLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lMaXN0TXVsdGlzZWxlY3RUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW11bHRpc2VsZWN0LXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUxpc3RUb29sYmFySXRlbVJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXItaXRlbS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5TGlzdFRvb2xiYXJTZWFyY2hBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXItc2VhcmNoLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUxpc3RUb29sYmFyU29ydENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC10b29sYmFyLXNvcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUxpc3RUb29sYmFyVmlld0FjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtdG9vbGJhci12aWV3LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUxpc3RUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LXRvb2xiYXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBMaXN0IGJ1aWxkZXIgYW5kIGl0cyBmZWF0dXJlcyBhcmUgZGVwcmVjYXRlZC4gVXNlIGRhdGEgbWFuYWdlciBpbnN0ZWFkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUxpc3RUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreUxpc3RUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBTa3lMaXN0VG9vbGJhckl0ZW1SZW5kZXJlckNvbXBvbmVudCxcbiAgICBTa3lMaXN0TXVsdGlzZWxlY3RUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreUxpc3RUb29sYmFyU2VhcmNoQWN0aW9uc0NvbXBvbmVudCxcbiAgICBTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQsXG4gICAgU2t5TGlzdFRvb2xiYXJWaWV3QWN0aW9uc0NvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gICAgU2t5U2VhcmNoTW9kdWxlLFxuICAgIFNreVNvcnRNb2R1bGUsXG4gICAgU2t5RmlsdGVyTW9kdWxlLFxuICAgIFNreUxpc3RGaWx0ZXJzTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5TGlzdEJ1aWxkZXJSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lMaXN0VG9vbGJhckNvbXBvbmVudCxcbiAgICBTa3lMaXN0VG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgU2t5TGlzdFRvb2xiYXJTZWFyY2hBY3Rpb25zQ29tcG9uZW50LFxuICAgIFNreUxpc3RUb29sYmFyU29ydENvbXBvbmVudCxcbiAgICBTa3lMaXN0VG9vbGJhclZpZXdBY3Rpb25zQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0VG9vbGJhck1vZHVsZSB7fVxuIl19
|
|
@@ -6,9 +6,9 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
*/
|
|
7
7
|
export class ListToolbarStateDispatcher extends StateDispatcher {
|
|
8
8
|
}
|
|
9
|
-
ListToolbarStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
10
|
-
ListToolbarStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
9
|
+
ListToolbarStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
+
ListToolbarStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarStateDispatcher });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarStateDispatcher, decorators: [{
|
|
12
12
|
type: Injectable
|
|
13
13
|
}] });
|
|
14
14
|
/**
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
16
16
|
*/
|
|
17
17
|
export class ListToolbarStateOrchestrator extends StateOrchestrator {
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdGF0ZS5yeHN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL3N0YXRlL3Rvb2xiYXItc3RhdGUucnhzdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFJaEY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsZUFBdUM7O3dIQUExRSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOztBQUdYOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDRCQUFnQyxTQUFRLGlCQUdwRDtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGVEaXNwYXRjaGVyLCBTdGF0ZU9yY2hlc3RyYXRvciB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdFRvb2xiYXJTdGF0ZUFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci1zdGF0ZS1hY3Rpb24udHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaXN0VG9vbGJhclN0YXRlRGlzcGF0Y2hlciBleHRlbmRzIFN0YXRlRGlzcGF0Y2hlcjxMaXN0VG9vbGJhclN0YXRlQWN0aW9uPiB7fVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgTGlzdFRvb2xiYXJTdGF0ZU9yY2hlc3RyYXRvcjxUPiBleHRlbmRzIFN0YXRlT3JjaGVzdHJhdG9yPFxuICBULFxuICBMaXN0VG9vbGJhclN0YXRlQWN0aW9uXG4+IHt9XG4iXX0=
|
|
@@ -13,9 +13,9 @@ export class ListToolbarState extends StateNode {
|
|
|
13
13
|
this.register('config', ListToolbarConfigOrchestrator).begin();
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
ListToolbarState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
17
|
-
ListToolbarState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
16
|
+
ListToolbarState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarState, deps: [{ token: i1.ListToolbarStateModel }, { token: i2.ListToolbarStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
ListToolbarState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarState });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListToolbarState, decorators: [{
|
|
19
19
|
type: Injectable
|
|
20
20
|
}], ctorParameters: function () { return [{ type: i1.ListToolbarStateModel }, { type: i2.ListToolbarStateDispatcher }]; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdGF0ZS5zdGF0ZS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC10b29sYmFyL3N0YXRlL3Rvb2xiYXItc3RhdGUuc3RhdGUtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUk3RTs7R0FFRztBQUVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUFnQztJQUNwRSxZQUNFLFlBQW1DLEVBQ25DLFVBQXNDO1FBRXRDLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqRSxDQUFDOzs4R0FSVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdGVOb2RlIH0gZnJvbSAnQHNreXV4L2xpc3QtYnVpbGRlci1jb21tb24nO1xuXG5pbXBvcnQgeyBMaXN0VG9vbGJhckNvbmZpZ09yY2hlc3RyYXRvciB9IGZyb20gJy4vY29uZmlnL2NvbmZpZy5vcmNoZXN0cmF0b3InO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJTdGF0ZU1vZGVsIH0gZnJvbSAnLi90b29sYmFyLXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IExpc3RUb29sYmFyU3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi90b29sYmFyLXN0YXRlLnJ4c3RhdGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlzdFRvb2xiYXJTdGF0ZSBleHRlbmRzIFN0YXRlTm9kZTxMaXN0VG9vbGJhclN0YXRlTW9kZWw+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgaW5pdGlhbFN0YXRlOiBMaXN0VG9vbGJhclN0YXRlTW9kZWwsXG4gICAgZGlzcGF0Y2hlcjogTGlzdFRvb2xiYXJTdGF0ZURpc3BhdGNoZXJcbiAgKSB7XG4gICAgc3VwZXIoaW5pdGlhbFN0YXRlLCBkaXNwYXRjaGVyKTtcblxuICAgIHRoaXMucmVnaXN0ZXIoJ2NvbmZpZycsIExpc3RUb29sYmFyQ29uZmlnT3JjaGVzdHJhdG9yKS5iZWdpbigpO1xuICB9XG59XG4iXX0=
|
|
@@ -28,16 +28,16 @@ export class SkyListBuilderResourcesProvider {
|
|
|
28
28
|
*/
|
|
29
29
|
export class SkyListBuilderResourcesModule {
|
|
30
30
|
}
|
|
31
|
-
SkyListBuilderResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
32
|
-
SkyListBuilderResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
33
|
-
SkyListBuilderResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
31
|
+
SkyListBuilderResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListBuilderResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
SkyListBuilderResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkyListBuilderResourcesModule, exports: [SkyI18nModule] });
|
|
33
|
+
SkyListBuilderResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListBuilderResourcesModule, providers: [
|
|
34
34
|
{
|
|
35
35
|
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
36
36
|
useClass: SkyListBuilderResourcesProvider,
|
|
37
37
|
multi: true,
|
|
38
38
|
},
|
|
39
39
|
], imports: [SkyI18nModule] });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkyListBuilderResourcesModule, decorators: [{
|
|
41
41
|
type: NgModule,
|
|
42
42
|
args: [{
|
|
43
43
|
exports: [SkyI18nModule],
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
50
50
|
],
|
|
51
51
|
}]
|
|
52
52
|
}] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxpc3QtYnVpbGRlci1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1saXN0LWJ1aWxkZXItcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1Asd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1FBQzdELGdDQUFnQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtRQUMxRCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDNUQsb0NBQW9DLEVBQUU7WUFDcEMsT0FBTyxFQUFFLDBCQUEwQjtTQUNwQztRQUNELHVDQUF1QyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtLQUNwRTtDQUNGLENBQUM7QUFFRixNQUFNLE9BQU8sK0JBQStCO0lBR25DLFNBQVMsQ0FDZCxVQUE0QixFQUM1QixJQUFZO1FBRVosT0FBTyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQVdILE1BQU0sT0FBTyw2QkFBNkI7OzJIQUE3Qiw2QkFBNkI7NEhBQTdCLDZCQUE2QixZQVQ5QixhQUFhOzRIQVNaLDZCQUE2QixhQVI3QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixZQVBTLGFBQWE7NEZBU1osNkJBQTZCO2tCQVZ6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktbGlzdC1idWlsZGVyJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9saXN0X3Nob3dfc2Vjb25kYXJ5X2FjdGlvbnNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdNb3JlJyB9LFxuICAgIHNreXV4X2xpc3RfbXVsdGlzZWxlY3RfY2xlYXJfYWxsOiB7IG1lc3NhZ2U6ICdDbGVhciBhbGwnIH0sXG4gICAgc2t5dXhfbGlzdF9tdWx0aXNlbGVjdF9zZWxlY3RfYWxsOiB7IG1lc3NhZ2U6ICdTZWxlY3QgYWxsJyB9LFxuICAgIHNreXV4X2xpc3RfbXVsdGlzZWxlY3Rfc2hvd19zZWxlY3RlZDoge1xuICAgICAgbWVzc2FnZTogJ09ubHkgc2hvdyBzZWxlY3RlZCBpdGVtcycsXG4gICAgfSxcbiAgICBza3l1eF9saXN0X3ZpZXdfc3dpdGNoZXJfZHJvcGRvd25fdGl0bGU6IHsgbWVzc2FnZTogJ1NlbGVjdCB2aWV3JyB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreUxpc3RCdWlsZGVyUmVzb3VyY2VzUHJvdmlkZXJcbiAgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlclxue1xuICBwdWJsaWMgZ2V0U3RyaW5nKFxuICAgIGxvY2FsZUluZm86IFNreUFwcExvY2FsZUluZm8sXG4gICAgbmFtZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldExpYlN0cmluZ0ZvckxvY2FsZShSRVNPVVJDRVMsIGxvY2FsZUluZm8ubG9jYWxlLCBuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogU2t5TGlzdEJ1aWxkZXJSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUxpc3RCdWlsZGVyUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|