@vendure/admin-ui 2.1.0-next.7 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/common/base-list.component.d.ts +1 -0
- package/core/common/version.d.ts +1 -1
- package/core/extension/register-route-component.d.ts +2 -2
- package/core/providers/data-table/data-table-filter-collection.d.ts +2 -0
- package/core/providers/data-table/data-table-sort-collection.d.ts +2 -0
- package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts +3 -2
- package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +1 -1
- package/esm2022/core/common/base-list.component.mjs +13 -4
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/extension/register-route-component.mjs +1 -1
- package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +19 -3
- package/esm2022/core/providers/data-table/data-table-sort-collection.mjs +8 -2
- package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +2 -2
- package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +7 -5
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +5 -4
- package/esm2022/order/components/order-data-table/order-data-table.component.mjs +3 -3
- package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
- package/fesm2022/vendure-admin-ui-core.mjs +47 -14
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs +4 -4
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/package.json +13 -13
- package/static/i18n-messages/ar.json +1 -1
- package/static/i18n-messages/cs.json +1 -1
- package/static/i18n-messages/de.json +1 -1
- package/static/i18n-messages/en.json +1 -1
- package/static/i18n-messages/es.json +1 -1
- package/static/i18n-messages/fa.json +29 -8
- package/static/i18n-messages/fr.json +1 -1
- package/static/i18n-messages/he.json +1 -1
- package/static/i18n-messages/it.json +1 -1
- package/static/i18n-messages/ne.json +795 -0
- package/static/i18n-messages/pl.json +1 -1
- package/static/i18n-messages/pt_BR.json +1 -1
- package/static/i18n-messages/pt_PT.json +1 -1
- package/static/i18n-messages/ru.json +1 -1
- package/static/i18n-messages/uk.json +1 -1
- package/static/i18n-messages/zh_Hans.json +1 -1
- package/static/i18n-messages/zh_Hant.json +1 -1
- package/static/vendure-ui-config.json +2 -1
|
@@ -115,6 +115,7 @@ export declare class TypedBaseListComponent<T extends TypedDocumentNode<any, Var
|
|
|
115
115
|
protected router: Router;
|
|
116
116
|
protected serverConfigService: ServerConfigService;
|
|
117
117
|
private refreshStreams;
|
|
118
|
+
private collections;
|
|
118
119
|
constructor();
|
|
119
120
|
protected configure(config: {
|
|
120
121
|
document: T;
|
package/core/common/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const ADMIN_UI_VERSION = "2.1.0
|
|
1
|
+
export declare const ADMIN_UI_VERSION = "2.1.0";
|
|
@@ -24,10 +24,10 @@ export type RegisterRouteComponentOptions<Component extends any | BaseDetailComp
|
|
|
24
24
|
path?: string;
|
|
25
25
|
query?: T;
|
|
26
26
|
getBreadcrumbs?: (entity: Exclude<ResultOf<T>[R], 'Query'>) => BreadcrumbValue;
|
|
27
|
-
entityKey?: Component extends BaseDetailComponent<
|
|
27
|
+
entityKey?: Component extends BaseDetailComponent<any> ? R : undefined;
|
|
28
28
|
variables?: T extends TypedDocumentNode<any, infer V> ? Omit<V, 'id'> : never;
|
|
29
29
|
routeConfig?: Route;
|
|
30
|
-
} & (Component extends BaseDetailComponent<
|
|
30
|
+
} & (Component extends BaseDetailComponent<any> ? {
|
|
31
31
|
entityKey: R;
|
|
32
32
|
} : unknown);
|
|
33
33
|
/**
|
|
@@ -20,9 +20,11 @@ export declare class DataTableFilterCollection<FilterInput extends Record<string
|
|
|
20
20
|
#private;
|
|
21
21
|
private router;
|
|
22
22
|
valueChanges: import("rxjs").Observable<FilterWithValue<DataTableFilterType>[]>;
|
|
23
|
+
private readonly destroy$;
|
|
23
24
|
constructor(router: Router);
|
|
24
25
|
get length(): number;
|
|
25
26
|
get activeFilters(): FilterWithValue[];
|
|
27
|
+
destroy(): void;
|
|
26
28
|
addFilter<FilterType extends DataTableFilterType>(config: DataTableFilterOptions<FilterInput, FilterType>): DataTableFilterCollection<FilterInput>;
|
|
27
29
|
addFilters<FilterType extends DataTableFilterType>(configs: Array<DataTableFilterOptions<FilterInput, FilterType>>): DataTableFilterCollection<FilterInput>;
|
|
28
30
|
addIdFilter(): FilterInput extends {
|
|
@@ -8,8 +8,10 @@ export declare class DataTableSortCollection<SortInput extends Record<string, 'A
|
|
|
8
8
|
name: string;
|
|
9
9
|
sortOrder: DataTableSortOrder | undefined;
|
|
10
10
|
}[]>;
|
|
11
|
+
private readonly destroy$;
|
|
11
12
|
constructor(router: Router);
|
|
12
13
|
get length(): number;
|
|
14
|
+
destroy(): void;
|
|
13
15
|
addSort<Name extends keyof SortInput>(config: DataTableSortOptions<SortInput, Name>): DataTableSortCollection<SortInput, [...Names, Name]>;
|
|
14
16
|
addSorts<Name extends keyof SortInput>(configs: Array<DataTableSortOptions<SortInput, Name>>): DataTableSortCollection<SortInput, [...Names, Name]>;
|
|
15
17
|
addCustomFieldSorts(customFields: CustomFieldConfig[]): this;
|
package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { DataTableFilterCollection } from '../../../providers/data-table/data-table-filter-collection';
|
|
@@ -10,6 +10,7 @@ export declare class DataTableFilterPresetsComponent implements OnInit, OnDestro
|
|
|
10
10
|
private route;
|
|
11
11
|
private filterPresetService;
|
|
12
12
|
private modalService;
|
|
13
|
+
private changeDetectorRef;
|
|
13
14
|
dataTableId: string;
|
|
14
15
|
filters: DataTableFilterCollection;
|
|
15
16
|
serializedActiveFilters: string;
|
|
@@ -18,7 +19,7 @@ export declare class DataTableFilterPresetsComponent implements OnInit, OnDestro
|
|
|
18
19
|
value: string;
|
|
19
20
|
}>>;
|
|
20
21
|
private destroy$;
|
|
21
|
-
constructor(route: ActivatedRoute, filterPresetService: FilterPresetService, modalService: ModalService);
|
|
22
|
+
constructor(route: ActivatedRoute, filterPresetService: FilterPresetService, modalService: ModalService, changeDetectorRef: ChangeDetectorRef);
|
|
22
23
|
ngOnInit(): void;
|
|
23
24
|
ngOnDestroy(): void;
|
|
24
25
|
deleteFilterPreset(name: string): void;
|
|
@@ -23,7 +23,7 @@ export declare class DataTableFiltersComponent implements AfterViewInit {
|
|
|
23
23
|
constructor(i18nService: I18nService, changeDetectorRef: ChangeDetectorRef);
|
|
24
24
|
ngAfterViewInit(): void;
|
|
25
25
|
selectFilter(filter: DataTableFilter, value?: any): void;
|
|
26
|
-
activate(): void;
|
|
26
|
+
activate(event: Event): void;
|
|
27
27
|
deactivate(): void;
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<DataTableFiltersComponent, never>;
|
|
29
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataTableFiltersComponent, "vdr-data-table-filters", never, { "filters": { "alias": "filters"; "required": false; }; "filterWithValue": { "alias": "filterWithValue"; "required": false; }; }, {}, never, never, false, never>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
1
|
+
import { DestroyRef, Directive, inject } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
3
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
4
|
import { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs';
|
|
@@ -136,6 +136,11 @@ export class TypedBaseListComponent extends BaseListComponent {
|
|
|
136
136
|
this.router = inject(Router);
|
|
137
137
|
this.serverConfigService = inject(ServerConfigService);
|
|
138
138
|
this.refreshStreams = [];
|
|
139
|
+
this.collections = [];
|
|
140
|
+
const destroyRef = inject(DestroyRef);
|
|
141
|
+
destroyRef.onDestroy(() => {
|
|
142
|
+
this.collections.forEach(c => c.destroy());
|
|
143
|
+
});
|
|
139
144
|
}
|
|
140
145
|
configure(config) {
|
|
141
146
|
super.setQueryFn((args) => this.dataService.query(config.document).refetchOnChannelChange(), data => config.getItems(data), (skip, take) => config.setVariables?.(skip, take) ?? {});
|
|
@@ -151,10 +156,14 @@ export class TypedBaseListComponent extends BaseListComponent {
|
|
|
151
156
|
super.refreshListOnChanges(this.contentLanguage$, ...this.refreshStreams);
|
|
152
157
|
}
|
|
153
158
|
createFilterCollection() {
|
|
154
|
-
|
|
159
|
+
const collection = new DataTableFilterCollection(this.router);
|
|
160
|
+
this.collections.push(collection);
|
|
161
|
+
return collection;
|
|
155
162
|
}
|
|
156
163
|
createSortCollection() {
|
|
157
|
-
|
|
164
|
+
const collection = new DataTableSortCollection(this.router);
|
|
165
|
+
this.collections.push(collection);
|
|
166
|
+
return collection;
|
|
158
167
|
}
|
|
159
168
|
setLanguage(code) {
|
|
160
169
|
this.dataService.client.setContentLanguage(code).subscribe();
|
|
@@ -168,4 +177,4 @@ export class TypedBaseListComponent extends BaseListComponent {
|
|
|
168
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: TypedBaseListComponent, decorators: [{
|
|
169
178
|
type: Directive
|
|
170
179
|
}], ctorParameters: function () { return []; } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUF1QixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUU3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBZ0JqRTs7Ozs7Ozs7R0FRRztBQUVILGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8saUJBQWlCO0lBdUIxQixZQUFzQixNQUFjLEVBQVksS0FBcUI7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFZLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEJyRSxzQkFBaUIsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxxQkFB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OlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9kYXRhL3F1ZXJ5LXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3NlcnZlci1jb25maWcnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1zb3J0LWNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgQ3VzdG9tRmllbGRzLCBMYW5ndWFnZUNvZGUgfSBmcm9tICcuL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3V0aWxpdGllcy9zZWxlY3Rpb24tbWFuYWdlcic7XHJcblxyXG5leHBvcnQgdHlwZSBMaXN0UXVlcnlGbjxSPiA9ICh0YWtlOiBudW1iZXIsIHNraXA6IG51bWJlciwgLi4uYXJnczogYW55W10pID0+IFF1ZXJ5UmVzdWx0PFIsIGFueT47XHJcbmV4cG9ydCB0eXBlIE1hcHBpbmdGbjxULCBSPiA9IChyZXN1bHQ6IFIpID0+IHsgaXRlbXM6IFRbXTsgdG90YWxJdGVtczogbnVtYmVyIH07XHJcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xyXG5cclxuLyoqXHJcbiAqIFVud3JhcHMgYSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCB3aXRoIGFuIFwiaXRlbXNcIiBwcm9wZXJ0eSxcclxuICogcmV0dXJuaW5nIHRoZSB0eXBlIG9mIG9uZSBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgSXRlbU9mPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbS10gZXh0ZW5kcyB7IGl0ZW1zOiBpbmZlciBSIH1cclxuICAgID8gUiBleHRlbmRzIGFueVtdXHJcbiAgICAgICAgPyBSW251bWJlcl1cclxuICAgICAgICA6IFJcclxuICAgIDogbmV2ZXI7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHdoaWNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGZldGNoIGFuZCBtYW5pcHVsYXRlXHJcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxyXG4gKlxyXG4gKiBJdCBpcyBub3JtYWxseSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHtAbGluayBEYXRhVGFibGUyQ29tcG9uZW50fS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgY2xhc3MgQmFzZUxpc3RDb21wb25lbnQ8UmVzdWx0VHlwZSwgSXRlbVR5cGUsIFZhcmlhYmxlVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIHNlYXJjaFRlcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxhbnk+KHtcclxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcclxuICAgICAgICBpdGVtc0FyZUVxdWFsOiAoYSwgYikgPT4gYS5pZCA9PT0gYi5pZCxcclxuICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHJlc3VsdCQ6IE9ic2VydmFibGU8UmVzdWx0VHlwZT47XHJcbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8SXRlbVR5cGVbXT47XHJcbiAgICB0b3RhbEl0ZW1zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgaXRlbXNQZXJQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBsaXN0UXVlcnk6IFF1ZXJ5UmVzdWx0PFJlc3VsdFR5cGUsIFZhcmlhYmxlVHlwZT47XHJcbiAgICBwcml2YXRlIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPjtcclxuICAgIHByaXZhdGUgbWFwcGluZ0ZuOiBNYXBwaW5nRm48SXRlbVR5cGUsIFJlc3VsdFR5cGU+O1xyXG4gICAgcHJpdmF0ZSBvblBhZ2VDaGFuZ2VGbjogT25QYWdlQ2hhbmdlRm48VmFyaWFibGVUeXBlPiA9IChza2lwLCB0YWtlKSA9PlxyXG4gICAgICAgICh7IG9wdGlvbnM6IHsgc2tpcCwgdGFrZSB9IH0gYXMgYW55KTtcclxuICAgIHByb3RlY3RlZCByZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0czogeyB0YWtlOiBudW1iZXI7IHNraXA6IG51bWJlciB9ID0geyB0YWtlOiAxMCwgc2tpcDogMCB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlciwgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgZmV0Y2ggZnVuY3Rpb24gZm9yIHRoZSBsaXN0IGJlaW5nIGltcGxlbWVudGVkLlxyXG4gICAgICovXHJcbiAgICBzZXRRdWVyeUZuKFxyXG4gICAgICAgIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPixcclxuICAgICAgICBtYXBwaW5nRm46IE1hcHBpbmdGbjxJdGVtVHlwZSwgUmVzdWx0VHlwZT4sXHJcbiAgICAgICAgb25QYWdlQ2hhbmdlRm4/OiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+LFxyXG4gICAgICAgIGRlZmF1bHRzPzogeyB0YWtlOiBudW1iZXI7IHNraXA6IG51bWJlciB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5saXN0UXVlcnlGbiA9IGxpc3RRdWVyeUZuO1xyXG4gICAgICAgIHRoaXMubWFwcGluZ0ZuID0gbWFwcGluZ0ZuO1xyXG4gICAgICAgIGlmIChvblBhZ2VDaGFuZ2VGbikge1xyXG4gICAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZUZuID0gb25QYWdlQ2hhbmdlRm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWZhdWx0cykge1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gZGVmYXVsdHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5saXN0UXVlcnlGbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICBgTm8gbGlzdFF1ZXJ5Rm4gaGFzIGJlZW4gZGVmaW5lZC4gUGxlYXNlIGNhbGwgc3VwZXIuc2V0UXVlcnlGbigpIGluIHRoZSBjb25zdHJ1Y3Rvci5gLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RRdWVyeSA9IHRoaXMubGlzdFF1ZXJ5Rm4odGhpcy5kZWZhdWx0cy50YWtlLCB0aGlzLmRlZmF1bHRzLnNraXApO1xyXG5cclxuICAgICAgICBjb25zdCBmZXRjaFBhZ2UgPSAoW2N1cnJlbnRQYWdlLCBpdGVtc1BlclBhZ2UsIF9dOiBbbnVtYmVyLCBudW1iZXIsIHVuZGVmaW5lZF0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGFrZSA9IGl0ZW1zUGVyUGFnZTtcclxuICAgICAgICAgICAgY29uc3Qgc2tpcCA9IChjdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RRdWVyeS5yZWYucmVmZXRjaCh0aGlzLm9uUGFnZUNoYW5nZUZuKHNraXAsIHRha2UpKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdCQgPSB0aGlzLmxpc3RRdWVyeS5zdHJlYW0kLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xyXG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkuaXRlbXMpKTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkudG90YWxJdGVtcykpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChxcG0gPT4gcXBtLmdldCgncGFnZScpKSxcclxuICAgICAgICAgICAgbWFwKHBhZ2UgPT4gKCFwYWdlID8gMSA6ICtwYWdlKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLml0ZW1zUGVyUGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwZXJQYWdlJykpLFxyXG4gICAgICAgICAgICBtYXAocGVyUGFnZSA9PiAoIXBlclBhZ2UgPyB0aGlzLmRlZmF1bHRzLnRha2UgOiArcGVyUGFnZSkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5jdXJyZW50UGFnZSQsIHRoaXMuaXRlbXNQZXJQYWdlJCwgdGhpcy5yZWZyZXNoJClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZldGNoUGFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEFjY2VwdHMgYSBsaXN0IG9mIE9ic2VydmFibGVzIHdoaWNoIHdpbGwgdHJpZ2dlciBhIHJlZnJlc2ggb2YgdGhlIGxpc3Qgd2hlbiBhbnkgb2YgdGhlbSBlbWl0LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgcmVmcmVzaExpc3RPbkNoYW5nZXMoLi4uc3RyZWFtczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+Pikge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFRlcm0kID0gdGhpcy5zZWFyY2hUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmICgyIDwgdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0UGFnZU51bWJlcigxKSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgbWVyZ2Uoc2VhcmNoVGVybSQsIC4uLnN0cmVhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2gkLm5leHQodW5kZWZpbmVkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5LmNvbXBsZXRlZCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIGluIHRoZSB1cmwuXHJcbiAgICAgKi9cclxuICAgIHNldFBhZ2VOdW1iZXIocGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5zZXRRdWVyeVBhcmFtKCdwYWdlJywgcGFnZSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGhlIHVybC5cclxuICAgICAqL1xyXG4gICAgc2V0SXRlbXNQZXJQYWdlKHBlclBhZ2U6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSgncGVyUGFnZScsIHBlclBhZ2UsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUmUtZmV0Y2ggdGhlIGN1cnJlbnQgcGFnZSBvZiByZXN1bHRzLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxyXG4gICAgICAgIGhhc2g6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXHJcbiAgICApO1xyXG4gICAgcHJvdGVjdGVkIHNldFF1ZXJ5UGFyYW0oXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgdmFsdWU6IGFueSxcclxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICk7XHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcclxuICAgICAgICBrZXlPckhhc2g6IHN0cmluZyB8IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgICAgdmFsdWVPck9wdGlvbnM/OiBhbnksXHJcbiAgICAgICAgbWF5YmVPcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtc09iamVjdCA9IHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8geyBba2V5T3JIYXNoXTogdmFsdWVPck9wdGlvbnMgfSA6IGtleU9ySGFzaDtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gKHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8gbWF5YmVPcHRpb25zIDogdmFsdWVPck9wdGlvbnMpID8/IHt9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoLFxyXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgdmVyc2lvbiBvZiB0aGUge0BsaW5rIEJhc2VMaXN0Q29tcG9uZW50fSB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIHdpdGggYVxyXG4gKiBbVHlwZWREb2N1bWVudE5vZGVdKGh0dHBzOi8vdGhlLWd1aWxkLmRldi9ncmFwaHFsL2NvZGVnZW4vcGx1Z2lucy90eXBlc2NyaXB0L3R5cGVkLWRvY3VtZW50LW5vZGUpLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFR5cGVkQmFzZUxpc3RDb21wb25lbnQ8XHJcbiAgICAgICAgVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgVmFycz4sXHJcbiAgICAgICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgICAgICBWYXJzIGV4dGVuZHMgeyBvcHRpb25zOiB7IGZpbHRlcjogYW55OyBzb3J0OiBhbnkgfSB9ID0gVmFyaWFibGVzT2Y8VD4sXHJcbiAgICA+XHJcbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdE9mPFQ+LCBJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPiwgVmFyaWFibGVzT2Y8VD4+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcclxuICAgIGNvbnRlbnRMYW5ndWFnZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2UgPSBpbmplY3QoRGF0YVNlcnZpY2UpO1xyXG4gICAgcHJvdGVjdGVkIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gICAgcHJvdGVjdGVkIHNlcnZlckNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlZnJlc2hTdHJlYW1zOiBBcnJheTxPYnNlcnZhYmxlPGFueT4+ID0gW107XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcihpbmplY3QoUm91dGVyKSwgaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZ3VyZShjb25maWc6IHtcclxuICAgICAgICBkb2N1bWVudDogVDtcclxuICAgICAgICBnZXRJdGVtczogKGRhdGE6IFJlc3VsdE9mPFQ+KSA9PiB7IGl0ZW1zOiBBcnJheTxJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPj47IHRvdGFsSXRlbXM6IG51bWJlciB9O1xyXG4gICAgICAgIHNldFZhcmlhYmxlcz86IChza2lwOiBudW1iZXIsIHRha2U6IG51bWJlcikgPT4gVmFyaWFibGVzT2Y8VD47XHJcbiAgICAgICAgcmVmcmVzaExpc3RPbkNoYW5nZXM/OiBBcnJheTxPYnNlcnZhYmxlPGFueT4+O1xyXG4gICAgfSkge1xyXG4gICAgICAgIHN1cGVyLnNldFF1ZXJ5Rm4oXHJcbiAgICAgICAgICAgIChhcmdzOiBhbnkpID0+IHRoaXMuZGF0YVNlcnZpY2UucXVlcnkoY29uZmlnLmRvY3VtZW50KS5yZWZldGNoT25DaGFubmVsQ2hhbmdlKCksXHJcbiAgICAgICAgICAgIGRhdGEgPT4gY29uZmlnLmdldEl0ZW1zKGRhdGEpLFxyXG4gICAgICAgICAgICAoc2tpcCwgdGFrZSkgPT4gY29uZmlnLnNldFZhcmlhYmxlcz8uKHNraXAsIHRha2UpID8/ICh7fSBhcyBhbnkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMkID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmd1YWdlcygpO1xyXG4gICAgICAgIHRoaXMuY29udGVudExhbmd1YWdlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbSgoeyB1aVN0YXRlIH0pID0+IHVpU3RhdGUuY29udGVudExhbmd1YWdlKVxyXG4gICAgICAgICAgICAucGlwZSh0YXAoKCkgPT4gdGhpcy5yZWZyZXNoKCkpKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hTdHJlYW1zID0gY29uZmlnLnJlZnJlc2hMaXN0T25DaGFuZ2VzID8/IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgc3VwZXIucmVmcmVzaExpc3RPbkNoYW5nZXModGhpcy5jb250ZW50TGFuZ3VhZ2UkLCAuLi50aGlzLnJlZnJlc2hTdHJlYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGaWx0ZXJDb2xsZWN0aW9uKCk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnZmlsdGVyJ10+PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPE5vbk51bGxhYmxlPFZhcnNbJ29wdGlvbnMnXVsnZmlsdGVyJ10+Pih0aGlzLnJvdXRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlU29ydENvbGxlY3Rpb24oKTogRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnc29ydCddPj4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddWydzb3J0J10+Pih0aGlzLnJvdXRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0TGFuZ3VhZ2UoY29kZTogTGFuZ3VhZ2VDb2RlKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0Q29udGVudExhbmd1YWdlKGNvZGUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1c3RvbUZpZWxkQ29uZmlnKGtleTogRXhjbHVkZTxrZXlvZiBDdXN0b21GaWVsZHMsICdfX3R5cGVuYW1lJz4pOiBDdXN0b21GaWVsZENvbmZpZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcihrZXkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQWdCakU7Ozs7Ozs7O0dBUUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGlCQUFpQjtJQXVCMUIsWUFBc0IsTUFBYyxFQUFZLEtBQXFCO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQXBCckUsc0JBQWlCLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7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Q0FBdUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBa0I7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQThDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBbkVRLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdWx0T2YsIFR5cGVkRG9jdW1lbnROb2RlLCBWYXJpYWJsZXNPZiB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuLi9kYXRhL3F1ZXJ5LXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3NlcnZlci1jb25maWcnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1zb3J0LWNvbGxlY3Rpb24nO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgQ3VzdG9tRmllbGRzLCBMYW5ndWFnZUNvZGUgfSBmcm9tICcuL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3V0aWxpdGllcy9zZWxlY3Rpb24tbWFuYWdlcic7XHJcblxyXG5leHBvcnQgdHlwZSBMaXN0UXVlcnlGbjxSPiA9ICh0YWtlOiBudW1iZXIsIHNraXA6IG51bWJlciwgLi4uYXJnczogYW55W10pID0+IFF1ZXJ5UmVzdWx0PFIsIGFueT47XHJcbmV4cG9ydCB0eXBlIE1hcHBpbmdGbjxULCBSPiA9IChyZXN1bHQ6IFIpID0+IHsgaXRlbXM6IFRbXTsgdG90YWxJdGVtczogbnVtYmVyIH07XHJcbmV4cG9ydCB0eXBlIE9uUGFnZUNoYW5nZUZuPFY+ID0gKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWO1xyXG5cclxuLyoqXHJcbiAqIFVud3JhcHMgYSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCB3aXRoIGFuIFwiaXRlbXNcIiBwcm9wZXJ0eSxcclxuICogcmV0dXJuaW5nIHRoZSB0eXBlIG9mIG9uZSBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgSXRlbU9mPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbS10gZXh0ZW5kcyB7IGl0ZW1zOiBpbmZlciBSIH1cclxuICAgID8gUiBleHRlbmRzIGFueVtdXHJcbiAgICAgICAgPyBSW251bWJlcl1cclxuICAgICAgICA6IFJcclxuICAgIDogbmV2ZXI7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgaXMgYSBiYXNlIGNsYXNzIHdoaWNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIHJlcXVpcmVkIHRvIGZldGNoIGFuZCBtYW5pcHVsYXRlXHJcbiAqIGEgbGlzdCBvZiBkYXRhIGZyb20gYSBxdWVyeSB3aGljaCByZXR1cm5zIGEgUGFnaW5hdGVkTGlzdCB0eXBlLlxyXG4gKlxyXG4gKiBJdCBpcyBub3JtYWxseSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHtAbGluayBEYXRhVGFibGUyQ29tcG9uZW50fS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgY2xhc3MgQmFzZUxpc3RDb21wb25lbnQ8UmVzdWx0VHlwZSwgSXRlbVR5cGUsIFZhcmlhYmxlVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBhbnk+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIHNlYXJjaFRlcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcclxuICAgIHNlbGVjdGlvbk1hbmFnZXIgPSBuZXcgU2VsZWN0aW9uTWFuYWdlcjxhbnk+KHtcclxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcclxuICAgICAgICBpdGVtc0FyZUVxdWFsOiAoYSwgYikgPT4gYS5pZCA9PT0gYi5pZCxcclxuICAgICAgICBhZGRpdGl2ZU1vZGU6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIHJlc3VsdCQ6IE9ic2VydmFibGU8UmVzdWx0VHlwZT47XHJcbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8SXRlbVR5cGVbXT47XHJcbiAgICB0b3RhbEl0ZW1zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgaXRlbXNQZXJQYWdlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPG51bWJlcj47XHJcbiAgICBwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBsaXN0UXVlcnk6IFF1ZXJ5UmVzdWx0PFJlc3VsdFR5cGUsIFZhcmlhYmxlVHlwZT47XHJcbiAgICBwcml2YXRlIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPjtcclxuICAgIHByaXZhdGUgbWFwcGluZ0ZuOiBNYXBwaW5nRm48SXRlbVR5cGUsIFJlc3VsdFR5cGU+O1xyXG4gICAgcHJpdmF0ZSBvblBhZ2VDaGFuZ2VGbjogT25QYWdlQ2hhbmdlRm48VmFyaWFibGVUeXBlPiA9IChza2lwLCB0YWtlKSA9PlxyXG4gICAgICAgICh7IG9wdGlvbnM6IHsgc2tpcCwgdGFrZSB9IH0gYXMgYW55KTtcclxuICAgIHByb3RlY3RlZCByZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0czogeyB0YWtlOiBudW1iZXI7IHNraXA6IG51bWJlciB9ID0geyB0YWtlOiAxMCwgc2tpcDogMCB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlciwgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogU2V0cyB0aGUgZmV0Y2ggZnVuY3Rpb24gZm9yIHRoZSBsaXN0IGJlaW5nIGltcGxlbWVudGVkLlxyXG4gICAgICovXHJcbiAgICBzZXRRdWVyeUZuKFxyXG4gICAgICAgIGxpc3RRdWVyeUZuOiBMaXN0UXVlcnlGbjxSZXN1bHRUeXBlPixcclxuICAgICAgICBtYXBwaW5nRm46IE1hcHBpbmdGbjxJdGVtVHlwZSwgUmVzdWx0VHlwZT4sXHJcbiAgICAgICAgb25QYWdlQ2hhbmdlRm4/OiBPblBhZ2VDaGFuZ2VGbjxWYXJpYWJsZVR5cGU+LFxyXG4gICAgICAgIGRlZmF1bHRzPzogeyB0YWtlOiBudW1iZXI7IHNraXA6IG51bWJlciB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5saXN0UXVlcnlGbiA9IGxpc3RRdWVyeUZuO1xyXG4gICAgICAgIHRoaXMubWFwcGluZ0ZuID0gbWFwcGluZ0ZuO1xyXG4gICAgICAgIGlmIChvblBhZ2VDaGFuZ2VGbikge1xyXG4gICAgICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZUZuID0gb25QYWdlQ2hhbmdlRm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWZhdWx0cykge1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRzID0gZGVmYXVsdHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5saXN0UXVlcnlGbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICBgTm8gbGlzdFF1ZXJ5Rm4gaGFzIGJlZW4gZGVmaW5lZC4gUGxlYXNlIGNhbGwgc3VwZXIuc2V0UXVlcnlGbigpIGluIHRoZSBjb25zdHJ1Y3Rvci5gLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RRdWVyeSA9IHRoaXMubGlzdFF1ZXJ5Rm4odGhpcy5kZWZhdWx0cy50YWtlLCB0aGlzLmRlZmF1bHRzLnNraXApO1xyXG5cclxuICAgICAgICBjb25zdCBmZXRjaFBhZ2UgPSAoW2N1cnJlbnRQYWdlLCBpdGVtc1BlclBhZ2UsIF9dOiBbbnVtYmVyLCBudW1iZXIsIHVuZGVmaW5lZF0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGFrZSA9IGl0ZW1zUGVyUGFnZTtcclxuICAgICAgICAgICAgY29uc3Qgc2tpcCA9IChjdXJyZW50UGFnZSAtIDEpICogaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RRdWVyeS5yZWYucmVmZXRjaCh0aGlzLm9uUGFnZUNoYW5nZUZuKHNraXAsIHRha2UpKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdCQgPSB0aGlzLmxpc3RRdWVyeS5zdHJlYW0kLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xyXG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkuaXRlbXMpKTtcclxuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkID0gdGhpcy5yZXN1bHQkLnBpcGUobWFwKGRhdGEgPT4gdGhpcy5tYXBwaW5nRm4oZGF0YSkudG90YWxJdGVtcykpO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChxcG0gPT4gcXBtLmdldCgncGFnZScpKSxcclxuICAgICAgICAgICAgbWFwKHBhZ2UgPT4gKCFwYWdlID8gMSA6ICtwYWdlKSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLml0ZW1zUGVyUGFnZSQgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHFwbSA9PiBxcG0uZ2V0KCdwZXJQYWdlJykpLFxyXG4gICAgICAgICAgICBtYXAocGVyUGFnZSA9PiAoIXBlclBhZ2UgPyB0aGlzLmRlZmF1bHRzLnRha2UgOiArcGVyUGFnZSkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5jdXJyZW50UGFnZSQsIHRoaXMuaXRlbXNQZXJQYWdlJCwgdGhpcy5yZWZyZXNoJClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGZldGNoUGFnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIEFjY2VwdHMgYSBsaXN0IG9mIE9ic2VydmFibGVzIHdoaWNoIHdpbGwgdHJpZ2dlciBhIHJlZnJlc2ggb2YgdGhlIGxpc3Qgd2hlbiBhbnkgb2YgdGhlbSBlbWl0LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgcmVmcmVzaExpc3RPbkNoYW5nZXMoLi4uc3RyZWFtczogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+Pikge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaFRlcm0kID0gdGhpcy5zZWFyY2hUZXJtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmICgyIDwgdmFsdWUubGVuZ3RoIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMjUwKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0UGFnZU51bWJlcigxKSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgbWVyZ2Uoc2VhcmNoVGVybSQsIC4uLnN0cmVhbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2gkLm5leHQodW5kZWZpbmVkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMubGlzdFF1ZXJ5LmNvbXBsZXRlZCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIGluIHRoZSB1cmwuXHJcbiAgICAgKi9cclxuICAgIHNldFBhZ2VOdW1iZXIocGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5zZXRRdWVyeVBhcmFtKCdwYWdlJywgcGFnZSwgeyByZXBsYWNlVXJsOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTZXRzIHRoZSBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGhlIHVybC5cclxuICAgICAqL1xyXG4gICAgc2V0SXRlbXNQZXJQYWdlKHBlclBhZ2U6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSgncGVyUGFnZScsIHBlclBhZ2UsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogUmUtZmV0Y2ggdGhlIGN1cnJlbnQgcGFnZSBvZiByZXN1bHRzLlxyXG4gICAgICovXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKFxyXG4gICAgICAgIGhhc2g6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgICAgb3B0aW9ucz86IHsgcmVwbGFjZVVybD86IGJvb2xlYW47IHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIH0sXHJcbiAgICApO1xyXG4gICAgcHJvdGVjdGVkIHNldFF1ZXJ5UGFyYW0oXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgdmFsdWU6IGFueSxcclxuICAgICAgICBvcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICk7XHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShcclxuICAgICAgICBrZXlPckhhc2g6IHN0cmluZyB8IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICAgICAgdmFsdWVPck9wdGlvbnM/OiBhbnksXHJcbiAgICAgICAgbWF5YmVPcHRpb25zPzogeyByZXBsYWNlVXJsPzogYm9vbGVhbjsgcXVlcnlQYXJhbXNIYW5kbGluZz86IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtc09iamVjdCA9IHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8geyBba2V5T3JIYXNoXTogdmFsdWVPck9wdGlvbnMgfSA6IGtleU9ySGFzaDtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gKHR5cGVvZiBrZXlPckhhc2ggPT09ICdzdHJpbmcnID8gbWF5YmVPcHRpb25zIDogdmFsdWVPck9wdGlvbnMpID8/IHt9O1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdHlwZW9mIGtleU9ySGFzaCA9PT0gJ3N0cmluZycgPyB7IFtrZXlPckhhc2hdOiB2YWx1ZU9yT3B0aW9ucyB9IDoga2V5T3JIYXNoLFxyXG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgdmVyc2lvbiBvZiB0aGUge0BsaW5rIEJhc2VMaXN0Q29tcG9uZW50fSB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIHdpdGggYVxyXG4gKiBbVHlwZWREb2N1bWVudE5vZGVdKGh0dHBzOi8vdGhlLWd1aWxkLmRldi9ncmFwaHFsL2NvZGVnZW4vcGx1Z2lucy90eXBlc2NyaXB0L3R5cGVkLWRvY3VtZW50LW5vZGUpLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFR5cGVkQmFzZUxpc3RDb21wb25lbnQ8XHJcbiAgICAgICAgVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgVmFycz4sXHJcbiAgICAgICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgICAgICBWYXJzIGV4dGVuZHMgeyBvcHRpb25zOiB7IGZpbHRlcjogYW55OyBzb3J0OiBhbnkgfSB9ID0gVmFyaWFibGVzT2Y8VD4sXHJcbiAgICA+XHJcbiAgICBleHRlbmRzIEJhc2VMaXN0Q29tcG9uZW50PFJlc3VsdE9mPFQ+LCBJdGVtT2Y8UmVzdWx0T2Y8VD4sIEZpZWxkPiwgVmFyaWFibGVzT2Y8VD4+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcclxuICAgIGNvbnRlbnRMYW5ndWFnZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2UgPSBpbmplY3QoRGF0YVNlcnZpY2UpO1xyXG4gICAgcHJvdGVjdGVkIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gICAgcHJvdGVjdGVkIHNlcnZlckNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlZnJlc2hTdHJlYW1zOiBBcnJheTxPYnNlcnZhYmxlPGFueT4+ID0gW107XHJcbiAgICBwcml2YXRlIGNvbGxlY3Rpb25zOiBBcnJheTxEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uIHwgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248YW55Pj4gPSBbXTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdChSb3V0ZXIpLCBpbmplY3QoQWN0aXZhdGVkUm91dGUpKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICAgICAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29sbGVjdGlvbnMuZm9yRWFjaChjID0+IGMuZGVzdHJveSgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgY29uZmlndXJlKGNvbmZpZzoge1xyXG4gICAgICAgIGRvY3VtZW50OiBUO1xyXG4gICAgICAgIGdldEl0ZW1zOiAoZGF0YTogUmVzdWx0T2Y8VD4pID0+IHsgaXRlbXM6IEFycmF5PEl0ZW1PZjxSZXN1bHRPZjxUPiwgRmllbGQ+PjsgdG90YWxJdGVtczogbnVtYmVyIH07XHJcbiAgICAgICAgc2V0VmFyaWFibGVzPzogKHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKSA9PiBWYXJpYWJsZXNPZjxUPjtcclxuICAgICAgICByZWZyZXNoTGlzdE9uQ2hhbmdlcz86IEFycmF5PE9ic2VydmFibGU8YW55Pj47XHJcbiAgICB9KSB7XHJcbiAgICAgICAgc3VwZXIuc2V0UXVlcnlGbihcclxuICAgICAgICAgICAgKGFyZ3M6IGFueSkgPT4gdGhpcy5kYXRhU2VydmljZS5xdWVyeShjb25maWcuZG9jdW1lbnQpLnJlZmV0Y2hPbkNoYW5uZWxDaGFuZ2UoKSxcclxuICAgICAgICAgICAgZGF0YSA9PiBjb25maWcuZ2V0SXRlbXMoZGF0YSksXHJcbiAgICAgICAgICAgIChza2lwLCB0YWtlKSA9PiBjb25maWcuc2V0VmFyaWFibGVzPy4oc2tpcCwgdGFrZSkgPz8gKHt9IGFzIGFueSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcyQgPSB0aGlzLnNlcnZlckNvbmZpZ1NlcnZpY2UuZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50TGFuZ3VhZ2UkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgLnVpU3RhdGUoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVpU3RhdGUgfSkgPT4gdWlTdGF0ZS5jb250ZW50TGFuZ3VhZ2UpXHJcbiAgICAgICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLnJlZnJlc2goKSkpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaFN0cmVhbXMgPSBjb25maWcucmVmcmVzaExpc3RPbkNoYW5nZXMgPz8gW107XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBzdXBlci5yZWZyZXNoTGlzdE9uQ2hhbmdlcyh0aGlzLmNvbnRlbnRMYW5ndWFnZSQsIC4uLnRoaXMucmVmcmVzaFN0cmVhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUZpbHRlckNvbGxlY3Rpb24oKTogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxOb25OdWxsYWJsZTxOb25OdWxsYWJsZTxWYXJzWydvcHRpb25zJ10+WydmaWx0ZXInXT4+IHtcclxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddWydmaWx0ZXInXT4+KHRoaXMucm91dGVyKTtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2goY29sbGVjdGlvbik7XHJcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlU29ydENvbGxlY3Rpb24oKTogRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddPlsnc29ydCddPj4ge1xyXG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBuZXcgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248Tm9uTnVsbGFibGU8VmFyc1snb3B0aW9ucyddWydzb3J0J10+Pih0aGlzLnJvdXRlcik7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5wdXNoKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGNvZGU6IExhbmd1YWdlQ29kZSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldENvbnRlbnRMYW5ndWFnZShjb2RlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXN0b21GaWVsZENvbmZpZyhrZXk6IEV4Y2x1ZGU8a2V5b2YgQ3VzdG9tRmllbGRzLCAnX190eXBlbmFtZSc+KTogQ3VzdG9tRmllbGRDb25maWdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRDdXN0b21GaWVsZHNGb3Ioa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Auto-generated by the set-version.js script.
|
|
2
|
-
export const ADMIN_UI_VERSION = '2.1.0
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const ADMIN_UI_VERSION = '2.1.0';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICcyLjEuMCc7XG4iXX0=
|
|
@@ -82,4 +82,4 @@ export function registerRouteComponent(options) {
|
|
|
82
82
|
component: AngularRouteComponent,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcm91dGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vcmVnaXN0ZXItcm91dGUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBdUIseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQTJCdkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FNcEMsT0FBc0U7SUFDcEUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVoRSxNQUFNLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUFrQixPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFxQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0UsTUFBTSxTQUFTLEdBTVgsS0FBSyxJQUFJLFNBQVM7UUFDZCxDQUFDLENBQUMseUJBQXlCLENBQUM7WUFDdEIsS0FBSztZQUNMLFNBQVM7WUFDVCxTQUFTO1NBQ1osQ0FBQztRQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFcEIsT0FBTztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDeEIsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsUUFBUSxFQUFFO29CQUNOLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDNUIsTUFBTSxFQUFFLGFBQWE7b0JBQ3JCLFdBQVcsRUFBRSxrQkFBa0I7aUJBQ0Y7YUFDcEM7WUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1NBQzVDO1FBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDakcsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BDLEdBQUcsQ0FBQyxjQUFjO2dCQUNkLENBQUMsQ0FBQztvQkFDSSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDNUU7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7U0FDdkM7UUFDRCxTQUFTLEVBQUUscUJBQXFCO0tBQ25CLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzb2x2ZUZuLCBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlc3VsdE9mLCBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlRGV0YWlsQ29tcG9uZW50LCBjcmVhdGVCYXNlRGV0YWlsUmVzb2x2ZUZuIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJSb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbmd1bGFyLXJvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJPVVRFX0NPTVBPTkVOVF9PUFRJT05TIH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHJvdXRlIGNvbXBvbmVudC5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByb3V0ZXNcclxuICovXHJcbmV4cG9ydCB0eXBlIFJlZ2lzdGVyUm91dGVDb21wb25lbnRPcHRpb25zPFxyXG4gICAgQ29tcG9uZW50IGV4dGVuZHMgYW55IHwgQmFzZURldGFpbENvbXBvbmVudDxFbnRpdHk+LFxyXG4gICAgRW50aXR5IGV4dGVuZHMgeyBpZDogc3RyaW5nOyB1cGRhdGVkQXQ/OiBzdHJpbmcgfSxcclxuICAgIFQgZXh0ZW5kcyBEb2N1bWVudE5vZGUgfCBUeXBlZERvY3VtZW50Tm9kZTxhbnksIHsgaWQ6IHN0cmluZyB9PixcclxuICAgIEZpZWxkIGV4dGVuZHMga2V5b2YgUmVzdWx0T2Y8VD4sXHJcbiAgICBSIGV4dGVuZHMgRmllbGQsXHJcbj4gPSB7XHJcbiAgICBjb21wb25lbnQ6IFR5cGU8Q29tcG9uZW50PiB8IENvbXBvbmVudDtcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgYnJlYWRjcnVtYj86IEJyZWFkY3J1bWJWYWx1ZTtcclxuICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICBxdWVyeT86IFQ7XHJcbiAgICBnZXRCcmVhZGNydW1icz86IChlbnRpdHk6IEV4Y2x1ZGU8UmVzdWx0T2Y8VD5bUl0sICdRdWVyeSc+KSA9PiBCcmVhZGNydW1iVmFsdWU7XHJcbiAgICBlbnRpdHlLZXk/
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItcm91dGUtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9leHRlbnNpb24vcmVnaXN0ZXItcm91dGUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBdUIseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQTJCdkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FNcEMsT0FBc0U7SUFDcEUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVoRSxNQUFNLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUFrQixPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFxQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0UsTUFBTSxTQUFTLEdBTVgsS0FBSyxJQUFJLFNBQVM7UUFDZCxDQUFDLENBQUMseUJBQXlCLENBQUM7WUFDdEIsS0FBSztZQUNMLFNBQVM7WUFDVCxTQUFTO1NBQ1osQ0FBQztRQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFcEIsT0FBTztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDeEIsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHVCQUF1QjtnQkFDaEMsUUFBUSxFQUFFO29CQUNOLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDNUIsTUFBTSxFQUFFLGFBQWE7b0JBQ3JCLFdBQVcsRUFBRSxrQkFBa0I7aUJBQ0Y7YUFDcEM7WUFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1NBQzVDO1FBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUU7UUFDakcsSUFBSSxFQUFFO1lBQ0YsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BDLEdBQUcsQ0FBQyxjQUFjO2dCQUNkLENBQUMsQ0FBQztvQkFDSSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FDZixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDNUU7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7U0FDdkM7UUFDRCxTQUFTLEVBQUUscUJBQXFCO0tBQ25CLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVzb2x2ZUZuLCBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlc3VsdE9mLCBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50Tm9kZSB9IGZyb20gJ2dyYXBocWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlRGV0YWlsQ29tcG9uZW50LCBjcmVhdGVCYXNlRGV0YWlsUmVzb2x2ZUZuIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJSb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbmd1bGFyLXJvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJPVVRFX0NPTVBPTkVOVF9PUFRJT05TIH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlQ29tcG9uZW50T3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHJvdXRlIGNvbXBvbmVudC5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSByb3V0ZXNcclxuICovXHJcbmV4cG9ydCB0eXBlIFJlZ2lzdGVyUm91dGVDb21wb25lbnRPcHRpb25zPFxyXG4gICAgQ29tcG9uZW50IGV4dGVuZHMgYW55IHwgQmFzZURldGFpbENvbXBvbmVudDxFbnRpdHk+LFxyXG4gICAgRW50aXR5IGV4dGVuZHMgeyBpZDogc3RyaW5nOyB1cGRhdGVkQXQ/OiBzdHJpbmcgfSxcclxuICAgIFQgZXh0ZW5kcyBEb2N1bWVudE5vZGUgfCBUeXBlZERvY3VtZW50Tm9kZTxhbnksIHsgaWQ6IHN0cmluZyB9PixcclxuICAgIEZpZWxkIGV4dGVuZHMga2V5b2YgUmVzdWx0T2Y8VD4sXHJcbiAgICBSIGV4dGVuZHMgRmllbGQsXHJcbj4gPSB7XHJcbiAgICBjb21wb25lbnQ6IFR5cGU8Q29tcG9uZW50PiB8IENvbXBvbmVudDtcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgYnJlYWRjcnVtYj86IEJyZWFkY3J1bWJWYWx1ZTtcclxuICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICBxdWVyeT86IFQ7XHJcbiAgICBnZXRCcmVhZGNydW1icz86IChlbnRpdHk6IEV4Y2x1ZGU8UmVzdWx0T2Y8VD5bUl0sICdRdWVyeSc+KSA9PiBCcmVhZGNydW1iVmFsdWU7XHJcbiAgICBlbnRpdHlLZXk/OiBDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGV0YWlsQ29tcG9uZW50PGFueT4gPyBSIDogdW5kZWZpbmVkO1xyXG4gICAgdmFyaWFibGVzPzogVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgaW5mZXIgVj4gPyBPbWl0PFYsICdpZCc+IDogbmV2ZXI7XHJcbiAgICByb3V0ZUNvbmZpZz86IFJvdXRlO1xyXG59ICYgKENvbXBvbmVudCBleHRlbmRzIEJhc2VEZXRhaWxDb21wb25lbnQ8YW55PiA/IHsgZW50aXR5S2V5OiBSIH0gOiB1bmtub3duKTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogUmVnaXN0ZXJzIGFuIEFuZ3VsYXIgc3RhbmRhbG9uZSBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWQgaW4gYSByb3V0ZS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHMgdGl0bGU9XCJyb3V0ZXMudHNcIlxyXG4gKiBpbXBvcnQgeyByZWdpc3RlclJvdXRlQ29tcG9uZW50IH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuICogaW1wb3J0IHsgcmVnaXN0ZXJSZWFjdFJvdXRlQ29tcG9uZW50IH0gZnJvbSAnXFxAdmVuZHVyZS9hZG1pbi11aS9yZWFjdCc7XHJcbiAqXHJcbiAqIGltcG9ydCB7IFByb2R1Y3RSZXZpZXdEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC1yZXZpZXctZGV0YWlsL3Byb2R1Y3QtcmV2aWV3LWRldGFpbC5jb21wb25lbnQnO1xyXG4gKiBpbXBvcnQgeyBBbGxQcm9kdWN0UmV2aWV3c0xpc3QgfSBmcm9tICcuL2NvbXBvbmVudHMvYWxsLXByb2R1Y3QtcmV2aWV3cy1saXN0L2FsbC1wcm9kdWN0LXJldmlld3MtbGlzdC5jb21wb25lbnQnO1xyXG4gKiBpbXBvcnQgeyBHZXRSZXZpZXdEZXRhaWxEb2N1bWVudCB9IGZyb20gJy4vZ2VuZXJhdGVkLXR5cGVzJztcclxuICpcclxuICogZXhwb3J0IGRlZmF1bHQgW1xyXG4gKiAgICAgcmVnaXN0ZXJSb3V0ZUNvbXBvbmVudCh7XHJcbiAqICAgICAgICAgcGF0aDogJycsXHJcbiAqICAgICAgICAgY29tcG9uZW50OiBBbGxQcm9kdWN0UmV2aWV3c0xpc3QsXHJcbiAqICAgICAgICAgYnJlYWRjcnVtYjogJ1Byb2R1Y3QgcmV2aWV3cycsXHJcbiAqICAgICB9KSxcclxuICogICAgIHJlZ2lzdGVyUm91dGVDb21wb25lbnQoe1xyXG4gKiAgICAgICAgIHBhdGg6ICc6aWQnLFxyXG4gKiAgICAgICAgIGNvbXBvbmVudDogUHJvZHVjdFJldmlld0RldGFpbENvbXBvbmVudCxcclxuICogICAgICAgICBxdWVyeTogR2V0UmV2aWV3RGV0YWlsRG9jdW1lbnQsXHJcbiAqICAgICAgICAgZW50aXR5S2V5OiAncHJvZHVjdFJldmlldycsXHJcbiAqICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAqICAgICAgICAgICAgIHtcclxuICogICAgICAgICAgICAgICAgIGxhYmVsOiAnUHJvZHVjdCByZXZpZXdzJyxcclxuICogICAgICAgICAgICAgICAgIGxpbms6IFsnL2V4dGVuc2lvbnMnLCAncHJvZHVjdC1yZXZpZXdzJ10sXHJcbiAqICAgICAgICAgICAgIH0sXHJcbiAqICAgICAgICAgICAgIHtcclxuICogICAgICAgICAgICAgICAgIGxhYmVsOiBgIyR7ZW50aXR5Py5pZH0gKCR7ZW50aXR5Py5wcm9kdWN0Lm5hbWV9KWAsXHJcbiAqICAgICAgICAgICAgICAgICBsaW5rOiBbXSxcclxuICogICAgICAgICAgICAgfSxcclxuICogICAgICAgICBdLFxyXG4gKiAgICAgfSksXHJcbiAqIF07XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IHJvdXRlc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUm91dGVDb21wb25lbnQ8XHJcbiAgICBDb21wb25lbnQgZXh0ZW5kcyBhbnkgfCBCYXNlRGV0YWlsQ29tcG9uZW50PEVudGl0eT4sXHJcbiAgICBFbnRpdHkgZXh0ZW5kcyB7IGlkOiBzdHJpbmc7IHVwZGF0ZWRBdD86IHN0cmluZyB9LFxyXG4gICAgVCBleHRlbmRzIERvY3VtZW50Tm9kZSB8IFR5cGVkRG9jdW1lbnROb2RlPGFueSwgeyBpZDogc3RyaW5nIH0+LFxyXG4gICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgIFIgZXh0ZW5kcyBGaWVsZCxcclxuPihvcHRpb25zOiBSZWdpc3RlclJvdXRlQ29tcG9uZW50T3B0aW9uczxDb21wb25lbnQsIEVudGl0eSwgVCwgRmllbGQsIFI+KSB7XHJcbiAgICBjb25zdCB7IHF1ZXJ5LCBlbnRpdHlLZXksIHZhcmlhYmxlcywgZ2V0QnJlYWRjcnVtYnMgfSA9IG9wdGlvbnM7XHJcblxyXG4gICAgY29uc3QgYnJlYWRjcnVtYlN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCcmVhZGNydW1iVmFsdWU+KG9wdGlvbnMuYnJlYWRjcnVtYiA/PyAnJyk7XHJcbiAgICBjb25zdCB0aXRsZVN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KG9wdGlvbnMudGl0bGUpO1xyXG5cclxuICAgIGNvbnN0IHJlc29sdmVGbjpcclxuICAgICAgICB8IFJlc29sdmVGbjx7XHJcbiAgICAgICAgICAgICAgZW50aXR5OiBPYnNlcnZhYmxlPFJlc3VsdE9mPFQ+W0ZpZWxkXSB8IG51bGw+O1xyXG4gICAgICAgICAgICAgIHJlc3VsdD86IFJlc3VsdE9mPFQ+O1xyXG4gICAgICAgICAgfT5cclxuICAgICAgICB8IHVuZGVmaW5lZCA9XHJcbiAgICAgICAgcXVlcnkgJiYgZW50aXR5S2V5XHJcbiAgICAgICAgICAgID8gY3JlYXRlQmFzZURldGFpbFJlc29sdmVGbih7XHJcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxyXG4gICAgICAgICAgICAgICAgICBlbnRpdHlLZXksXHJcbiAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHBhdGg6IG9wdGlvbnMucGF0aCA/PyAnJyxcclxuICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVfQ09NUE9ORU5UX09QVElPTlMsXHJcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogb3B0aW9ucy5jb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUkOiB0aXRsZVN1YmplY3QkLFxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIkOiBicmVhZGNydW1iU3ViamVjdCQsXHJcbiAgICAgICAgICAgICAgICB9IHNhdGlzZmllcyBSb3V0ZUNvbXBvbmVudE9wdGlvbnMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC4uLihvcHRpb25zLnJvdXRlQ29uZmlnPy5wcm92aWRlcnMgPz8gW10pLFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgLi4uKG9wdGlvbnMucm91dGVDb25maWcgPz8ge30pLFxyXG4gICAgICAgIHJlc29sdmU6IHsgLi4uKHJlc29sdmVGbiA/IHsgZGV0YWlsOiByZXNvbHZlRm4gfSA6IHt9KSwgLi4uKG9wdGlvbnMucm91dGVDb25maWc/LnJlc29sdmUgPz8ge30pIH0sXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBicmVhZGNydW1iOiBicmVhZGNydW1iU3ViamVjdCQsXHJcbiAgICAgICAgICAgIC4uLihvcHRpb25zLnJvdXRlQ29uZmlnPy5kYXRhID8/IHt9KSxcclxuICAgICAgICAgICAgLi4uKGdldEJyZWFkY3J1bWJzXHJcbiAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWI6IGRhdGEgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRldGFpbC5lbnRpdHkucGlwZShtYXAoKGVudGl0eTogYW55KSA9PiBnZXRCcmVhZGNydW1icyhlbnRpdHkpKSksXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDoge30pLFxyXG4gICAgICAgICAgICAuLi4ob3B0aW9ucy5yb3V0ZUNvbmZpZz8uZGF0YSA/PyB7fSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wb25lbnQ6IEFuZ3VsYXJSb3V0ZUNvbXBvbmVudCxcclxuICAgIH0gc2F0aXNmaWVzIFJvdXRlO1xyXG59XHJcbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|
|
2
2
|
import { assertNever } from '@vendure/common/lib/shared-utils';
|
|
3
3
|
import extend from 'just-extend';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
|
-
import { debounceTime, distinctUntilChanged, map, startWith } from 'rxjs/operators';
|
|
5
|
+
import { debounceTime, distinctUntilChanged, map, startWith, takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { DataTableFilter, } from './data-table-filter';
|
|
7
7
|
export class FilterWithValue {
|
|
8
8
|
constructor(filter, value, onUpdate) {
|
|
@@ -58,6 +58,7 @@ export class DataTableFilterCollection {
|
|
|
58
58
|
this.#connectedToRouter = false;
|
|
59
59
|
this.valueChanges = this.#valueChanges$.asObservable().pipe(debounceTime(10));
|
|
60
60
|
this.#filtersQueryParamName = 'filters';
|
|
61
|
+
this.destroy$ = new Subject();
|
|
61
62
|
}
|
|
62
63
|
get length() {
|
|
63
64
|
return this.#filters.length;
|
|
@@ -65,6 +66,10 @@ export class DataTableFilterCollection {
|
|
|
65
66
|
get activeFilters() {
|
|
66
67
|
return this.#activeFilters;
|
|
67
68
|
}
|
|
69
|
+
destroy() {
|
|
70
|
+
this.destroy$.next();
|
|
71
|
+
this.destroy$.complete();
|
|
72
|
+
}
|
|
68
73
|
addFilter(config) {
|
|
69
74
|
if (this.#connectedToRouter) {
|
|
70
75
|
throw new Error('Cannot add filter after connecting to router. Make sure to call addFilter() before connectToRoute()');
|
|
@@ -161,8 +166,19 @@ export class DataTableFilterCollection {
|
|
|
161
166
|
}, {});
|
|
162
167
|
}
|
|
163
168
|
connectToRoute(route) {
|
|
169
|
+
this.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(val => {
|
|
170
|
+
const currentFilters = route.snapshot.queryParamMap.get(this.#filtersQueryParamName);
|
|
171
|
+
if (val.length === 0 && !currentFilters) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
this.router.navigate(['./'], {
|
|
175
|
+
queryParams: { [this.#filtersQueryParamName]: this.serialize(), page: 1 },
|
|
176
|
+
relativeTo: route,
|
|
177
|
+
queryParamsHandling: 'merge',
|
|
178
|
+
});
|
|
179
|
+
});
|
|
164
180
|
route.queryParamMap
|
|
165
|
-
.pipe(map(params => params.get(this.#filtersQueryParamName)), distinctUntilChanged(), startWith(route.snapshot.queryParamMap.get(this.#filtersQueryParamName) ?? ''))
|
|
181
|
+
.pipe(map(params => params.get(this.#filtersQueryParamName)), distinctUntilChanged(), startWith(route.snapshot.queryParamMap.get(this.#filtersQueryParamName) ?? ''), takeUntil(this.destroy$))
|
|
166
182
|
.subscribe(value => {
|
|
167
183
|
this.#activeFilters = [];
|
|
168
184
|
if (value === '' || value === null) {
|
|
@@ -276,4 +292,4 @@ export class DataTableFilterCollection {
|
|
|
276
292
|
return new FilterWithValue(filter, value, v => this.#valueChanges$.next(v));
|
|
277
293
|
}
|
|
278
294
|
}
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFwRixPQUFPLEVBQ0gsZUFBZSxHQVdsQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQ29CLE1BQWtDLEVBQzNDLEtBQWlDLEVBQ3hDLFFBQXNEO1FBRnRDLFdBQU0sR0FBTixNQUFNLENBQTRCO1FBQzNDLFVBQUssR0FBTCxLQUFLLENBQTRCO1FBSHBDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQStDLENBQUM7UUFNekUsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBK0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFX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SUFFTyxxQkFBcUIsQ0FDekIsTUFBaUMsRUFDakMsS0FBZ0Q7UUFFaEQsT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgZXh0ZW5kIGZyb20gJ2p1c3QtZXh0ZW5kJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICAgIEN1c3RvbUZpZWxkQ29uZmlnLFxyXG4gICAgRGF0ZU9wZXJhdG9ycyxcclxuICAgIElkT3BlcmF0b3JzLFxyXG4gICAgTnVtYmVyT3BlcmF0b3JzLFxyXG4gICAgU3RyaW5nT3BlcmF0b3JzLFxyXG59IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgRGF0YVRhYmxlRmlsdGVyLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyRGF0ZVJhbmdlVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlcklEVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlck51bWJlclR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJPcHRpb25zLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlclRleHRUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlclZhbHVlLFxyXG59IGZyb20gJy4vZGF0YS10YWJsZS1maWx0ZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlcldpdGhWYWx1ZTxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZSA9IERhdGFUYWJsZUZpbHRlclR5cGU+IHtcclxuICAgIHByaXZhdGUgb25VcGRhdGVGbnMgPSBuZXcgU2V0PCh2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8VHlwZT4pID0+IHZvaWQ+KCk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBUeXBlPixcclxuICAgICAgICBwdWJsaWMgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+LFxyXG4gICAgICAgIG9uVXBkYXRlPzogKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikgPT4gdm9pZCxcclxuICAgICkge1xyXG4gICAgICAgIGlmIChvblVwZGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uVXBkYXRlRm5zLmFkZChvblVwZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlKGZuOiAodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5vblVwZGF0ZUZucy5hZGQoZm4pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVZhbHVlKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGZuIG9mIHRoaXMub25VcGRhdGVGbnMpIHtcclxuICAgICAgICAgICAgZm4odmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0lkKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlcklEVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdpZCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNUZXh0KCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlclRleHRUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ3RleHQnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTnVtYmVyKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlck51bWJlclR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnbnVtYmVyJztcclxuICAgIH1cclxuXHJcbiAgICBpc0Jvb2xlYW4oKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnYm9vbGVhbic7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTZWxlY3QoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdzZWxlY3QnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRGF0ZVJhbmdlKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlckRhdGVSYW5nZVR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnZGF0ZVJhbmdlJztcclxuICAgIH1cclxuXHJcbiAgICBpc0N1c3RvbSgpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ2N1c3RvbSc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcclxuICAgIHJlYWRvbmx5ICNmaWx0ZXJzOiBBcnJheTxEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIGFueT4+ID0gW107XHJcbiAgICAjYWN0aXZlRmlsdGVyczogRmlsdGVyV2l0aFZhbHVlW10gPSBbXTtcclxuICAgICN2YWx1ZUNoYW5nZXMkID0gbmV3IFN1YmplY3Q8RmlsdGVyV2l0aFZhbHVlW10+KCk7XHJcbiAgICAjY29ubmVjdGVkVG9Sb3V0ZXIgPSBmYWxzZTtcclxuICAgIHZhbHVlQ2hhbmdlcyA9IHRoaXMuI3ZhbHVlQ2hhbmdlcyQuYXNPYnNlcnZhYmxlKCkucGlwZShkZWJvdW5jZVRpbWUoMTApKTtcclxuICAgIHJlYWRvbmx5ICNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUgPSAnZmlsdGVycyc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2ZpbHRlcnMubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBhY3RpdmVGaWx0ZXJzKCk6IEZpbHRlcldpdGhWYWx1ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVycztcclxuICAgIH1cclxuXHJcbiAgICBhZGRGaWx0ZXI8RmlsdGVyVHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGU+KFxyXG4gICAgICAgIGNvbmZpZzogRGF0YVRhYmxlRmlsdGVyT3B0aW9uczxGaWx0ZXJJbnB1dCwgRmlsdGVyVHlwZT4sXHJcbiAgICApOiBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuI2Nvbm5lY3RlZFRvUm91dGVyKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICdDYW5ub3QgYWRkIGZpbHRlciBhZnRlciBjb25uZWN0aW5nIHRvIHJvdXRlci4gTWFrZSBzdXJlIHRvIGNhbGwgYWRkRmlsdGVyKCkgYmVmb3JlIGNvbm5lY3RUb1JvdXRlKCknLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNmaWx0ZXJzLnB1c2goXHJcbiAgICAgICAgICAgIG5ldyBEYXRhVGFibGVGaWx0ZXIoY29uZmlnLCAoZmlsdGVyLCB2YWx1ZSkgPT4gdGhpcy5vbkFjdGl2YXRlRmlsdGVyKGZpbHRlciwgdmFsdWUpKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEZpbHRlcnM8RmlsdGVyVHlwZSBleHRlbmRzIERhdGFUYWJsZUZpbHRlclR5cGU+KFxyXG4gICAgICAgIGNvbmZpZ3M6IEFycmF5PERhdGFUYWJsZUZpbHRlck9wdGlvbnM8RmlsdGVySW5wdXQsIEZpbHRlclR5cGU+PixcclxuICAgICk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQ+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyKGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZElkRmlsdGVyKCk6IEZpbHRlcklucHV0IGV4dGVuZHMge1xyXG4gICAgICAgIGlkPzogSWRPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgfVxyXG4gICAgICAgID8gRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD5cclxuICAgICAgICA6IG5ldmVyIHtcclxuICAgICAgICB0aGlzLmFkZEZpbHRlcih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdpZCcsXHJcbiAgICAgICAgICAgIHR5cGU6IHsga2luZDogJ2lkJyB9LFxyXG4gICAgICAgICAgICBsYWJlbDogXygnY29tbW9uLmlkJyksXHJcbiAgICAgICAgICAgIGZpbHRlckZpZWxkOiAnaWQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICBhZGREYXRlRmlsdGVycygpOiBGaWx0ZXJJbnB1dCBleHRlbmRzIHtcclxuICAgICAgICBjcmVhdGVkQXQ/OiBEYXRlT3BlcmF0b3JzIHwgbnVsbDtcclxuICAgICAgICB1cGRhdGVkQXQ/OiBEYXRlT3BlcmF0b3JzIHwgbnVsbDtcclxuICAgIH1cclxuICAgICAgICA/IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQ+XHJcbiAgICAgICAgOiBuZXZlciB7XHJcbiAgICAgICAgdGhpcy5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAnY3JlYXRlZEF0JyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnZGF0ZVJhbmdlJyB9LFxyXG4gICAgICAgICAgICBsYWJlbDogXygnY29tbW9uLmNyZWF0ZWQtYXQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICdjcmVhdGVkQXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXHJcbiAgICAgICAgICAgIHR5cGU6IHsga2luZDogJ2RhdGVSYW5nZScgfSxcclxuICAgICAgICAgICAgbGFiZWw6IF8oJ2NvbW1vbi51cGRhdGVkLWF0JyksXHJcbiAgICAgICAgICAgIGZpbHRlckZpZWxkOiAndXBkYXRlZEF0JyxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcyBhcyBhbnk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ3VzdG9tRmllbGRGaWx0ZXJzKGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGN1c3RvbUZpZWxkcykge1xyXG4gICAgICAgICAgICBjb25zdCB0eXBlID0gY29uZmlnLnR5cGUgYXMgQ3VzdG9tRmllbGRUeXBlO1xyXG4gICAgICAgICAgICBpZiAoY29uZmlnLmxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmaWx0ZXJUeXBlOiBEYXRhVGFibGVGaWx0ZXJUeXBlIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclR5cGUgPSB7IGtpbmQ6ICdib29sZWFuJyB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb2F0JzpcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlID0geyBraW5kOiAnbnVtYmVyJyB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZXRpbWUnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclR5cGUgPSB7IGtpbmQ6ICdkYXRlUmFuZ2UnIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWxlU3RyaW5nJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2xvY2FsZVRleHQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAndGV4dCc6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ3RleHQnIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdyZWxhdGlvbic6XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHNvcnQgcmVsYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChmaWx0ZXJUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEZpbHRlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogY29uZmlnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsdGVyVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogY29uZmlnLmxhYmVsID8/IGNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlckZpZWxkOiBjb25maWcubmFtZSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcihuYW1lOiBzdHJpbmcpOiBEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQ+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jZmlsdGVycy5maW5kKGYgPT4gZi5uYW1lID09PSBuYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGaWx0ZXJzKCk6IEFycmF5PERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dD4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jZmlsdGVycztcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBY3RpdmVGaWx0ZXJBdEluZGV4KGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLiNhY3RpdmVGaWx0ZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KHRoaXMuI2FjdGl2ZUZpbHRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUZpbHRlcklucHV0KCk6IEZpbHRlcklucHV0IHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVycy5yZWR1Y2UoKGFjYywgeyBmaWx0ZXIsIHZhbHVlIH0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZSAhPSBudWxsID8gZmlsdGVyLnRvRmlsdGVySW5wdXQodmFsdWUpIDoge307XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGV4dGVuZCh0cnVlLCBhY2MsIG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCBhcyBGaWx0ZXJJbnB1dDtcclxuICAgICAgICB9LCB7fSBhcyBGaWx0ZXJJbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdFRvUm91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICAgICAgcm91dGUucXVlcnlQYXJhbU1hcFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLmdldCh0aGlzLiNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUpKSxcclxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgocm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQodGhpcy4jZmlsdGVyc1F1ZXJ5UGFyYW1OYW1lKSA/PyAnJyksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLiNhY3RpdmVGaWx0ZXJzID0gW107XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KHRoaXMuI2FjdGl2ZUZpbHRlcnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5UGFyYW1zID0gKHZhbHVlID8/ICcnKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnOycpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCh2YWx1ZSA9PiB2YWx1ZS5zcGxpdCgnOicpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+ICh7IG5hbWUsIHZhbHVlIH0pKTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgeyBuYW1lLCB2YWx1ZSB9IG9mIGZpbHRlclF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIobmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmRlc2VyaWFsaXplVmFsdWUoZmlsdGVyLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci5hY3RpdmF0ZSh2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuI2Nvbm5lY3RlZFRvUm91dGVyID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc2VyaWFsaXplKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2FjdGl2ZUZpbHRlcnNcclxuICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgIChmaWx0ZXJXaXRoVmFsdWUsIGkpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgYCR7ZmlsdGVyV2l0aFZhbHVlLmZpbHRlci5uYW1lfToke3RoaXMuc2VyaWFsaXplVmFsdWUoZmlsdGVyV2l0aFZhbHVlKX1gLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5qb2luKCc7Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXJpYWxpemVWYWx1ZTxUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgZmlsdGVyV2l0aFZhbHVlOiBGaWx0ZXJXaXRoVmFsdWU8VHlwZT4sXHJcbiAgICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNJZCgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3ZhbD8ub3BlcmF0b3J9LCR7dmFsPy50ZXJtfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNUZXh0KCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsPy5vcGVyYXRvcn0sJHt2YWw/LnRlcm19YDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc051bWJlcigpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3ZhbC5vcGVyYXRvcn0sJHt2YWwuYW1vdW50fWA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNTZWxlY3QoKSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBmaWx0ZXJXaXRoVmFsdWUudmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWwuam9pbignLCcpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzQm9vbGVhbigpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbCA/ICcxJyA6ICcwJztcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc0RhdGVSYW5nZSgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKHZhbC5tb2RlID09PSAncmVsYXRpdmUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dmFsLm1vZGV9LCR7dmFsLnJlbGF0aXZlVmFsdWV9LCR7dmFsLnJlbGF0aXZlVW5pdH1gO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWwuc3RhcnQgPyBuZXcgRGF0ZSh2YWwuc3RhcnQpLmdldFRpbWUoKSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gdmFsLmVuZCA/IG5ldyBEYXRlKHZhbC5lbmQpLmdldFRpbWUoKSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3N0YXJ0fSwke2VuZH1gO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNDdXN0b20oKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyV2l0aFZhbHVlLmZpbHRlci50eXBlLnNlcmlhbGl6ZVZhbHVlKGZpbHRlcldpdGhWYWx1ZS52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVzZXJpYWxpemVWYWx1ZShcclxuICAgICAgICBmaWx0ZXI6IERhdGFUYWJsZUZpbHRlcixcclxuICAgICAgICB2YWx1ZTogc3RyaW5nLFxyXG4gICAgKTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8RGF0YVRhYmxlRmlsdGVyVHlwZT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZmlsdGVyLnR5cGUua2luZCkge1xyXG4gICAgICAgICAgICBjYXNlICdpZCc6IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtvcGVyYXRvciwgdGVybV0gPSB2YWx1ZS5zcGxpdCgnLCcpIGFzIFtrZXlvZiBTdHJpbmdPcGVyYXRvcnMsIHN0cmluZ107XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBvcGVyYXRvciwgdGVybSB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbb3BlcmF0b3IsIHRlcm1dID0gdmFsdWUuc3BsaXQoJywnKSBhcyBba2V5b2YgU3RyaW5nT3BlcmF0b3JzLCBzdHJpbmddO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3IsIHRlcm0gfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdudW1iZXInOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbb3BlcmF0b3IsIGFtb3VudF0gPSB2YWx1ZS5zcGxpdCgnLCcpIGFzIFtrZXlvZiBOdW1iZXJPcGVyYXRvcnMsIHN0cmluZ107XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBvcGVyYXRvciwgYW1vdW50OiArYW1vdW50IH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gJzEnO1xyXG4gICAgICAgICAgICBjYXNlICdkYXRlUmFuZ2UnOlxyXG4gICAgICAgICAgICAgICAgbGV0IG1vZGUgPSAncmVsYXRpdmUnO1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlbGF0aXZlVmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGxldCByZWxhdGl2ZVVuaXQ6ICdkYXknIHwgJ21vbnRoJyB8ICd5ZWFyJyB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGxldCBzdGFydDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgbGV0IGVuZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoJ3JlbGF0aXZlJykpIHtcclxuICAgICAgICAgICAgICAgICAgICBtb2RlID0gJ3JlbGF0aXZlJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBbXywgcmVsYXRpdmVWYWx1ZVN0ciwgcmVsYXRpdmVVbml0U3RyXSA9IHZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVWYWx1ZSA9IE51bWJlcihyZWxhdGl2ZVZhbHVlU3RyKTtcclxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVVuaXQgPSByZWxhdGl2ZVVuaXRTdHIgYXMgJ2RheScgfCAnbW9udGgnIHwgJ3llYXInO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBtb2RlID0gJ3JhbmdlJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBbc3RhcnRUaW1lc3RhbXAsIGVuZFRpbWVzdGFtcF0gPSB2YWx1ZS5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gc3RhcnRUaW1lc3RhbXAgPyBuZXcgRGF0ZShOdW1iZXIoc3RhcnRUaW1lc3RhbXApKS50b0lTT1N0cmluZygpIDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZW5kID0gZW5kVGltZXN0YW1wID8gbmV3IERhdGUoTnVtYmVyKGVuZFRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCkgOiAnJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG1vZGUsIHJlbGF0aXZlVmFsdWUsIHJlbGF0aXZlVW5pdCwgc3RhcnQsIGVuZCB9O1xyXG4gICAgICAgICAgICBjYXNlICdjdXN0b20nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci50eXBlLmRlc2VyaWFsaXplVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIoZmlsdGVyLnR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uQWN0aXZhdGVGaWx0ZXIoZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBhbnk+LCB2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8YW55Pikge1xyXG4gICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMucHVzaCh0aGlzLmNyZWF0ZUZpbHRlcldpdGhWYWx1ZShmaWx0ZXIsIHZhbHVlKSk7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KHRoaXMuI2FjdGl2ZUZpbHRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlRmlsdGVyV2l0aFZhbHVlKFxyXG4gICAgICAgIGZpbHRlcjogRGF0YVRhYmxlRmlsdGVyPGFueSwgYW55PixcclxuICAgICAgICB2YWx1ZTogRGF0YVRhYmxlRmlsdGVyVmFsdWU8RGF0YVRhYmxlRmlsdGVyVHlwZT4sXHJcbiAgICApIHtcclxuICAgICAgICByZXR1cm4gbmV3IEZpbHRlcldpdGhWYWx1ZShmaWx0ZXIsIHZhbHVlLCB2ID0+IHRoaXMuI3ZhbHVlQ2hhbmdlcyQubmV4dCh2KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvcHJvdmlkZXJzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRL0YsT0FBTyxFQUNILGVBQWUsR0FXbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLE9BQU8sZUFBZTtJQUd4QixZQUNvQixNQUFrQyxFQUMzQyxLQUFpQyxFQUN4QyxRQUFzRDtRQUZ0QyxXQUFNLEdBQU4sTUFBTSxDQUE0QjtRQUMzQyxVQUFLLEdBQUwsS0FBSyxDQUE0QjtRQUpwQyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUErQyxDQUFDO1FBT3pFLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQStDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUM7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJ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IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgZXh0ZW5kIGZyb20gJ2p1c3QtZXh0ZW5kJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICBEYXRlT3BlcmF0b3JzLFxyXG4gICAgSWRPcGVyYXRvcnMsXHJcbiAgICBOdW1iZXJPcGVyYXRvcnMsXHJcbiAgICBTdHJpbmdPcGVyYXRvcnMsXHJcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBEYXRhVGFibGVGaWx0ZXIsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJCb29sZWFuVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlckN1c3RvbVR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJEYXRlUmFuZ2VUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVySURUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyTnVtYmVyVHlwZSxcclxuICAgIERhdGFUYWJsZUZpbHRlck9wdGlvbnMsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJTZWxlY3RUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVGV4dFR5cGUsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJUeXBlLFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyVmFsdWUsXHJcbn0gZnJvbSAnLi9kYXRhLXRhYmxlLWZpbHRlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyV2l0aFZhbHVlPFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlID0gRGF0YVRhYmxlRmlsdGVyVHlwZT4ge1xyXG4gICAgcHJpdmF0ZSBvblVwZGF0ZUZucyA9IG5ldyBTZXQ8KHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikgPT4gdm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBUeXBlPixcclxuICAgICAgICBwdWJsaWMgdmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+LFxyXG4gICAgICAgIG9uVXBkYXRlPzogKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikgPT4gdm9pZCxcclxuICAgICkge1xyXG4gICAgICAgIGlmIChvblVwZGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9uVXBkYXRlRm5zLmFkZChvblVwZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlKGZuOiAodmFsdWU6IERhdGFUYWJsZUZpbHRlclZhbHVlPFR5cGU+KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5vblVwZGF0ZUZucy5hZGQoZm4pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVZhbHVlKHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxUeXBlPikge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGZuIG9mIHRoaXMub25VcGRhdGVGbnMpIHtcclxuICAgICAgICAgICAgZm4odmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0lkKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlcklEVHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdpZCc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNUZXh0KCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlclRleHRUeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ3RleHQnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTnVtYmVyKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlck51bWJlclR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnbnVtYmVyJztcclxuICAgIH1cclxuXHJcbiAgICBpc0Jvb2xlYW4oKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyQm9vbGVhblR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnYm9vbGVhbic7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTZWxlY3QoKTogdGhpcyBpcyBGaWx0ZXJXaXRoVmFsdWU8RGF0YVRhYmxlRmlsdGVyU2VsZWN0VHlwZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci50eXBlLmtpbmQgPT09ICdzZWxlY3QnO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRGF0ZVJhbmdlKCk6IHRoaXMgaXMgRmlsdGVyV2l0aFZhbHVlPERhdGFUYWJsZUZpbHRlckRhdGVSYW5nZVR5cGU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIudHlwZS5raW5kID09PSAnZGF0ZVJhbmdlJztcclxuICAgIH1cclxuXHJcbiAgICBpc0N1c3RvbSgpOiB0aGlzIGlzIEZpbHRlcldpdGhWYWx1ZTxEYXRhVGFibGVGaWx0ZXJDdXN0b21UeXBlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyLnR5cGUua2luZCA9PT0gJ2N1c3RvbSc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4+IHtcclxuICAgIHJlYWRvbmx5ICNmaWx0ZXJzOiBBcnJheTxEYXRhVGFibGVGaWx0ZXI8RmlsdGVySW5wdXQsIGFueT4+ID0gW107XHJcbiAgICAjYWN0aXZlRmlsdGVyczogRmlsdGVyV2l0aFZhbHVlW10gPSBbXTtcclxuICAgICN2YWx1ZUNoYW5nZXMkID0gbmV3IFN1YmplY3Q8RmlsdGVyV2l0aFZhbHVlW10+KCk7XHJcbiAgICAjY29ubmVjdGVkVG9Sb3V0ZXIgPSBmYWxzZTtcclxuICAgIHZhbHVlQ2hhbmdlcyA9IHRoaXMuI3ZhbHVlQ2hhbmdlcyQuYXNPYnNlcnZhYmxlKCkucGlwZShkZWJvdW5jZVRpbWUoMTApKTtcclxuICAgIHJlYWRvbmx5ICNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUgPSAnZmlsdGVycyc7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jZmlsdGVycy5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFjdGl2ZUZpbHRlcnMoKTogRmlsdGVyV2l0aFZhbHVlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNhY3RpdmVGaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEZpbHRlcjxGaWx0ZXJUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgY29uZmlnOiBEYXRhVGFibGVGaWx0ZXJPcHRpb25zPEZpbHRlcklucHV0LCBGaWx0ZXJUeXBlPixcclxuICAgICk6IERhdGFUYWJsZUZpbHRlckNvbGxlY3Rpb248RmlsdGVySW5wdXQ+IHtcclxuICAgICAgICBpZiAodGhpcy4jY29ubmVjdGVkVG9Sb3V0ZXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgJ0Nhbm5vdCBhZGQgZmlsdGVyIGFmdGVyIGNvbm5lY3RpbmcgdG8gcm91dGVyLiBNYWtlIHN1cmUgdG8gY2FsbCBhZGRGaWx0ZXIoKSBiZWZvcmUgY29ubmVjdFRvUm91dGUoKScsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuI2ZpbHRlcnMucHVzaChcclxuICAgICAgICAgICAgbmV3IERhdGFUYWJsZUZpbHRlcihjb25maWcsIChmaWx0ZXIsIHZhbHVlKSA9PiB0aGlzLm9uQWN0aXZhdGVGaWx0ZXIoZmlsdGVyLCB2YWx1ZSkpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkRmlsdGVyczxGaWx0ZXJUeXBlIGV4dGVuZHMgRGF0YVRhYmxlRmlsdGVyVHlwZT4oXHJcbiAgICAgICAgY29uZmlnczogQXJyYXk8RGF0YVRhYmxlRmlsdGVyT3B0aW9uczxGaWx0ZXJJbnB1dCwgRmlsdGVyVHlwZT4+LFxyXG4gICAgKTogRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD4ge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRGaWx0ZXIoY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkSWRGaWx0ZXIoKTogRmlsdGVySW5wdXQgZXh0ZW5kcyB7XHJcbiAgICAgICAgaWQ/OiBJZE9wZXJhdG9ycyB8IG51bGw7XHJcbiAgICB9XHJcbiAgICAgICAgPyBEYXRhVGFibGVGaWx0ZXJDb2xsZWN0aW9uPEZpbHRlcklucHV0PlxyXG4gICAgICAgIDogbmV2ZXIge1xyXG4gICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgbmFtZTogJ2lkJyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnaWQnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24uaWQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICdpZCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMgYXMgYW55O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZERhdGVGaWx0ZXJzKCk6IEZpbHRlcklucHV0IGV4dGVuZHMge1xyXG4gICAgICAgIGNyZWF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgICAgIHVwZGF0ZWRBdD86IERhdGVPcGVyYXRvcnMgfCBudWxsO1xyXG4gICAgfVxyXG4gICAgICAgID8gRGF0YVRhYmxlRmlsdGVyQ29sbGVjdGlvbjxGaWx0ZXJJbnB1dD5cclxuICAgICAgICA6IG5ldmVyIHtcclxuICAgICAgICB0aGlzLmFkZEZpbHRlcih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxyXG4gICAgICAgICAgICB0eXBlOiB7IGtpbmQ6ICdkYXRlUmFuZ2UnIH0sXHJcbiAgICAgICAgICAgIGxhYmVsOiBfKCdjb21tb24uY3JlYXRlZC1hdCcpLFxyXG4gICAgICAgICAgICBmaWx0ZXJGaWVsZDogJ2NyZWF0ZWRBdCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGRGaWx0ZXIoe1xyXG4gICAgICAgICAgICBuYW1lOiAndXBkYXRlZEF0JyxcclxuICAgICAgICAgICAgdHlwZTogeyBraW5kOiAnZGF0ZVJhbmdlJyB9LFxyXG4gICAgICAgICAgICBsYWJlbDogXygnY29tbW9uLnVwZGF0ZWQtYXQnKSxcclxuICAgICAgICAgICAgZmlsdGVyRmllbGQ6ICd1cGRhdGVkQXQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDdXN0b21GaWVsZEZpbHRlcnMoY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZENvbmZpZ1tdKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgY3VzdG9tRmllbGRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb25maWcudHlwZSBhcyBDdXN0b21GaWVsZFR5cGU7XHJcbiAgICAgICAgICAgIGlmIChjb25maWcubGlzdCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZpbHRlclR5cGU6IERhdGFUYWJsZUZpbHRlclR5cGUgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2Jvb2xlYW4nIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclR5cGUgPSB7IGtpbmQ6ICdudW1iZXInIH07XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZSA9IHsga2luZDogJ2RhdGVSYW5nZScgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJUeXBlID0geyBraW5kOiAndGV4dCcgfTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3Qgc29ydCByZWxhdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGZpbHRlclR5cGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkRmlsdGVyKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBjb25maWcubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWx0ZXJUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb25maWcubGFiZWwgPz8gY29uZmlnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyRmllbGQ6IGNvbmZpZy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RmlsdGVyKG5hbWU6IHN0cmluZyk6IERhdGFUYWJsZUZpbHRlcjxGaWx0ZXJJbnB1dD4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcnMoKTogQXJyYXk8RGF0YVRhYmxlRmlsdGVyPEZpbHRlcklucHV0Pj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNmaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFjdGl2ZUZpbHRlckF0SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlRmlsdGVySW5wdXQoKTogRmlsdGVySW5wdXQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNhY3RpdmVGaWx0ZXJzLnJlZHVjZSgoYWNjLCB7IGZpbHRlciwgdmFsdWUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlICE9IG51bGwgPyBmaWx0ZXIudG9GaWx0ZXJJbnB1dCh2YWx1ZSkgOiB7fTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZXh0ZW5kKHRydWUsIGFjYywgbmV3VmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIEZpbHRlcklucHV0O1xyXG4gICAgICAgIH0sIHt9IGFzIEZpbHRlcklucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25uZWN0VG9Sb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXJzID0gcm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQodGhpcy4jZmlsdGVyc1F1ZXJ5UGFyYW1OYW1lKTtcclxuICAgICAgICAgICAgaWYgKHZhbC5sZW5ndGggPT09IDAgJiYgIWN1cnJlbnRGaWx0ZXJzKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBbdGhpcy4jZmlsdGVyc1F1ZXJ5UGFyYW1OYW1lXTogdGhpcy5zZXJpYWxpemUoKSwgcGFnZTogMSB9LFxyXG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogcm91dGUsXHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByb3V0ZS5xdWVyeVBhcmFtTWFwXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXMuZ2V0KHRoaXMuI2ZpbHRlcnNRdWVyeVBhcmFtTmFtZSkpLFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChyb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCh0aGlzLiNmaWx0ZXJzUXVlcnlQYXJhbU5hbWUpID8/ICcnKSxcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuI2FjdGl2ZUZpbHRlcnMgPSBbXTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyUXVlcnlQYXJhbXMgPSAodmFsdWUgPz8gJycpXHJcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCc7JylcclxuICAgICAgICAgICAgICAgICAgICAubWFwKHZhbHVlID0+IHZhbHVlLnNwbGl0KCc6JykpXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gKHsgbmFtZSwgdmFsdWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB7IG5hbWUsIHZhbHVlIH0gb2YgZmlsdGVyUXVlcnlQYXJhbXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldEZpbHRlcihuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuZGVzZXJpYWxpemVWYWx1ZShmaWx0ZXIsIHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLmFjdGl2YXRlKHZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy4jY29ubmVjdGVkVG9Sb3V0ZXIgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBzZXJpYWxpemUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jYWN0aXZlRmlsdGVyc1xyXG4gICAgICAgICAgICAubWFwKFxyXG4gICAgICAgICAgICAgICAgKGZpbHRlcldpdGhWYWx1ZSwgaSkgPT5cclxuICAgICAgICAgICAgICAgICAgICBgJHtmaWx0ZXJXaXRoVmFsdWUuZmlsdGVyLm5hbWV9OiR7dGhpcy5zZXJpYWxpemVWYWx1ZShmaWx0ZXJXaXRoVmFsdWUpfWAsXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLmpvaW4oJzsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNlcmlhbGl6ZVZhbHVlPFR5cGUgZXh0ZW5kcyBEYXRhVGFibGVGaWx0ZXJUeXBlPihcclxuICAgICAgICBmaWx0ZXJXaXRoVmFsdWU6IEZpbHRlcldpdGhWYWx1ZTxUeXBlPixcclxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc0lkKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsPy5vcGVyYXRvcn0sJHt2YWw/LnRlcm19YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1RleHQoKSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBmaWx0ZXJXaXRoVmFsdWUudmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt2YWw/Lm9wZXJhdG9yfSwke3ZhbD8udGVybX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzTnVtYmVyKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dmFsLm9wZXJhdG9yfSwke3ZhbC5hbW91bnR9YDtcclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc1NlbGVjdCgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IGZpbHRlcldpdGhWYWx1ZS52YWx1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbC5qb2luKCcsJyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJXaXRoVmFsdWUuaXNCb29sZWFuKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsID8gJzEnIDogJzAnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyV2l0aFZhbHVlLmlzRGF0ZVJhbmdlKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gZmlsdGVyV2l0aFZhbHVlLnZhbHVlO1xyXG4gICAgICAgICAgICBpZiAodmFsLm1vZGUgPT09ICdyZWxhdGl2ZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt2YWwubW9kZX0sJHt2YWwucmVsYXRpdmVWYWx1ZX0sJHt2YWwucmVsYXRpdmVVbml0fWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IHZhbC5zdGFydCA/IG5ldyBEYXRlKHZhbC5zdGFydCkuZ2V0VGltZSgpIDogJyc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSB2YWwuZW5kID8gbmV3IERhdGUodmFsLmVuZCkuZ2V0VGltZSgpIDogJyc7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c3RhcnR9LCR7ZW5kfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGZpbHRlcldpdGhWYWx1ZS5pc0N1c3RvbSgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJXaXRoVmFsdWUuZmlsdGVyLnR5cGUuc2VyaWFsaXplVmFsdWUoZmlsdGVyV2l0aFZhbHVlLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkZXNlcmlhbGl6ZVZhbHVlKFxyXG4gICAgICAgIGZpbHRlcjogRGF0YVRhYmxlRmlsdGVyLFxyXG4gICAgICAgIHZhbHVlOiBzdHJpbmcsXHJcbiAgICApOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxEYXRhVGFibGVGaWx0ZXJUeXBlPiB7XHJcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIudHlwZS5raW5kKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2lkJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW29wZXJhdG9yLCB0ZXJtXSA9IHZhbHVlLnNwbGl0KCcsJykgYXMgW2tleW9mIFN0cmluZ09wZXJhdG9ycywgc3RyaW5nXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG9wZXJhdG9yLCB0ZXJtIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtvcGVyYXRvciwgdGVybV0gPSB2YWx1ZS5zcGxpdCgnLCcpIGFzIFtrZXlvZiBTdHJpbmdPcGVyYXRvcnMsIHN0cmluZ107XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBvcGVyYXRvciwgdGVybSB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtvcGVyYXRvciwgYW1vdW50XSA9IHZhbHVlLnNwbGl0KCcsJykgYXMgW2tleW9mIE51bWJlck9wZXJhdG9ycywgc3RyaW5nXTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IG9wZXJhdG9yLCBhbW91bnQ6ICthbW91bnQgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlID09PSAnMSc7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RhdGVSYW5nZSc6XHJcbiAgICAgICAgICAgICAgICBsZXQgbW9kZSA9ICdyZWxhdGl2ZSc7XHJcbiAgICAgICAgICAgICAgICBsZXQgcmVsYXRpdmVWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgbGV0IHJlbGF0aXZlVW5pdDogJ2RheScgfCAnbW9udGgnIHwgJ3llYXInIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgbGV0IHN0YXJ0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgZW5kOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aCgncmVsYXRpdmUnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGUgPSAncmVsYXRpdmUnO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtfLCByZWxhdGl2ZVZhbHVlU3RyLCByZWxhdGl2ZVVuaXRTdHJdID0gdmFsdWUuc3BsaXQoJywnKTtcclxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVZhbHVlID0gTnVtYmVyKHJlbGF0aXZlVmFsdWVTdHIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVW5pdCA9IHJlbGF0aXZlVW5pdFN0ciBhcyAnZGF5JyB8ICdtb250aCcgfCAneWVhcic7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGUgPSAncmFuZ2UnO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtzdGFydFRpbWVzdGFtcCwgZW5kVGltZXN0YW1wXSA9IHZhbHVlLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBzdGFydFRpbWVzdGFtcCA/IG5ldyBEYXRlKE51bWJlcihzdGFydFRpbWVzdGFtcCkpLnRvSVNPU3RyaW5nKCkgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICBlbmQgPSBlbmRUaW1lc3RhbXAgPyBuZXcgRGF0ZShOdW1iZXIoZW5kVGltZXN0YW1wKSkudG9JU09TdHJpbmcoKSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbW9kZSwgcmVsYXRpdmVWYWx1ZSwgcmVsYXRpdmVVbml0LCBzdGFydCwgZW5kIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLnR5cGUuZGVzZXJpYWxpemVWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcihmaWx0ZXIudHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25BY3RpdmF0ZUZpbHRlcihmaWx0ZXI6IERhdGFUYWJsZUZpbHRlcjxhbnksIGFueT4sIHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxhbnk+KSB7XHJcbiAgICAgICAgdGhpcy4jYWN0aXZlRmlsdGVycy5wdXNoKHRoaXMuY3JlYXRlRmlsdGVyV2l0aFZhbHVlKGZpbHRlciwgdmFsdWUpKTtcclxuICAgICAgICB0aGlzLiN2YWx1ZUNoYW5nZXMkLm5leHQodGhpcy4jYWN0aXZlRmlsdGVycyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVGaWx0ZXJXaXRoVmFsdWUoXHJcbiAgICAgICAgZmlsdGVyOiBEYXRhVGFibGVGaWx0ZXI8YW55LCBhbnk+LFxyXG4gICAgICAgIHZhbHVlOiBEYXRhVGFibGVGaWx0ZXJWYWx1ZTxEYXRhVGFibGVGaWx0ZXJUeXBlPixcclxuICAgICkge1xyXG4gICAgICAgIHJldHVybiBuZXcgRmlsdGVyV2l0aFZhbHVlKGZpbHRlciwgdmFsdWUsIHYgPT4gdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KHYpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { assertNever } from '@vendure/common/lib/shared-utils';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
3
4
|
import { DataTableSort } from './data-table-sort';
|
|
4
5
|
export class DataTableSortCollection {
|
|
5
6
|
#sorts;
|
|
@@ -14,10 +15,15 @@ export class DataTableSortCollection {
|
|
|
14
15
|
this.#connectedToRouter = false;
|
|
15
16
|
this.valueChanges = this.#valueChanges$.asObservable();
|
|
16
17
|
this.#sortQueryParamName = 'sort';
|
|
18
|
+
this.destroy$ = new Subject();
|
|
17
19
|
}
|
|
18
20
|
get length() {
|
|
19
21
|
return this.#sorts.length;
|
|
20
22
|
}
|
|
23
|
+
destroy() {
|
|
24
|
+
this.destroy$.next();
|
|
25
|
+
this.destroy$.complete();
|
|
26
|
+
}
|
|
21
27
|
addSort(config) {
|
|
22
28
|
if (this.#connectedToRouter) {
|
|
23
29
|
throw new Error('Cannot add sort after connecting to router. Make sure to call addSort() before connectToRoute()');
|
|
@@ -65,7 +71,7 @@ export class DataTableSortCollection {
|
|
|
65
71
|
return this.#sorts.find(s => s.name === name);
|
|
66
72
|
}
|
|
67
73
|
connectToRoute(route) {
|
|
68
|
-
this.valueChanges.subscribe(
|
|
74
|
+
this.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
69
75
|
this.router.navigate(['./'], {
|
|
70
76
|
queryParams: { [this.#sortQueryParamName]: this.serialize() },
|
|
71
77
|
relativeTo: route,
|
|
@@ -106,4 +112,4 @@ export class DataTableSortCollection {
|
|
|
106
112
|
.map(s => ({ name: s.name, sortOrder: s.sortOrder })));
|
|
107
113
|
}
|
|
108
114
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1zb3J0LWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtc29ydC1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxhQUFhLEVBQTRDLE1BQU0sbUJBQW1CLENBQUM7QUFFNUYsTUFBTSxPQUFPLHVCQUF1QjtJQUl2QixNQUFNLENBQXVDO0lBQ3RELGNBQWMsQ0FBcUY7SUFDbkcsa0JBQWtCLENBQVM7SUFFbEIsbUJBQW1CLENBQVU7SUFDdEMsWUFBWSxDQUF1RTtJQUVuRixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVB6QixXQUFNLEdBQW9DLEVBQUUsQ0FBQztRQUN0RCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFzRSxDQUFDO1FBQ25HLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDO0lBR0QsQ0FBQztJQUV0QyxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQ0gsTUFBNkM7UUFFN0MsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDWCxpR0FBaUcsQ0FDcEcsQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxhQUFhLENBQVksTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUks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LENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkVHlwZSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlU29ydCwgRGF0YVRhYmxlU29ydE9wdGlvbnMsIERhdGFUYWJsZVNvcnRPcmRlciB9IGZyb20gJy4vZGF0YS10YWJsZS1zb3J0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxcclxuICAgIFNvcnRJbnB1dCBleHRlbmRzIFJlY29yZDxzdHJpbmcsICdBU0MnIHwgJ0RFU0MnPixcclxuICAgIE5hbWVzIGV4dGVuZHMgWy4uLkFycmF5PGtleW9mIFNvcnRJbnB1dD5dID0gW10sXHJcbj4ge1xyXG4gICAgcmVhZG9ubHkgI3NvcnRzOiBBcnJheTxEYXRhVGFibGVTb3J0PFNvcnRJbnB1dD4+ID0gW107XHJcbiAgICAjdmFsdWVDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PEFycmF5PHsgbmFtZTogc3RyaW5nOyBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlciB8IHVuZGVmaW5lZCB9Pj4oKTtcclxuICAgICNjb25uZWN0ZWRUb1JvdXRlciA9IGZhbHNlO1xyXG4gICAgdmFsdWVDaGFuZ2VzID0gdGhpcy4jdmFsdWVDaGFuZ2VzJC5hc09ic2VydmFibGUoKTtcclxuICAgIHJlYWRvbmx5ICNzb3J0UXVlcnlQYXJhbU5hbWUgPSAnc29ydCc7XHJcbiAgICAjZGVmYXVsdFNvcnQ6IHsgbmFtZToga2V5b2YgU29ydElucHV0OyBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlciB9IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gICAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNzb3J0cy5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkU29ydDxOYW1lIGV4dGVuZHMga2V5b2YgU29ydElucHV0PihcclxuICAgICAgICBjb25maWc6IERhdGFUYWJsZVNvcnRPcHRpb25zPFNvcnRJbnB1dCwgTmFtZT4sXHJcbiAgICApOiBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxTb3J0SW5wdXQsIFsuLi5OYW1lcywgTmFtZV0+IHtcclxuICAgICAgICBpZiAodGhpcy4jY29ubmVjdGVkVG9Sb3V0ZXIpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgJ0Nhbm5vdCBhZGQgc29ydCBhZnRlciBjb25uZWN0aW5nIHRvIHJvdXRlci4gTWFrZSBzdXJlIHRvIGNhbGwgYWRkU29ydCgpIGJlZm9yZSBjb25uZWN0VG9Sb3V0ZSgpJyxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy4jc29ydHMucHVzaChuZXcgRGF0YVRhYmxlU29ydDxTb3J0SW5wdXQ+KGNvbmZpZywgKCkgPT4gdGhpcy5vblNldFZhbHVlKCkpKTtcclxuICAgICAgICByZXR1cm4gdGhpcyBhcyB1bmtub3duIGFzIERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPFNvcnRJbnB1dCwgWy4uLk5hbWVzLCBOYW1lXT47XHJcbiAgICB9XHJcblxyXG4gICAgYWRkU29ydHM8TmFtZSBleHRlbmRzIGtleW9mIFNvcnRJbnB1dD4oXHJcbiAgICAgICAgY29uZmlnczogQXJyYXk8RGF0YVRhYmxlU29ydE9wdGlvbnM8U29ydElucHV0LCBOYW1lPj4sXHJcbiAgICApOiBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxTb3J0SW5wdXQsIFsuLi5OYW1lcywgTmFtZV0+IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjb25maWdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkU29ydChjb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcyBhcyB1bmtub3duIGFzIERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPFNvcnRJbnB1dCwgWy4uLk5hbWVzLCBOYW1lXT47XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ3VzdG9tRmllbGRTb3J0cyhjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW10pIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiBjdXN0b21GaWVsZHMpIHtcclxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGNvbmZpZy50eXBlIGFzIEN1c3RvbUZpZWxkVHlwZTtcclxuICAgICAgICAgICAgaWYgKGNvbmZpZy5saXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZXRpbWUnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFNvcnQoeyBuYW1lOiBjb25maWcubmFtZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3Qgc29ydCByZWxhdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZGVmYXVsdFNvcnQobmFtZToga2V5b2YgU29ydElucHV0LCBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlcikge1xyXG4gICAgICAgIHRoaXMuI2RlZmF1bHRTb3J0ID0geyBuYW1lLCBzb3J0T3JkZXIgfTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQobmFtZTogTmFtZXNbbnVtYmVyXSk6IERhdGFUYWJsZVNvcnQ8U29ydElucHV0PiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI3NvcnRzLmZpbmQocyA9PiBzLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbm5lY3RUb1JvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgW3RoaXMuI3NvcnRRdWVyeVBhcmFtTmFtZV06IHRoaXMuc2VyaWFsaXplKCkgfSxcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyUXVlcnlQYXJhbXMgPSAocm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQodGhpcy4jc29ydFF1ZXJ5UGFyYW1OYW1lKSA/PyAnJylcclxuICAgICAgICAgICAgLnNwbGl0KCc7JylcclxuICAgICAgICAgICAgLm1hcCh2YWx1ZSA9PiB2YWx1ZS5zcGxpdCgnOicpKVxyXG4gICAgICAgICAgICAubWFwKChbbmFtZSwgdmFsdWVdKSA9PiAoeyBuYW1lLCB2YWx1ZSB9KSk7XHJcbiAgICAgICAgZm9yIChjb25zdCB7IG5hbWUsIHZhbHVlIH0gb2YgZmlsdGVyUXVlcnlQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ydCA9IHRoaXMuZ2V0KG5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoc29ydCkge1xyXG4gICAgICAgICAgICAgICAgc29ydC5zZXRTb3J0T3JkZXIodmFsdWUgYXMgYW55KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNjb25uZWN0ZWRUb1JvdXRlciA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlU29ydElucHV0KCk6IFNvcnRJbnB1dCB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlU29ydHMgPSB0aGlzLiNzb3J0cy5maWx0ZXIocyA9PiBzLnNvcnRPcmRlciAhPT0gdW5kZWZpbmVkKTtcclxuICAgICAgICBsZXQgc29ydElucHV0ID0ge30gYXMgU29ydElucHV0O1xyXG4gICAgICAgIGlmIChhY3RpdmVTb3J0cy5sZW5ndGggPT09IDAgJiYgdGhpcy4jZGVmYXVsdFNvcnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgW3RoaXMuI2RlZmF1bHRTb3J0Lm5hbWVdOiB0aGlzLiNkZWZhdWx0U29ydC5zb3J0T3JkZXIgfSBhcyBTb3J0SW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3Qgc29ydCBvZiBhY3RpdmVTb3J0cykge1xyXG4gICAgICAgICAgICBzb3J0SW5wdXQgPSB7IC4uLnNvcnRJbnB1dCwgW3NvcnQubmFtZV06IHNvcnQuc29ydE9yZGVyIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzb3J0SW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXJpYWxpemUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBhY3RpdmVTb3J0cyA9IHRoaXMuI3NvcnRzLmZpbHRlcihzID0+IHMuc29ydE9yZGVyICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIHJldHVybiBhY3RpdmVTb3J0cy5tYXAocyA9PiBgJHtzLm5hbWUgYXMgc3RyaW5nfToke3Muc29ydE9yZGVyfWApLmpvaW4oJzsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uU2V0VmFsdWUoKSB7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KFxyXG4gICAgICAgICAgICB0aGlzLiNzb3J0c1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmID0+IGYuc29ydE9yZGVyICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAubWFwKHMgPT4gKHsgbmFtZTogcy5uYW1lIGFzIGFueSwgc29ydE9yZGVyOiBzLnNvcnRPcmRlciB9KSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1zb3J0LWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3Byb3ZpZGVycy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtc29ydC1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUE0QyxNQUFNLG1CQUFtQixDQUFDO0FBRTVGLE1BQU0sT0FBTyx1QkFBdUI7SUFJdkIsTUFBTSxDQUF1QztJQUN0RCxjQUFjLENBQXFGO0lBQ25HLGtCQUFrQixDQUFTO0lBRWxCLG1CQUFtQixDQUFVO0lBQ3RDLFlBQVksQ0FBdUU7SUFHbkYsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFSekIsV0FBTSxHQUFvQyxFQUFFLENBQUM7UUFDdEQsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBc0UsQ0FBQztRQUNuRyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQztRQUVyQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVYLENBQUM7SUFFdEMsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lB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QUFDLENBQUMsSUFBYyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU8sVUFBVTtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNwQixJQUFJLENBQUMsTUFBTTthQUNOLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO2FBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FDbkUsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlU29ydCwgRGF0YVRhYmxlU29ydE9wdGlvbnMsIERhdGFUYWJsZVNvcnRPcmRlciB9IGZyb20gJy4vZGF0YS10YWJsZS1zb3J0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVTb3J0Q29sbGVjdGlvbjxcclxuICAgIFNvcnRJbnB1dCBleHRlbmRzIFJlY29yZDxzdHJpbmcsICdBU0MnIHwgJ0RFU0MnPixcclxuICAgIE5hbWVzIGV4dGVuZHMgWy4uLkFycmF5PGtleW9mIFNvcnRJbnB1dD5dID0gW10sXHJcbj4ge1xyXG4gICAgcmVhZG9ubHkgI3NvcnRzOiBBcnJheTxEYXRhVGFibGVTb3J0PFNvcnRJbnB1dD4+ID0gW107XHJcbiAgICAjdmFsdWVDaGFuZ2VzJCA9IG5ldyBTdWJqZWN0PEFycmF5PHsgbmFtZTogc3RyaW5nOyBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlciB8IHVuZGVmaW5lZCB9Pj4oKTtcclxuICAgICNjb25uZWN0ZWRUb1JvdXRlciA9IGZhbHNlO1xyXG4gICAgdmFsdWVDaGFuZ2VzID0gdGhpcy4jdmFsdWVDaGFuZ2VzJC5hc09ic2VydmFibGUoKTtcclxuICAgIHJlYWRvbmx5ICNzb3J0UXVlcnlQYXJhbU5hbWUgPSAnc29ydCc7XHJcbiAgICAjZGVmYXVsdFNvcnQ6IHsgbmFtZToga2V5b2YgU29ydElucHV0OyBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlciB9IHwgdW5kZWZpbmVkO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI3NvcnRzLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICBkZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRTb3J0PE5hbWUgZXh0ZW5kcyBrZXlvZiBTb3J0SW5wdXQ+KFxyXG4gICAgICAgIGNvbmZpZzogRGF0YVRhYmxlU29ydE9wdGlvbnM8U29ydElucHV0LCBOYW1lPixcclxuICAgICk6IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPFNvcnRJbnB1dCwgWy4uLk5hbWVzLCBOYW1lXT4ge1xyXG4gICAgICAgIGlmICh0aGlzLiNjb25uZWN0ZWRUb1JvdXRlcikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAnQ2Fubm90IGFkZCBzb3J0IGFmdGVyIGNvbm5lY3RpbmcgdG8gcm91dGVyLiBNYWtlIHN1cmUgdG8gY2FsbCBhZGRTb3J0KCkgYmVmb3JlIGNvbm5lY3RUb1JvdXRlKCknLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNzb3J0cy5wdXNoKG5ldyBEYXRhVGFibGVTb3J0PFNvcnRJbnB1dD4oY29uZmlnLCAoKSA9PiB0aGlzLm9uU2V0VmFsdWUoKSkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIHVua25vd24gYXMgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248U29ydElucHV0LCBbLi4uTmFtZXMsIE5hbWVdPjtcclxuICAgIH1cclxuXHJcbiAgICBhZGRTb3J0czxOYW1lIGV4dGVuZHMga2V5b2YgU29ydElucHV0PihcclxuICAgICAgICBjb25maWdzOiBBcnJheTxEYXRhVGFibGVTb3J0T3B0aW9uczxTb3J0SW5wdXQsIE5hbWU+PixcclxuICAgICk6IERhdGFUYWJsZVNvcnRDb2xsZWN0aW9uPFNvcnRJbnB1dCwgWy4uLk5hbWVzLCBOYW1lXT4ge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRTb3J0KGNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzIGFzIHVua25vd24gYXMgRGF0YVRhYmxlU29ydENvbGxlY3Rpb248U29ydElucHV0LCBbLi4uTmFtZXMsIE5hbWVdPjtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDdXN0b21GaWVsZFNvcnRzKGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIGN1c3RvbUZpZWxkcykge1xyXG4gICAgICAgICAgICBjb25zdCB0eXBlID0gY29uZmlnLnR5cGUgYXMgQ3VzdG9tRmllbGRUeXBlO1xyXG4gICAgICAgICAgICBpZiAoY29uZmlnLmxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2xvY2FsZVN0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2ludCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdmbG9hdCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbGVUZXh0JzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkU29ydCh7IG5hbWU6IGNvbmZpZy5uYW1lIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbm5vdCBzb3J0IHJlbGF0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBkZWZhdWx0U29ydChuYW1lOiBrZXlvZiBTb3J0SW5wdXQsIHNvcnRPcmRlcjogRGF0YVRhYmxlU29ydE9yZGVyKSB7XHJcbiAgICAgICAgdGhpcy4jZGVmYXVsdFNvcnQgPSB7IG5hbWUsIHNvcnRPcmRlciB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldChuYW1lOiBOYW1lc1tudW1iZXJdKTogRGF0YVRhYmxlU29ydDxTb3J0SW5wdXQ+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4jc29ydHMuZmluZChzID0+IHMubmFtZSA9PT0gbmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdFRvUm91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi8nXSwge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgW3RoaXMuI3NvcnRRdWVyeVBhcmFtTmFtZV06IHRoaXMuc2VyaWFsaXplKCkgfSxcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyUXVlcnlQYXJhbXMgPSAocm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQodGhpcy4jc29ydFF1ZXJ5UGFyYW1OYW1lKSA/PyAnJylcclxuICAgICAgICAgICAgLnNwbGl0KCc7JylcclxuICAgICAgICAgICAgLm1hcCh2YWx1ZSA9PiB2YWx1ZS5zcGxpdCgnOicpKVxyXG4gICAgICAgICAgICAubWFwKChbbmFtZSwgdmFsdWVdKSA9PiAoeyBuYW1lLCB2YWx1ZSB9KSk7XHJcbiAgICAgICAgZm9yIChjb25zdCB7IG5hbWUsIHZhbHVlIH0gb2YgZmlsdGVyUXVlcnlQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ydCA9IHRoaXMuZ2V0KG5hbWUpO1xyXG4gICAgICAgICAgICBpZiAoc29ydCkge1xyXG4gICAgICAgICAgICAgICAgc29ydC5zZXRTb3J0T3JkZXIodmFsdWUgYXMgYW55KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLiNjb25uZWN0ZWRUb1JvdXRlciA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlU29ydElucHV0KCk6IFNvcnRJbnB1dCB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlU29ydHMgPSB0aGlzLiNzb3J0cy5maWx0ZXIocyA9PiBzLnNvcnRPcmRlciAhPT0gdW5kZWZpbmVkKTtcclxuICAgICAgICBsZXQgc29ydElucHV0ID0ge30gYXMgU29ydElucHV0O1xyXG4gICAgICAgIGlmIChhY3RpdmVTb3J0cy5sZW5ndGggPT09IDAgJiYgdGhpcy4jZGVmYXVsdFNvcnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgW3RoaXMuI2RlZmF1bHRTb3J0Lm5hbWVdOiB0aGlzLiNkZWZhdWx0U29ydC5zb3J0T3JkZXIgfSBhcyBTb3J0SW5wdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3Qgc29ydCBvZiBhY3RpdmVTb3J0cykge1xyXG4gICAgICAgICAgICBzb3J0SW5wdXQgPSB7IC4uLnNvcnRJbnB1dCwgW3NvcnQubmFtZV06IHNvcnQuc29ydE9yZGVyIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzb3J0SW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXJpYWxpemUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBhY3RpdmVTb3J0cyA9IHRoaXMuI3NvcnRzLmZpbHRlcihzID0+IHMuc29ydE9yZGVyICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIHJldHVybiBhY3RpdmVTb3J0cy5tYXAocyA9PiBgJHtzLm5hbWUgYXMgc3RyaW5nfToke3Muc29ydE9yZGVyfWApLmpvaW4oJzsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uU2V0VmFsdWUoKSB7XHJcbiAgICAgICAgdGhpcy4jdmFsdWVDaGFuZ2VzJC5uZXh0KFxyXG4gICAgICAgICAgICB0aGlzLiNzb3J0c1xyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmID0+IGYuc29ydE9yZGVyICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAubWFwKHMgPT4gKHsgbmFtZTogcy5uYW1lIGFzIGFueSwgc29ydE9yZGVyOiBzLnNvcnRPcmRlciB9KSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -6,11 +6,11 @@ import * as i1 from "@angular/common";
|
|
|
6
6
|
*/
|
|
7
7
|
export class AffixedInputComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AffixedInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: { prefix: "prefix", suffix: "suffix" }, ngImport: i0, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\" class=\"input-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:flex}.input-wrapper{flex:1}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-component-bg-200);color:var(--color-text-200);border:1px solid var(--color-
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: AffixedInputComponent, selector: "vdr-affixed-input", inputs: { prefix: "prefix", suffix: "suffix" }, ngImport: i0, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\" class=\"input-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:flex}.input-wrapper{flex:1}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-component-bg-200);color:var(--color-text-200);border:1px solid var(--color-weight-200);top:1px;padding:3px;line-height:.58333rem;transition:border .2s}::ng-deep .has-prefix>input[type=text],::ng-deep .has-prefix>input[type=number]{border-top-left-radius:0!important;border-bottom-left-radius:0!important;width:100%}.prefix{order:-1;border-radius:3px 0 0 3px;border-inline-end:none}::ng-deep .has-suffix>input[type=text],::ng-deep .has-suffix>input[type=number]{border-top-right-radius:0!important;border-bottom-right-radius:0!important;width:100%}.suffix{border-radius:0 3px 3px 0;border-inline-start:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AffixedInputComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'vdr-affixed-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\" class=\"input-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:flex}.input-wrapper{flex:1}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-component-bg-200);color:var(--color-text-200);border:1px solid var(--color-
|
|
13
|
+
args: [{ selector: 'vdr-affixed-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.has-prefix]=\"!!prefix\" [class.has-suffix]=\"!!suffix\" class=\"input-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"affix prefix\" *ngIf=\"prefix\">{{ prefix }}</div>\r\n<div class=\"affix suffix\" *ngIf=\"suffix\">{{ suffix }}</div>\r\n", styles: [":host{display:flex}.input-wrapper{flex:1}.affix{color:var(--color-grey-800);display:flex;align-items:center;background-color:var(--color-component-bg-200);color:var(--color-text-200);border:1px solid var(--color-weight-200);top:1px;padding:3px;line-height:.58333rem;transition:border .2s}::ng-deep .has-prefix>input[type=text],::ng-deep .has-prefix>input[type=number]{border-top-left-radius:0!important;border-bottom-left-radius:0!important;width:100%}.prefix{order:-1;border-radius:3px 0 0 3px;border-inline-end:none}::ng-deep .has-suffix>input[type=text],::ng-deep .has-suffix>input[type=number]{border-top-right-radius:0!important;border-bottom-right-radius:0!important;width:100%}.suffix{border-radius:0 3px 3px 0;border-inline-start:none}\n"] }]
|
|
14
14
|
}], propDecorators: { prefix: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}], suffix: [{
|