geonetwork-ui 2.4.2-dev.ff0aab388 → 2.5.0-dev.22c177ea1
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/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +2 -3
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +31 -16
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -2
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +6 -14
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +12 -17
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +3 -4
- package/esm2022/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +31 -40
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +8 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +5 -25
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +11 -11
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +10 -2
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +6 -3
- package/esm2022/libs/feature/record/src/lib/data-view-share/data-view-share.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +6 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +3 -1
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -13
- package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
- package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -1
- package/esm2022/libs/util/data-fetcher/src/lib/headers.mjs +3 -2
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +8 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +97 -0
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +3 -3
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
- package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
- package/esm2022/translations/de.json +20 -5
- package/esm2022/translations/en.json +29 -14
- package/esm2022/translations/es.json +20 -5
- package/esm2022/translations/fr.json +30 -15
- package/esm2022/translations/it.json +39 -26
- package/esm2022/translations/nl.json +20 -5
- package/esm2022/translations/pt.json +20 -5
- package/fesm2022/geonetwork-ui.mjs +1004 -545
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -6
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts +0 -1
- package/libs/feature/editor/src/lib/components/import-record/import-record.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +7 -14
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +2 -2
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +1 -6
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +2 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +2 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/index.d.ts +2 -2
- package/libs/ui/dataviz/src/index.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -2
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/index.d.ts +3 -1
- package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +3 -2
- package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/headers.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +2 -2
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +21 -0
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +33 -16
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +6 -14
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +9 -18
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.html +4 -1
- package/src/libs/feature/editor/src/lib/components/import-record/import-record.component.ts +0 -4
- package/src/libs/feature/editor/src/lib/components/online-resource-card/online-resource-card.component.ts +2 -2
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +8 -8
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +32 -45
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts/form-field-contacts.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +3 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +24 -17
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +2 -27
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.ts +2 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
- package/src/libs/feature/editor/src/lib/fields.config.ts +9 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -1
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +1 -0
- package/src/libs/feature/record/src/lib/data-view-share/data-view-share.component.html +1 -1
- package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +1 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/dataviz/src/index.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
- package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
- package/src/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.ts +3 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +1 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
- package/src/libs/util/data-fetcher/src/index.ts +3 -0
- package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +9 -1
- package/src/libs/util/data-fetcher/src/lib/headers.ts +4 -3
- package/src/libs/util/data-fetcher/src/lib/model.ts +7 -2
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +134 -0
- package/src/libs/util/data-fetcher/src/lib/utils.ts +2 -2
- package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
- package/src/libs/util/shared/src/lib/services/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
- package/translations/de.json +20 -5
- package/translations/en.json +29 -14
- package/translations/es.json +20 -5
- package/translations/fr.json +30 -15
- package/translations/it.json +39 -26
- package/translations/nl.json +20 -5
- package/translations/pt.json +20 -5
- package/translations/sk.json +21 -6
- package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
- package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
- package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
- package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
- package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
|
@@ -4,7 +4,7 @@ import { StoreModule } from '@ngrx/store';
|
|
|
4
4
|
import { EffectsModule } from '@ngrx/effects';
|
|
5
5
|
import { UiLayoutModule } from '../../../../../libs/ui/layout/src';
|
|
6
6
|
import { FeatureMapModule } from '../../../../../libs/feature/map/src';
|
|
7
|
-
import { UiInputsModule } from '../../../../../libs/ui/inputs/src';
|
|
7
|
+
import { DropdownSelectorComponent, UiInputsModule, } from '../../../../../libs/ui/inputs/src';
|
|
8
8
|
import { UiElementsModule } from '../../../../../libs/ui/elements/src';
|
|
9
9
|
import { MdViewFacade } from './state';
|
|
10
10
|
import { MdViewEffects } from './state/mdview.effects';
|
|
@@ -13,9 +13,8 @@ import { MatTabsModule } from '@angular/material/tabs';
|
|
|
13
13
|
import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
|
|
14
14
|
import { TranslateModule } from '@ngx-translate/core';
|
|
15
15
|
import { FeatureCatalogModule } from '../../../../../libs/feature/catalog/src';
|
|
16
|
-
import {
|
|
16
|
+
import { DataTableComponent } from '../../../../../libs/ui/dataviz/src';
|
|
17
17
|
import { NgIconsModule, provideNgIconsConfig } from '@ng-icons/core';
|
|
18
|
-
import { DropdownSelectorComponent } from '../../../../../libs/ui/inputs/src';
|
|
19
18
|
import * as i0 from "@angular/core";
|
|
20
19
|
import * as i1 from "@ngrx/store";
|
|
21
20
|
import * as i2 from "@ngrx/effects";
|
|
@@ -29,7 +28,7 @@ export class FeatureRecordModule {
|
|
|
29
28
|
MatTabsModule,
|
|
30
29
|
UiWidgetsModule,
|
|
31
30
|
TranslateModule,
|
|
32
|
-
|
|
31
|
+
DataTableComponent,
|
|
33
32
|
NgIconsModule,
|
|
34
33
|
DropdownSelectorComponent] }); }
|
|
35
34
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeatureRecordModule, providers: [
|
|
@@ -48,7 +47,7 @@ export class FeatureRecordModule {
|
|
|
48
47
|
MatTabsModule,
|
|
49
48
|
UiWidgetsModule,
|
|
50
49
|
TranslateModule,
|
|
51
|
-
|
|
50
|
+
DataTableComponent,
|
|
52
51
|
NgIconsModule,
|
|
53
52
|
DropdownSelectorComponent] }); }
|
|
54
53
|
}
|
|
@@ -67,7 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
67
66
|
MatTabsModule,
|
|
68
67
|
UiWidgetsModule,
|
|
69
68
|
TranslateModule,
|
|
70
|
-
|
|
69
|
+
DataTableComponent,
|
|
71
70
|
NgIconsModule,
|
|
72
71
|
DropdownSelectorComponent,
|
|
73
72
|
],
|
|
@@ -79,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
79
78
|
],
|
|
80
79
|
}]
|
|
81
80
|
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1yZWNvcmQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL2ZlYXR1cmUtcmVjb3JkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3RFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsY0FBYyxHQUNmLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUNMLCtCQUErQixFQUMvQixPQUFPLEdBQ1IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7Ozs7QUEwQnBFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLFlBdEI1QixZQUFZLGtEQUdaLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYix5QkFBeUI7Z0hBU2hCLG1CQUFtQixhQVBuQjtZQUNULFlBQVk7WUFDWixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0gsWUFwQkMsWUFBWTtZQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsK0JBQStCLEVBQUUsT0FBTyxDQUFDO1lBQ2hFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IseUJBQXlCOzs0RkFTaEIsbUJBQW1CO2tCQXhCL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXLENBQUMsVUFBVSxDQUFDLCtCQUErQixFQUFFLE9BQU8sQ0FBQzt3QkFDaEUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUN6QyxjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVk7d0JBQ1osb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJ1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnXG5pbXBvcnQgeyBVaUxheW91dE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbGF5b3V0L3NyYydcbmltcG9ydCB7IEZlYXR1cmVNYXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYydcbmltcG9ydCB7XG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIFVpSW5wdXRzTW9kdWxlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBVaUVsZW1lbnRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuL3N0YXRlJ1xuaW1wb3J0IHsgTWRWaWV3RWZmZWN0cyB9IGZyb20gJy4vc3RhdGUvbWR2aWV3LmVmZmVjdHMnXG5pbXBvcnQge1xuICBNRVRBREFUQV9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLFxuICByZWR1Y2VyLFxufSBmcm9tICcuL3N0YXRlL21kdmlldy5yZWR1Y2VyJ1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnXG5pbXBvcnQgeyBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEZlYXR1cmVDYXRhbG9nTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2NhdGFsb2cvc3JjJ1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYydcbmltcG9ydCB7IE5nSWNvbnNNb2R1bGUsIHByb3ZpZGVOZ0ljb25zQ29uZmlnIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShNRVRBREFUQV9WSUVXX0ZFQVRVUkVfU1RBVEVfS0VZLCByZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW01kVmlld0VmZmVjdHNdKSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBGZWF0dXJlTWFwTW9kdWxlLFxuICAgIEZlYXR1cmVDYXRhbG9nTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIFVpRWxlbWVudHNNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBVaVdpZGdldHNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBOZ0ljb25zTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIE1kVmlld0ZhY2FkZSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlUmVjb3JkTW9kdWxlIHt9XG4iXX0=
|
|
@@ -41,6 +41,7 @@ export class MapViewComponent {
|
|
|
41
41
|
this.mapUtils = mapUtils;
|
|
42
42
|
this.dataService = dataService;
|
|
43
43
|
this.changeRef = changeRef;
|
|
44
|
+
this.displaySource = true;
|
|
44
45
|
this.excludeWfs$ = new BehaviorSubject(false);
|
|
45
46
|
this.showLegend = true;
|
|
46
47
|
this.legendExists = false;
|
|
@@ -151,7 +152,7 @@ export class MapViewComponent {
|
|
|
151
152
|
this.selectedLinkIndex$.next(link);
|
|
152
153
|
}
|
|
153
154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, deps: [{ token: i1.MdViewFacade }, { token: i2.MapUtilsService }, { token: i3.DataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { excludeWfs: "excludeWfs" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MapViewComponent, isStandalone: true, selector: "gn-ui-map-view", inputs: { excludeWfs: "excludeWfs", displaySource: "displaySource" }, viewQueries: [{ propertyName: "mapContainer", first: true, predicate: ["mapContainer"], descendants: true }], ngImport: i0, template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: MapContainerComponent, selector: "gn-ui-map-container", inputs: ["context"], outputs: ["featuresClick", "featuresHover", "mapClick"] }, { kind: "component", type: FeatureDetailComponent, selector: "gn-ui-feature-detail", inputs: ["feature"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ExternalViewerButtonComponent, selector: "gn-ui-external-viewer-button", inputs: ["link"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: MapLegendComponent, selector: "gn-ui-map-legend", inputs: ["context"], outputs: ["legendStatusChange"] }], viewProviders: [provideIcons({ matClose })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
155
156
|
}
|
|
156
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapViewComponent, decorators: [{
|
|
157
158
|
type: Component,
|
|
@@ -167,11 +168,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
167
168
|
ExternalViewerButtonComponent,
|
|
168
169
|
ButtonComponent,
|
|
169
170
|
MapLegendComponent,
|
|
170
|
-
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
171
|
+
], viewProviders: [provideIcons({ matClose })], template: "<div class=\"w-full h-full flex flex-col p-1\">\n <div class=\"w-full flex justify-end\">\n <gn-ui-dropdown-selector\n [ngClass]=\"{ hidden: !displaySource }\"\n class=\"truncate p-1 -mx-1 mb-1\"\n extraBtnClass=\"!text-primary font-sans font-medium\"\n [title]=\"'map.select.layer' | translate\"\n [choices]=\"dropdownChoices$ | async\"\n (selectValue)=\"selectLinkToDisplay($event)\"\n ></gn-ui-dropdown-selector>\n <gn-ui-external-viewer-button\n class=\"shrink-0 py-1 place-self-end\"\n [link]=\"selectedLink$ | async\"\n >\n </gn-ui-external-viewer-button>\n </div>\n <div\n class=\"relative w-full h-full bg-white border border-gray-300 rounded-lg overflow-hidden\"\n >\n <gn-ui-map-container\n #mapContainer\n [context]=\"mapContext$ | async\"\n (featuresClick)=\"onMapFeatureSelect($event)\"\n ></gn-ui-map-container>\n <div\n class=\"top-[1em] right-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [class.hidden]=\"!selection\"\n >\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"resetSelection()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"absolute right-[0.5em] ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n <gn-ui-feature-detail [feature]=\"selection\"></gn-ui-feature-detail>\n </div>\n\n <div\n class=\"top-[1em] p-3 bg-white absolute overflow-y-auto overflow-x-hidden max-h-72 w-56\"\n [ngClass]=\"{ 'right-[1em]': !selection, 'right-[16em]': selection }\"\n [hidden]=\"!showLegend || !legendExists\"\n >\n <div class=\"flex justify-between items-center mb-2\">\n <div class=\"text-primary font-bold\">Legend</div>\n <gn-ui-button\n type=\"light\"\n (buttonClick)=\"toggleLegend()\"\n style=\"\n --gn-ui-button-padding: 0px;\n --gn-ui-button-width: 24px;\n --gn-ui-button-height: 24px;\n \"\n extraClass=\"ml-[8px] mr-[10px]\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle text-sm\"></ng-icon>\n </gn-ui-button>\n </div>\n <gn-ui-map-legend\n [context]=\"mapContext$ | async\"\n (legendStatusChange)=\"onLegendStatusChange($event)\"\n ></gn-ui-map-legend>\n </div>\n\n <gn-ui-button\n *ngIf=\"!showLegend && legendExists && !selection\"\n type=\"outline\"\n (buttonClick)=\"toggleLegend()\"\n extraClass=\"absolute top-[1em] right-[1em] rounded p-1 text-xs bg-white\"\n >\n Legend\n </gn-ui-button>\n\n <gn-ui-loading-mask\n *ngIf=\"loading\"\n class=\"absolute inset-0\"\n [message]=\"'map.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n</div>\n" }]
|
|
171
172
|
}], ctorParameters: () => [{ type: i1.MdViewFacade }, { type: i2.MapUtilsService }, { type: i3.DataService }, { type: i0.ChangeDetectorRef }], propDecorators: { excludeWfs: [{
|
|
172
173
|
type: Input
|
|
174
|
+
}], displaySource: [{
|
|
175
|
+
type: Input
|
|
173
176
|
}], mapContainer: [{
|
|
174
177
|
type: ViewChild,
|
|
175
178
|
args: ['mapContainer']
|
|
176
179
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBR3BCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1B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Z0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzt5S0FHOUIsVUFBVTtzQkFBdEIsS0FBSztnQkFHcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYydcbmltcG9ydCB7IGdldExpbmtMYWJlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICB0aHJvd0Vycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaW5hbGl6ZSxcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvbWR2aWV3LmZhY2FkZSdcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHsgRGF0YXNldE9ubGluZVJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVmlld0Zyb21MYXllcixcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxufSBmcm9tICdAZ2Vvc3BhdGlhbC1zZGsvY29yZSdcbmltcG9ydCB7XG4gIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gIE1hcENvbnRhaW5lckNvbXBvbmVudCxcbiAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwsXG4gIE1hcExlZ2VuZENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9tYXAvc3JjJ1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0Q2xvc2UgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvYmFzZWxpbmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQge1xuICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgUG9wdXBBbGVydENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcblxubWFya2VyKCdtYXAuZHJvcGRvd24ucGxhY2Vob2xkZXInKVxubWFya2VyKCd3ZnMuZmVhdHVyZS5saW1pdCcpXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW1hcC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIE1hcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBGZWF0dXJlRGV0YWlsQ29tcG9uZW50LFxuICAgIFBvcHVwQWxlcnRDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTWFwTGVnZW5kQ29tcG9uZW50LFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbcHJvdmlkZUljb25zKHsgbWF0Q2xvc2UgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHNldCBleGNsdWRlV2ZzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5leGNsdWRlV2ZzJC5uZXh0KHZhbHVlKVxuICB9XG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIG1hcENvbnRhaW5lcjogTWFwQ29udGFpbmVyQ29tcG9uZW50XG5cbiAgZXhjbHVkZVdmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICBzZWxlY3Rpb246IEZlYXR1cmVcbiAgc2hvd0xlZ2VuZCA9IHRydWVcbiAgbGVnZW5kRXhpc3RzID0gZmFsc2VcblxuICB0b2dnbGVMZWdlbmQoKSB7XG4gICAgdGhpcy5zaG93TGVnZW5kID0gIXRoaXMuc2hvd0xlZ2VuZFxuICB9XG5cbiAgb25MZWdlbmRTdGF0dXNDaGFuZ2Uoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgdGhpcy5sZWdlbmRFeGlzdHMgPSBzdGF0dXNcbiAgICBpZiAoIXN0YXR1cykge1xuICAgICAgdGhpcy5zaG93TGVnZW5kID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb21wYXRpYmxlTWFwTGlua3MkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUubWFwQXBpTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbbWFwQXBpTGlua3MsIGdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV0pID0+IHtcbiAgICAgIHJldHVybiBbLi4ubWFwQXBpTGlua3MsIC4uLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeV1cbiAgICB9KVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicsIHZhbHVlOiAwIH1dXG4gICAgKVxuICApXG4gIHNlbGVjdGVkTGlua0luZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMClcblxuICBsb2FkaW5nID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG5cbiAgc2VsZWN0ZWRMaW5rJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJCxcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICBdKS5waXBlKG1hcCgoW2xpbmtzLCBpbmRleF0pID0+IGxpbmtzW2luZGV4XSkpXG5cbiAgY3VycmVudExheWVycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdGVkTGluayQsIHRoaXMuZXhjbHVkZVdmcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpbmssIGV4Y2x1ZGVXZnNdKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgaWYgKGV4Y2x1ZGVXZnMgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAnd2ZzLmZlYXR1cmUubGltaXQnXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICAgIHRoaXMuZXJyb3IgPSBudWxsXG4gICAgICByZXR1cm4gdGhpcy5nZXRMYXllckZyb21MaW5rKGxpbmspLnBpcGUoXG4gICAgICAgIG1hcCgobGF5ZXIpID0+IFtsYXllcl0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9IGUubWVzc2FnZVxuICAgICAgICAgIGNvbnNvbGUud2FybihlLnN0YWNrIHx8IGUubWVzc2FnZSlcbiAgICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICAgIH0pLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxuICAgICAgKVxuICAgIH0pXG4gIClcblxuICBtYXBDb250ZXh0JDogT2JzZXJ2YWJsZTxNYXBDb250ZXh0PiA9IHRoaXMuY3VycmVudExheWVycyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxheWVycykgPT5cbiAgICAgIGZyb20oY3JlYXRlVmlld0Zyb21MYXllcihsYXllcnNbMF0pKS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSwgLy8gY291bGQgbm90IHpvb20gb24gdGhlIGxheWVyOiB1c2UgdGhlIHJlY29yZCBleHRlbnRcbiAgICAgICAgbWFwKCh2aWV3KSA9PiAoe1xuICAgICAgICAgIGxheWVycyxcbiAgICAgICAgICB2aWV3LFxuICAgICAgICB9KSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKSxcbiAgICBzdGFydFdpdGgoe1xuICAgICAgbGF5ZXJzOiBbXSxcbiAgICAgIHZpZXc6IG51bGwsXG4gICAgfSksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5tZFZpZXdGYWNhZGUubWV0YWRhdGEkKSxcbiAgICBtYXAoKFtjb250ZXh0LCBtZXRhZGF0YV0pID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnZpZXcpIHJldHVybiBjb250ZXh0XG4gICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcFV0aWxzLmdldFJlY29yZEV4dGVudChtZXRhZGF0YSlcbiAgICAgIGNvbnN0IHZpZXcgPSBleHRlbnQgPyB7IGV4dGVudCB9IDogbnVsbFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgdmlldyxcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZFZpZXdGYWNhZGU6IE1kVmlld0ZhY2FkZSxcbiAgICBwcml2YXRlIG1hcFV0aWxzOiBNYXBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbWFwID0gYXdhaXQgdGhpcy5tYXBDb250YWluZXIub3BlbmxheWVyc01hcFxuICAgIHByaW9yaXRpemVQYWdlU2Nyb2xsKG1hcC5nZXRJbnRlcmFjdGlvbnMoKSlcbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZVtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBmZWF0dXJlcz8ubGVuZ3RoID4gMCAmJiBmZWF0dXJlc1swXVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZSh0aGlzLnNlbGVjdGlvblN0eWxlKVxuICAgIH1cbiAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZShudWxsKVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogT2JzZXJ2YWJsZTxNYXBDb250ZXh0TGF5ZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXMnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXRzJ1xuICAgICkge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiAnd210cycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCcgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJykpIHx8XG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaykucGlwZShcbiAgICAgICAgbWFwKChkYXRhKSA9PiAoe1xuICAgICAgICAgIHR5cGU6ICdnZW9qc29uJyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ3Byb3RvY29sIG5vdCBzdXBwb3J0ZWQnKVxuICB9XG5cbiAgc2VsZWN0TGlua1RvRGlzcGxheShsaW5rOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlua0luZGV4JC5uZXh0KGxpbmspXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgZmxleCBqdXN0aWZ5LWVuZFwiPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgY2xhc3M9XCJ0cnVuY2F0ZSBwLTEgLW14LTEgbWItMVwiXG4gICAgICBleHRyYUJ0bkNsYXNzPVwiIXRleHQtcHJpbWFyeSBmb250LXNhbnMgZm9udC1tZWRpdW1cIlxuICAgICAgW3RpdGxlXT1cIidtYXAuc2VsZWN0LmxheWVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2hvaWNlc109XCJkcm9wZG93bkNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmtUb0Rpc3BsYXkoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPGduLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b25cbiAgICAgIGNsYXNzPVwic2hyaW5rLTAgcHktMSBwbGFjZS1zZWxmLWVuZFwiXG4gICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgID5cbiAgICA8L2duLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBvdmVyZmxvdy1oaWRkZW5cIlxuICA+XG4gICAgPGduLXVpLW1hcC1jb250YWluZXJcbiAgICAgICNtYXBDb250YWluZXJcbiAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgKGZlYXR1cmVzQ2xpY2spPVwib25NYXBGZWF0dXJlU2VsZWN0KCRldmVudClcIlxuICAgID48L2duLXVpLW1hcC1jb250YWluZXI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcC0zIGJnLXdoaXRlIGFic29sdXRlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBtYXgtaC03MiB3LTU2XCJcbiAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNlbGVjdGlvblwiXG4gICAgPlxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwicmVzZXRTZWxlY3Rpb24oKVwiXG4gICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMHB4O1xuICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXdpZHRoOiAyNHB4O1xuICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHJpZ2h0LVswLjVlbV0gbWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1zbVwiPjwvbmctaWNvbj5cbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPGduLXVpLWZlYXR1cmUtZGV0YWlsIFtmZWF0dXJlXT1cInNlbGVjdGlvblwiPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRvcC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgW25nQ2xhc3NdPVwieyAncmlnaHQtWzFlbV0nOiAhc2VsZWN0aW9uLCAncmlnaHQtWzE2ZW1dJzogc2VsZWN0aW9uIH1cIlxuICAgICAgW2hpZGRlbl09XCIhc2hvd0xlZ2VuZCB8fCAhbGVnZW5kRXhpc3RzXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LWJvbGRcIj5MZWdlbmQ8L2Rpdj5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgICBzdHlsZT1cIlxuICAgICAgICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgXCJcbiAgICAgICAgICBleHRyYUNsYXNzPVwibWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8Z24tdWktbWFwLWxlZ2VuZFxuICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgKGxlZ2VuZFN0YXR1c0NoYW5nZSk9XCJvbkxlZ2VuZFN0YXR1c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLW1hcC1sZWdlbmQ+XG4gICAgPC9kaXY+XG5cbiAgICA8Z24tdWktYnV0dG9uXG4gICAgICAqbmdJZj1cIiFzaG93TGVnZW5kICYmIGxlZ2VuZEV4aXN0cyAmJiAhc2VsZWN0aW9uXCJcbiAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgIChidXR0b25DbGljayk9XCJ0b2dnbGVMZWdlbmQoKVwiXG4gICAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgdG9wLVsxZW1dIHJpZ2h0LVsxZW1dIHJvdW5kZWQgcC0xIHRleHQteHMgYmctd2hpdGVcIlxuICAgID5cbiAgICAgIExlZ2VuZFxuICAgIDwvZ24tdWktYnV0dG9uPlxuXG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICBbbWVzc2FnZV09XCInbWFwLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMFwiXG4gICAgPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBR3BCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHlCQUF5QixHQUMxQixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQTtBQUMxRyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLHVDQUF1QyxDQUFBO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7Ozs7OztBQUVoRSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtBQUNsQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtBQXVCM0IsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixJQUFhLFVBQVUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFTRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDcEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7SUFvRkQsWUFDVSxZQUEwQixFQUMxQixRQUF5QixFQUN6QixXQUF3QixFQUN4QixTQUE0QjtRQUg1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQXpHN0Isa0JBQWEsR0FBRyxJQUFJLENBQUE7UUFHN0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUV4QyxlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBYXBCLHdCQUFtQixHQUFHLGFBQWEsQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUI7U0FDNUMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsT0FBTyxDQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsd0JBQXdCLENBQUMsQ0FBQTtRQUN0RCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQscUJBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDOUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDWixLQUFLLENBQUMsTUFBTTtZQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDMUIsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ3RELENBQ0YsQ0FBQTtRQUNELHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTNDLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBRVosa0JBQWEsR0FBRyxhQUFhLENBQUM7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQjtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUU5QyxtQkFBYyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNmLENBQUM7WUFDRCxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUE7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2YsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3ZCLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtnQkFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDbEMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDZixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQ3ZDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQsZ0JBQVcsR0FBMkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHFEQUFxRDtRQUNqRixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDYixNQUFNO1lBQ04sSUFBSTtTQUNMLENBQUMsQ0FBQyxFQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixFQUNELFNBQVMsQ0FBQztZQUNSLE1BQU0sRUFBRSxFQUFFO1lBQ1YsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLEVBQ0YsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxPQUFPLENBQUMsSUFBSTtnQkFBRSxPQUFPLE9BQU8sQ0FBQTtZQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtZQUN2QyxPQUFPO2dCQUNMLEdBQUcsT0FBTztnQkFDVixJQUFJO2FBQ0wsQ0FBQTtRQUNILENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFBO0lBT0UsQ0FBQztJQUVKLEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUE7UUFDakQsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQW1CO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNwRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQiw2Q0FBNkM7WUFDN0MsK0NBQStDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsNkNBQTZDO1lBQzdDLGdDQUFnQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQTJCO1FBQzFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3BFLE9BQU8sRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxJQUNMLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUztZQUN2QixJQUFJLENBQUMscUJBQXFCLEtBQUssTUFBTSxFQUNyQyxDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDaEIsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLElBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFDdEIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssS0FBSztnQkFDbkMsSUFBSSxDQUFDLHFCQUFxQixLQUFLLFVBQVU7Z0JBQ3pDLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxhQUFhLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFDeEIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSTthQUNMLENBQUMsQ0FBQyxDQUNKLENBQUE7UUFDSCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BDLENBQUM7K0dBMUtVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDhQQ25GN0IsZ3BHQTZGQSx5RER4QkksWUFBWSxzUkFDWix5QkFBeUIscU5BQ3pCLHFCQUFxQiw4SUFDckIsc0JBQXNCLHNGQUN0QixtQkFBbUIsbUdBQ25CLGVBQWUsbU9BQ2Ysb0JBQW9CLG9GQUNwQixlQUFlLDZHQUNmLDZCQUE2QiwyRkFDN0IsZUFBZSwrSEFDZixrQkFBa0Isd0dBRUwsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDOzs0RkFFaEMsZ0JBQWdCO2tCQXJCNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzt5S0FHOUIsVUFBVTtzQkFBdEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZyb20sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHRocm93RXJyb3IsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZS9tZHZpZXcuZmFjYWRlJ1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBjcmVhdGVWaWV3RnJvbUxheWVyLFxuICBNYXBDb250ZXh0LFxuICBNYXBDb250ZXh0TGF5ZXIsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICBwcmlvcml0aXplUGFnZVNjcm9sbCxcbiAgTWFwTGVnZW5kQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7IE5nSWNvbkNvbXBvbmVudCwgcHJvdmlkZUljb25zIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDbG9zZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi9leHRlcm5hbC12aWV3ZXItYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuXG5tYXJrZXIoJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicpXG5tYXJrZXIoJ3dmcy5mZWF0dXJlLmxpbWl0JylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIEV4dGVybmFsVmlld2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNYXBMZWdlbmRDb21wb25lbnQsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtwcm92aWRlSWNvbnMoeyBtYXRDbG9zZSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2V0IGV4Y2x1ZGVXZnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmV4Y2x1ZGVXZnMkLm5leHQodmFsdWUpXG4gIH1cbiAgQElucHV0KCkgZGlzcGxheVNvdXJjZSA9IHRydWVcbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgbWFwQ29udGFpbmVyOiBNYXBDb250YWluZXJDb21wb25lbnRcblxuICBleGNsdWRlV2ZzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpXG4gIHNlbGVjdGlvbjogRmVhdHVyZVxuICBzaG93TGVnZW5kID0gdHJ1ZVxuICBsZWdlbmRFeGlzdHMgPSBmYWxzZVxuXG4gIHRvZ2dsZUxlZ2VuZCgpIHtcbiAgICB0aGlzLnNob3dMZWdlbmQgPSAhdGhpcy5zaG93TGVnZW5kXG4gIH1cblxuICBvbkxlZ2VuZFN0YXR1c0NoYW5nZShzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxlZ2VuZEV4aXN0cyA9IHN0YXR1c1xuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICB0aGlzLnNob3dMZWdlbmQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbXBhdGlibGVNYXBMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5tYXBBcGlMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFttYXBBcGlMaW5rcywgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5XSkgPT4ge1xuICAgICAgcmV0dXJuIFsuLi5tYXBBcGlMaW5rcywgLi4uZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5XVxuICAgIH0pXG4gIClcblxuICBkcm9wZG93bkNob2ljZXMkID0gdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLnBpcGUoXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLmxlbmd0aFxuICAgICAgICA/IGxpbmtzLm1hcCgobGluaywgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICAgICAgdmFsdWU6IGluZGV4LFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IFt7IGxhYmVsOiAnbWFwLmRyb3Bkb3duLnBsYWNlaG9sZGVyJywgdmFsdWU6IDAgfV1cbiAgICApXG4gIClcbiAgc2VsZWN0ZWRMaW5rSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKVxuXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBlcnJvciA9IG51bGxcblxuICBzZWxlY3RlZExpbmskID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLFxuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSW5kZXgkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gIF0pLnBpcGUobWFwKChbbGlua3MsIGluZGV4XSkgPT4gbGlua3NbaW5kZXhdKSlcblxuICBjdXJyZW50TGF5ZXJzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0ZWRMaW5rJCwgdGhpcy5leGNsdWRlV2ZzJF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbbGluaywgZXhjbHVkZVdmc10pID0+IHtcbiAgICAgIGlmICghbGluaykge1xuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9XG4gICAgICBpZiAoZXhjbHVkZVdmcyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9ICd3ZnMuZmVhdHVyZS5saW1pdCdcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZS5tZXNzYWdlXG4gICAgICAgICAgY29uc29sZS53YXJuKGUuc3RhY2sgfHwgZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbShjcmVhdGVWaWV3RnJvbUxheWVyKGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLCAvLyBjb3VsZCBub3Qgem9vbSBvbiB0aGUgbGF5ZXI6IHVzZSB0aGUgcmVjb3JkIGV4dGVudFxuICAgICAgICBtYXAoKHZpZXcpID0+ICh7XG4gICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgIHZpZXcsXG4gICAgICAgIH0pKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHN0YXJ0V2l0aCh7XG4gICAgICBsYXllcnM6IFtdLFxuICAgICAgdmlldzogbnVsbCxcbiAgICB9KSxcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLm1kVmlld0ZhY2FkZS5tZXRhZGF0YSQpLFxuICAgIG1hcCgoW2NvbnRleHQsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHQudmlldykgcmV0dXJuIGNvbnRleHRcbiAgICAgIGNvbnN0IGV4dGVudCA9IHRoaXMubWFwVXRpbHMuZ2V0UmVjb3JkRXh0ZW50KG1ldGFkYXRhKVxuICAgICAgY29uc3QgdmlldyA9IGV4dGVudCA/IHsgZXh0ZW50IH0gOiBudWxsXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3LFxuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBtYXAgPSBhd2FpdCB0aGlzLm1hcENvbnRhaW5lci5vcGVubGF5ZXJzTWFwXG4gICAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwobWFwLmdldEludGVyYWN0aW9ucygpKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtcycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXRzJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucmVhZEFzR2VvSnNvbihsaW5rKS5waXBlKFxuICAgICAgICBtYXAoKGRhdGEpID0+ICh7XG4gICAgICAgICAgdHlwZTogJ2dlb2pzb24nLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cblxuICBzZWxlY3RMaW5rVG9EaXNwbGF5KGxpbms6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSW5kZXgkLm5leHQobGluaylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBwLTFcIj5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktZW5kXCI+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWRpc3BsYXlTb3VyY2UgfVwiXG4gICAgICBjbGFzcz1cInRydW5jYXRlIHAtMSAtbXgtMSBtYi0xXCJcbiAgICAgIGV4dHJhQnRuQ2xhc3M9XCIhdGV4dC1wcmltYXJ5IGZvbnQtc2FucyBmb250LW1lZGl1bVwiXG4gICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3QubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwic2VsZWN0TGlua1RvRGlzcGxheSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cbiAgICA8Z24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvblxuICAgICAgY2xhc3M9XCJzaHJpbmstMCBweS0xIHBsYWNlLXNlbGYtZW5kXCJcbiAgICAgIFtsaW5rXT1cInNlbGVjdGVkTGluayQgfCBhc3luY1wiXG4gICAgPlxuICAgIDwvZ24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gID5cbiAgICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICAgI21hcENvbnRhaW5lclxuICAgICAgW2NvbnRleHRdPVwibWFwQ29udGV4dCQgfCBhc3luY1wiXG4gICAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktbWFwLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2VsZWN0aW9uXCJcbiAgICA+XG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJyZXNldFNlbGVjdGlvbigpXCJcbiAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1wYWRkaW5nOiAwcHg7XG4gICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICBcIlxuICAgICAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtWzAuNWVtXSBtbC1bOHB4XSBtci1bMTBweF1cIlxuICAgICAgPlxuICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICA8Z24tdWktZmVhdHVyZS1kZXRhaWwgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCI+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1bMWVtXSc6ICFzZWxlY3Rpb24sICdyaWdodC1bMTZlbV0nOiBzZWxlY3Rpb24gfVwiXG4gICAgICBbaGlkZGVuXT1cIiFzaG93TGVnZW5kIHx8ICFsZWdlbmRFeGlzdHNcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IGZvbnQtYm9sZFwiPkxlZ2VuZDwvZGl2PlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlTGVnZW5kKClcIlxuICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1wYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMjRweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICBcIlxuICAgICAgICAgIGV4dHJhQ2xhc3M9XCJtbC1bOHB4XSBtci1bMTBweF1cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWljb24gbmFtZT1cIm1hdENsb3NlXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1zbVwiPjwvbmctaWNvbj5cbiAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxnbi11aS1tYXAtbGVnZW5kXG4gICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAobGVnZW5kU3RhdHVzQ2hhbmdlKT1cIm9uTGVnZW5kU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvZ24tdWktbWFwLWxlZ2VuZD5cbiAgICA8L2Rpdj5cblxuICAgIDxnbi11aS1idXR0b25cbiAgICAgICpuZ0lmPVwiIXNob3dMZWdlbmQgJiYgbGVnZW5kRXhpc3RzICYmICFzZWxlY3Rpb25cIlxuICAgICAgdHlwZT1cIm91dGxpbmVcIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSB0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcm91bmRlZCBwLTEgdGV4dC14cyBiZy13aGl0ZVwiXG4gICAgPlxuICAgICAgTGVnZW5kXG4gICAgPC9nbi11aS1idXR0b24+XG5cbiAgICA8Z24tdWktbG9hZGluZy1tYXNrXG4gICAgICAqbmdJZj1cImxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wXCJcbiAgICAgIFttZXNzYWdlXT1cIidtYXAubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvZ24tdWktbG9hZGluZy1tYXNrPlxuICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICA+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -318,4 +318,49 @@ export class DateRangeSearchField extends SimpleSearchField {
|
|
|
318
318
|
return 'dateRange';
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMvbGliL3V0aWxzL3NlcnZpY2UvZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlGQUFpRixDQUFBO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlGQUF5RixDQUFBO0FBQ3BJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBUXJILE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLDhDQUE4QyxDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFVMUUsTUFBTSxPQUFnQixtQkFBbUI7Q0FTeEM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQ1ksV0FBbUIsRUFDbkIsUUFBa0IsRUFDbEIsUUFBd0IsS0FBSyxFQUM3QixZQUE2QixLQUFLO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFUcEMsZUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENB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QUs7UUFFNUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBTHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBeUI7SUFHOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixvRkFBb0Y7UUFDcEYsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sV0FBVyxDQUFBO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgQWdncmVnYXRpb25CdWNrZXRzLFxuICBBZ2dyZWdhdGlvbnNQYXJhbXMsXG4gIEZpZWxkRmlsdGVyQnlFeHByZXNzaW9uLFxuICBGaWVsZEZpbHRlcnMsXG4gIFRlcm1CdWNrZXQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7XG4gIERhdGVSYW5nZSxcbiAgRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gIGlzRGF0ZVJhbmdlLFxuICBNRVRBREFUQV9MQU5HVUFHRSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IGZvcm1hdFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5cbmV4cG9ydCB0eXBlIEZpZWxkVHlwZSA9ICd2YWx1ZXMnIHwgJ2RhdGVSYW5nZSdcblxuZXhwb3J0IHR5cGUgRmllbGRWYWx1ZSA9IHN0cmluZyB8IG51bWJlclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZEF2YWlsYWJsZVZhbHVlIHtcbiAgdmFsdWU6IEZpZWxkVmFsdWVcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWFyY2hGaWVsZCB7XG4gIGFic3RyYWN0IGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXSB8IERhdGVSYW5nZVtdPlxuICBhYnN0cmFjdCBnZXRGaWx0ZXJzRm9yVmFsdWVzKFxuICAgIHZhbHVlczogRmllbGRWYWx1ZVtdIHwgRGF0ZVJhbmdlW11cbiAgKTogT2JzZXJ2YWJsZTxGaWVsZEZpbHRlcnM+XG4gIGFic3RyYWN0IGdldFZhbHVlc0ZvckZpbHRlcihcbiAgICBmaWx0ZXJzOiBGaWVsZEZpbHRlcnNcbiAgKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10gfCBGaWVsZFZhbHVlIHwgRGF0ZVJhbmdlPlxuICBhYnN0cmFjdCBnZXRUeXBlKCk6IEZpZWxkVHlwZVxufVxuXG5leHBvcnQgY2xhc3MgU2ltcGxlU2VhcmNoRmllbGQgaW1wbGVtZW50cyBBYnN0cmFjdFNlYXJjaEZpZWxkIHtcbiAgcHJvdGVjdGVkIHJlcG9zaXRvcnkgPSB0aGlzLmluamVjdG9yLmdldChSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSlcblxuICAvLyBGSVhNRTogdGhpcyBpcyByZXF1aXJlZCB0byByZWdpc3RlciBydW50aW1lIGZpZWxkczsgYWJzdHJhY3QgdGhpcyBhcyB3ZWxsXG4gIHByb3RlY3RlZCBlc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChFbGFzdGljc2VhcmNoU2VydmljZSlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZXNGaWVsZE5hbWU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBvcmRlcjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcbiAgICBwcm90ZWN0ZWQgb3JkZXJUeXBlOiAna2V5JyB8ICdjb3VudCcgPSAna2V5J1xuICApIHt9XG5cbiAgcHJvdGVjdGVkIGdldEFnZ3JlZ2F0aW9ucygpOiBBZ2dyZWdhdGlvbnNQYXJhbXMge1xuICAgIHJldHVybiB7XG4gICAgICBbdGhpcy5lc0ZpZWxkTmFtZV06IHtcbiAgICAgICAgdHlwZTogJ3Rlcm1zJyxcbiAgICAgICAgZmllbGQ6IHRoaXMuZXNGaWVsZE5hbWUsXG4gICAgICAgIGxpbWl0OiAxMDAwLFxuICAgICAgICBzb3J0OiBbdGhpcy5vcmRlciwgdGhpcy5vcmRlclR5cGVdLFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QnVja2V0TGFiZWwoYnVja2V0OiBUZXJtQnVja2V0KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYnVja2V0LnRlcm0udG9TdHJpbmcoKVxuICB9XG5cbiAgZ2V0QXZhaWxhYmxlVmFsdWVzKCk6IE9ic2VydmFibGU8RmllbGRBdmFpbGFibGVWYWx1ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3NpdG9yeS5hZ2dyZWdhdGUodGhpcy5nZXRBZ2dyZWdhdGlvbnMoKSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKHJlc3BvbnNlKSA9PlxuICAgICAgICAgIChyZXNwb25zZVt0aGlzLmVzRmllbGROYW1lXSBhcyBBZ2dyZWdhdGlvbkJ1Y2tldHMpLmJ1Y2tldHMgfHwgW11cbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoKGJ1Y2tldHM6IFRlcm1CdWNrZXRbXSkgPT4ge1xuICAgICAgICBjb25zdCBidWNrZXRQcm9taXNlcyA9IGJ1Y2tldHMubWFwKGFzeW5jIChidWNrZXQpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGAke2F3YWl0IHRoaXMuZ2V0QnVja2V0TGFiZWwoYnVja2V0KX0gKCR7YnVja2V0LmNvdW50fSlgLFxuICAgICAgICAgIHZhbHVlOiBidWNrZXQudGVybS50b1N0cmluZygpLFxuICAgICAgICB9KSlcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGJ1Y2tldFByb21pc2VzKVxuICAgICAgfSlcbiAgICApXG4gIH1cbiAgZ2V0RmlsdGVyc0ZvclZhbHVlcyhcbiAgICB2YWx1ZXM6IEZpZWxkVmFsdWVbXSB8IERhdGVSYW5nZVtdXG4gICk6IE9ic2VydmFibGU8RmllbGRGaWx0ZXJzPiB7XG4gICAgLy8gRmllbGRWYWx1ZVtdXG4gICAgaWYgKHRoaXMuZ2V0VHlwZSgpID09PSAndmFsdWVzJykge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgW3RoaXMuZXNGaWVsZE5hbWVdOiAodmFsdWVzIGFzIEZpZWxkVmFsdWVbXSkucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdmFsLnRvU3RyaW5nKClcbiAgICAgICAgICBpZiAodmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5hY2MsIFt2YWx1ZV06IHRydWUgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG4gICAgfVxuICAgIC8vIERhdGVSYW5nZVxuICAgIHJldHVybiBvZih7XG4gICAgICBbdGhpcy5lc0ZpZWxkTmFtZV06IHZhbHVlc1swXSAhPT0gJycgPyB2YWx1ZXNbMF0gOiB7fSxcbiAgICB9KVxuICB9XG4gIGdldFZhbHVlc0ZvckZpbHRlcihcbiAgICBmaWx0ZXJzOiBGaWVsZEZpbHRlcnNcbiAgKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10gfCBGaWVsZFZhbHVlIHwgRGF0ZVJhbmdlPiB7XG4gICAgY29uc3QgZmlsdGVyID0gZmlsdGVyc1t0aGlzLmVzRmllbGROYW1lXVxuICAgIGlmICghZmlsdGVyKSByZXR1cm4gb2YoW10pXG4gICAgLy8gZmlsdGVyIGJ5IGV4cHJlc3Npb25cbiAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBvZihbZmlsdGVyXSlcbiAgICB9XG4gICAgLy8gZmlsdGVyIGJ5IGRhdGUgcmFuZ2VcbiAgICBpZiAoaXNEYXRlUmFuZ2UoZmlsdGVyKSkge1xuICAgICAgcmV0dXJuIG9mKGZpbHRlcilcbiAgICB9XG4gICAgLy8gZmlsdGVyIGJ5IHZhbHVlc1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5rZXlzKGZpbHRlcikuZmlsdGVyKCh2KSA9PiBmaWx0ZXJbdl0pXG4gICAgcmV0dXJuIG9mKHZhbHVlcylcbiAgfVxuXG4gIGdldFR5cGUoKTogRmllbGRUeXBlIHtcbiAgICByZXR1cm4gJ3ZhbHVlcydcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlZFNlYXJjaEZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBwcm90ZWN0ZWQgcGxhdGZvcm1TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlc0ZpZWxkTmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnLFxuICAgIHByb3RlY3RlZCBvcmRlclR5cGU6ICdrZXknIHwgJ2NvdW50JyA9ICdrZXknXG4gICkge1xuICAgIHN1cGVyKGVzRmllbGROYW1lLCBpbmplY3Rvciwgb3JkZXIsIG9yZGVyVHlwZSlcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLnBsYXRmb3JtU2VydmljZS50cmFuc2xhdGVLZXkoa2V5KSlcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRCdWNrZXRMYWJlbChidWNrZXQ6IFRlcm1CdWNrZXQpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0VHJhbnNsYXRpb24oYnVja2V0LnRlcm0pKSB8fCBidWNrZXQudGVybVxuICB9XG5cbiAgZ2V0QXZhaWxhYmxlVmFsdWVzKCk6IE9ic2VydmFibGU8RmllbGRBdmFpbGFibGVWYWx1ZVtdPiB7XG4gICAgaWYgKHRoaXMub3JkZXJUeXBlID09PSAnY291bnQnKSByZXR1cm4gc3VwZXIuZ2V0QXZhaWxhYmxlVmFsdWVzKClcbiAgICAvLyBzb3J0IHZhbHVlcyBieSBhbHBoYWJldGljYWwgb3JkZXJcbiAgICByZXR1cm4gc3VwZXJcbiAgICAgIC5nZXRBdmFpbGFibGVWYWx1ZXMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodmFsdWVzKSA9PlxuICAgICAgICAgIHZhbHVlcy5zb3J0KChhLCBiKSA9PiBuZXcgSW50bC5Db2xsYXRvcigpLmNvbXBhcmUoYS5sYWJlbCwgYi5sYWJlbCkpXG4gICAgICAgIClcbiAgICAgIClcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgc2VhcmNoIGZpZWxkIHdpbGwgZWl0aGVyIHRhcmdldCB0aGUgYC5kZWZhdWx0YCBmaWVsZCwgb3IgYSBzcGVjaWZpYyBgLmxhbmd4eXpgIGZpZWxkIGFjY29yZGluZ1xuICogdG8gdGhlIGRlZmluZWQgTUVUQURBVEFfTEFOR1VBR0UgdG9rZW5cbiAqIFRoZSBwcm92aWRlZCBFUyBmaWVsZCBuYW1lIHNob3VsZCBub3QgaW5jbHVkZSBhbnkgcHJlZml4IHN1Y2ggYXMgYC5sYW5nZW5nYFxuICovXG5leHBvcnQgY2xhc3MgTXVsdGlsaW5ndWFsU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIHByaXZhdGUgbGFuZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChMYW5nU2VydmljZSlcbiAgcHJpdmF0ZSBzZWFyY2hMYW5ndWFnZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE1FVEFEQVRBX0xBTkdVQUdFLCBudWxsKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlc0ZpZWxkTmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnLFxuICAgIHByb3RlY3RlZCBvcmRlclR5cGU6ICdrZXknIHwgJ2NvdW50JyA9ICdrZXknXG4gICkge1xuICAgIHN1cGVyKGVzRmllbGROYW1lLCBpbmplY3Rvciwgb3JkZXIsIG9yZGVyVHlwZSlcbiAgICAvLyBub3RlOiB3ZSdyZSBleGNsdWRpbmcgdGhlIG1ldGFkYXRhIGxhbmd1YWdlIFwiY3VycmVudFwiIHZhbHVlIGJlY2F1c2UgdGhhdCB3b3VsZCBwcm9kdWNlXG4gICAgLy8gcGVybWFsaW5rcyB0aGF0IG1pZ2h0IG5vdCB3b3JrIGZvciBkaWZmZXJlbnQgdXNlcnNcbiAgICBpZiAodGhpcy5zZWFyY2hMYW5ndWFnZSAmJiB0aGlzLnNlYXJjaExhbmd1YWdlICE9PSAnY3VycmVudCcpIHtcbiAgICAgIHRoaXMuZXNGaWVsZE5hbWUgKz0gYC5sYW5nJHt0aGlzLnNlYXJjaExhbmd1YWdlfWBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lc0ZpZWxkTmFtZSArPSAnLmRlZmF1bHQnXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGdWxsVGV4dFNlYXJjaEZpZWxkIGltcGxlbWVudHMgQWJzdHJhY3RTZWFyY2hGaWVsZCB7XG4gIGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXT4ge1xuICAgIHJldHVybiBvZihbXSlcbiAgfVxuICBnZXRGaWx0ZXJzRm9yVmFsdWVzKHZhbHVlczogRmllbGRWYWx1ZVtdKTogT2JzZXJ2YWJsZTxGaWVsZEZpbHRlcnM+IHtcbiAgICByZXR1cm4gb2Yoe1xuICAgICAgYW55OiB2YWx1ZXNbMF0gYXMgc3RyaW5nLFxuICAgIH0pXG4gIH1cbiAgZ2V0VmFsdWVzRm9yRmlsdGVyKGZpbHRlcnM6IEZpZWxkRmlsdGVycyk6IE9ic2VydmFibGU8RmllbGRWYWx1ZVtdPiB7XG4gICAgcmV0dXJuIG9mKGZpbHRlcnMuYW55ID8gW2ZpbHRlcnMuYW55IGFzIEZpZWxkRmlsdGVyQnlFeHByZXNzaW9uXSA6IFtdKVxuICB9XG4gIGdldFR5cGUoKTogRmllbGRUeXBlIHtcbiAgICByZXR1cm4gJ3ZhbHVlcydcbiAgfVxufVxuXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmlzU3BhdGlhbC55ZXMnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5pc1NwYXRpYWwubm8nKVxuXG5leHBvcnQgY2xhc3MgSXNTcGF0aWFsU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpXG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoJ2lzU3BhdGlhbCcsIGluamVjdG9yLCAnYXNjJylcbiAgICB0aGlzLmVzU2VydmljZS5yZWdpc3RlclJ1bnRpbWVGaWVsZChcbiAgICAgICdpc1NwYXRpYWwnLFxuICAgICAgYFN0cmluZyByZXN1bHQgPSAnbm8nO1xuU3RyaW5nIGZvcm1hdHMgPSBkb2MuZm9ybWF0LmpvaW4oJ3wnKS50b0xvd2VyQ2FzZSgpO1xuaWYgKGZvcm1hdHMuY29udGFpbnMoJ2dlb2pzb24nKSB8fCBmb3JtYXRzLmNvbnRhaW5zKCdhcmNnaXMnKSB8fCBmb3JtYXRzLmNvbnRhaW5zKCdvZ2MnKSB8fCBmb3JtYXRzLmNvbnRhaW5zKCdzaHAnKSkgcmVzdWx0ID0gJ3llcyc7XG5TdHJpbmcgcHJvdG9jb2xzID0gZG9jLmxpbmtQcm90b2NvbC5qb2luKCd8JykudG9Mb3dlckNhc2UoKTtcbmlmIChwcm90b2NvbHMuY29udGFpbnMoJ2VzcmknKSB8fCBwcm90b2NvbHMuY29udGFpbnMoJ29nYycpKSByZXN1bHQgPSAneWVzJztcbmVtaXQocmVzdWx0KTtgXG4gICAgKVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEFnZ3JlZ2F0aW9ucygpOiBBZ2dyZWdhdGlvbnNQYXJhbXMge1xuICAgIHJldHVybiB7XG4gICAgICBpc1NwYXRpYWw6IHtcbiAgICAgICAgdHlwZTogJ3Rlcm1zJyxcbiAgICAgICAgbGltaXQ6IDIsXG4gICAgICAgIGZpZWxkOiAnaXNTcGF0aWFsJyxcbiAgICAgICAgc29ydDogWydhc2MnLCAna2V5J10sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRCdWNrZXRMYWJlbChidWNrZXQ6IFRlcm1CdWNrZXQpIHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KGBzZWFyY2guZmlsdGVycy5pc1NwYXRpYWwuJHtidWNrZXQudGVybX1gKVxuICAgIClcbiAgfVxuXG4gIGdldEZpbHRlcnNGb3JWYWx1ZXModmFsdWVzOiBGaWVsZFZhbHVlW10pOiBPYnNlcnZhYmxlPEZpZWxkRmlsdGVycz4ge1xuICAgIGNvbnN0IGlzU3BhdGlhbCA9IHt9XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPiAwKSBpc1NwYXRpYWxbdmFsdWVzW3ZhbHVlcy5sZW5ndGggLSAxXV0gPSB0cnVlXG4gICAgcmV0dXJuIG9mKHtcbiAgICAgIGlzU3BhdGlhbCxcbiAgICB9KVxuICB9XG5cbiAgZ2V0VmFsdWVzRm9yRmlsdGVyKGZpbHRlcnM6IEZpZWxkRmlsdGVycyk6IE9ic2VydmFibGU8RmllbGRWYWx1ZVtdPiB7XG4gICAgY29uc3QgZmlsdGVyID0gZmlsdGVycy5pc1NwYXRpYWxcbiAgICBpZiAoIWZpbHRlcikgcmV0dXJuIG9mKFtdKVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmaWx0ZXIpXG4gICAgcmV0dXJuIG9mKGtleXMubGVuZ3RoID8gW2tleXNbMF1dIDogW10pXG4gIH1cbn1cblxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLnBkZGwnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLm9kYmwnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLm9kYy1ieScpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UuY2MtYnktc2EnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLmNjLWJ5Jylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMubGljZW5zZS5jYy16ZXJvJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMubGljZW5zZS5ldGFsYWItdjInKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLmV0YWxhYicpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UudW5rbm93bicpXG5cbi8vIE5vdGU6IHZhbHVlcyBhcmUgaW5zcGlyZWQgZnJvbSBodHRwczovL2RvYy5kYXRhLmdvdXYuZnIvbW9pc3Nvbm5hZ2UvbGljZW5jZXMvXG5leHBvcnQgY2xhc3MgTGljZW5zZVNlYXJjaEZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKVxuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKCdsaWNlbnNlJywgaW5qZWN0b3IsICdhc2MnKVxuICAgIHRoaXMuZXNTZXJ2aWNlLnJlZ2lzdGVyUnVudGltZUZpZWxkKFxuICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgYFN0cmluZyByYXcgPSAnJztcbmlmIChkb2MuY29udGFpbnNLZXkoJ2xpY2Vuc2VPYmplY3QuZGVmYXVsdC5rZXl3b3JkJykgJiYgZG9jWydsaWNlbnNlT2JqZWN0LmRlZmF1bHQua2V5d29yZCddLmxlbmd0aCA+IDApXG4gIHJhdyArPSBkb2NbJ2xpY2Vuc2VPYmplY3QuZGVmYXVsdC5rZXl3b3JkJ10uam9pbignfCcpLnRvTG93ZXJDYXNlKCk7XG5pZiAoZG9jLmNvbnRhaW5zS2V5KCdNRF9MZWdhbENvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdC5kZWZhdWx0LmtleXdvcmQnKSAmJiBkb2NbJ01EX0xlZ2FsQ29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0LmRlZmF1bHQua2V5d29yZCddLmxlbmd0aCA+IDApXG4gIHJhdyArPSBkb2NbJ01EX0xlZ2FsQ29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0LmRlZmF1bHQua2V5d29yZCddLmpvaW4oJ3wnKS50b0xvd2VyQ2FzZSgpO1xuXG5ib29sZWFuIHVua25vd24gPSB0cnVlO1xuaWYgKHJhdy5jb250YWlucygncGRkbCcpIHx8IHJhdy5jb250YWlucygncHVibGljIGRvbWFpbiBkZWRpY2F0aW9uIGFuZCBsaWNlbmNlJykpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdwZGRsJyk7XG59XG5pZiAocmF3LmNvbnRhaW5zKCdvZGJsJykgfHwgcmF3LmNvbnRhaW5zKCdvcGVuIGRhdGFiYXNlIGxpY2Vuc2UnKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ29kYmwnKTtcbn1cbmlmIChyYXcuY29udGFpbnMoJ29kYy1ieScpIHx8IHJhdy5jb250YWlucygnb3BlbmRhdGFjb21tb25zLm9yZy9saWNlbnNlcy9ieS9zdW1tYXJ5L1wiJykpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdvZGMtYnknKTtcbn1cblxuaWYgKHJhdy5jb250YWlucygnY2MtYnktc2EnKSB8fCByYXcuY29udGFpbnMoJ2NyZWF0aXZlIGNvbW1vbnMgYXR0cmlidXRpb24gc2hhcmUtYWxpa2UnKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ2NjLWJ5LXNhJyk7XG59IGVsc2UgaWYgKHJhdy5jb250YWlucygnY2MtYnknKSB8fCByYXcuY29udGFpbnMoJ2NjIGJ5JykgfHwgcmF3LmNvbnRhaW5zKCdjcmVhdGl2ZSBjb21tb25zIGF0dHJpYnV0aW9uJykpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdjYy1ieScpO1xufSBlbHNlIGlmIChyYXcuY29udGFpbnMoJ2NjMCcpIHx8IHJhdy5jb250YWlucygnY2MtMCcpIHx8IHJhdy5jb250YWlucygnY2N6ZXJvJykgfHwgcmF3LmNvbnRhaW5zKCdjYy16ZXJvJykpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdjYy16ZXJvJyk7XG59XG5cbmlmIChyYXcuY29udGFpbnMoJ2V0YWxhYicpICYmIChyYXcuY29udGFpbnMoJ3YyJykgfHwgcmF3LmNvbnRhaW5zKCcyLjAnKSkpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdldGFsYWItdjInKTtcbn0gZWxzZSBpZiAocmF3LmNvbnRhaW5zKCdvcGVuIGxpY2VuY2UnKSB8fCByYXcuY29udGFpbnMoJ2xpY2VuY2Ugb3V2ZXJ0ZScpIHx8IHJhdy5jb250YWlucygnbGljZW5jZV9vdXZlcnRlJykpIHtcbiAgdW5rbm93biA9IGZhbHNlO1xuICBlbWl0KCdldGFsYWInKTtcbn1cblxuaWYodW5rbm93bikgZW1pdCgndW5rbm93bicpO2BcbiAgICApXG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWdncmVnYXRpb25zKCk6IEFnZ3JlZ2F0aW9uc1BhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpY2Vuc2U6IHtcbiAgICAgICAgdHlwZTogJ3Rlcm1zJyxcbiAgICAgICAgbGltaXQ6IDEwLFxuICAgICAgICBmaWVsZDogJ2xpY2Vuc2UnLFxuICAgICAgICBzb3J0OiBbJ2Rlc2MnLCAnY291bnQnXSxcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEJ1Y2tldExhYmVsKGJ1Y2tldDogVGVybUJ1Y2tldCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoYHNlYXJjaC5maWx0ZXJzLmxpY2Vuc2UuJHtidWNrZXQudGVybX1gKVxuICAgIClcbiAgfVxufVxuXG4vLyBUaGlzIHdpbGwgdXNlIHRoZSBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZVxuLy8gRmllbGQgdmFsdWVzIGFyZSB0aGUgb3JnYW5pemF0aW9uIG5hbWVzXG5leHBvcnQgY2xhc3MgT3JnYW5pemF0aW9uU2VhcmNoRmllbGQgaW1wbGVtZW50cyBBYnN0cmFjdFNlYXJjaEZpZWxkIHtcbiAgcHJpdmF0ZSBvcmdzU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIGdldEZpbHRlcnNGb3JWYWx1ZXModmFsdWVzOiBGaWVsZFZhbHVlW10pOiBPYnNlcnZhYmxlPEZpZWxkRmlsdGVycz4ge1xuICAgIHJldHVybiB0aGlzLm9yZ3NTZXJ2aWNlLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICBtYXAoKG9yZ3MpID0+XG4gICAgICAgIHZhbHVlc1xuICAgICAgICAgIC5tYXAoKG5hbWUpID0+IG9yZ3MuZmluZCgob3JnKSA9PiBvcmcubmFtZSA9PT0gbmFtZSkpXG4gICAgICAgICAgLmZpbHRlcigob3JnKSA9PiBvcmcgIT09IHVuZGVmaW5lZClcbiAgICAgICksXG4gICAgICBzd2l0Y2hNYXAoKHNlbGVjdGVkT3JncykgPT5cbiAgICAgICAgdGhpcy5vcmdzU2VydmljZS5nZXRGaWx0ZXJzRm9yT3JncyhzZWxlY3RlZE9yZ3MpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgZ2V0VmFsdWVzRm9yRmlsdGVyKGZpbHRlcnM6IEZpZWxkRmlsdGVycyk6IE9ic2VydmFibGU8RmllbGRWYWx1ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMub3Jnc1NlcnZpY2VcbiAgICAgIC5nZXRPcmdzRnJvbUZpbHRlcnMoZmlsdGVycylcbiAgICAgIC5waXBlKG1hcCgob3JncykgPT4gb3Jncy5tYXAoKG9yZykgPT4gb3JnLm5hbWUpKSlcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXT4ge1xuICAgIC8vIHNvcnQgdmFsdWVzIGJ5IGFscGhhYmV0aWNhbCBvcmRlclxuICAgIHJldHVybiB0aGlzLm9yZ3NTZXJ2aWNlLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICBtYXAoKG9yZ2FuaXNhdGlvbnMpID0+XG4gICAgICAgIG9yZ2FuaXNhdGlvbnMubWFwKChvcmcpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGAke29yZy5uYW1lfSAoJHtvcmcucmVjb3JkQ291bnR9KWAsXG4gICAgICAgICAgdmFsdWU6IG9yZy5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICBtYXAoKHZhbHVlcykgPT5cbiAgICAgICAgdmFsdWVzLnNvcnQoKGEsIGIpID0+IG5ldyBJbnRsLkNvbGxhdG9yKCkuY29tcGFyZShhLmxhYmVsLCBiLmxhYmVsKSlcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXRUeXBlKCk6IEZpZWxkVHlwZSB7XG4gICAgcmV0dXJuICd2YWx1ZXMnXG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBPd25lclNlYXJjaEZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcignb3duZXInLCBpbmplY3RvciwgJ2FzYycpXG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoKTogT2JzZXJ2YWJsZTxGaWVsZEF2YWlsYWJsZVZhbHVlW10+IHtcbiAgICByZXR1cm4gb2YoW10pXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVzZXJTZWFyY2hGaWVsZCBleHRlbmRzIFNpbXBsZVNlYXJjaEZpZWxkIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoJ3VzZXJpbmZvLmtleXdvcmQnLCBpbmplY3RvciwgJ2FzYycpXG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoKTogT2JzZXJ2YWJsZTxGaWVsZEF2YWlsYWJsZVZhbHVlW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0QXZhaWxhYmxlVmFsdWVzKCkucGlwZShcbiAgICAgIG1hcCgodmFsdWVzKSA9PlxuICAgICAgICB2YWx1ZXMubWFwKCh2KSA9PiAoe1xuICAgICAgICAgIC4uLnYsXG4gICAgICAgICAgbGFiZWw6IGZvcm1hdFVzZXJJbmZvKHYubGFiZWwsIHRydWUpLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVNlYXJjaEZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZXNGaWVsZE5hbWU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBvcmRlcjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJyxcbiAgICBwcm90ZWN0ZWQgb3JkZXJUeXBlOiAna2V5JyB8ICdjb3VudCcgPSAna2V5J1xuICApIHtcbiAgICBzdXBlcihlc0ZpZWxkTmFtZSwgaW5qZWN0b3IsIG9yZGVyLCBvcmRlclR5cGUpXG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoKTogT2JzZXJ2YWJsZTxGaWVsZEF2YWlsYWJsZVZhbHVlW10+IHtcbiAgICAvLyBUT0RPOiByZXR1cm4gYW4gYXJyYXkgb2YgZGF0ZXMgdG8gc2hvdyB3aGljaCBvbmUgYXJlIGF2YWlsYWJsZSBpbiB0aGUgZGF0ZSBwaWNrZXJcbiAgICByZXR1cm4gb2YoW10pXG4gIH1cblxuICBnZXRUeXBlKCk6IEZpZWxkVHlwZSB7XG4gICAgcmV0dXJuICdkYXRlUmFuZ2UnXG4gIH1cbn1cbiJdfQ==
|
|
321
|
+
marker('search.filters.availableServices.view');
|
|
322
|
+
marker('search.filters.availableServices.download');
|
|
323
|
+
export class AvailableServicesField extends SimpleSearchField {
|
|
324
|
+
constructor(injector) {
|
|
325
|
+
super('availableServices', injector, 'asc');
|
|
326
|
+
this.translateService = this.injector.get(TranslateService);
|
|
327
|
+
this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
|
|
328
|
+
this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
|
|
329
|
+
}
|
|
330
|
+
async getBucketLabel(bucket) {
|
|
331
|
+
return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
|
|
332
|
+
}
|
|
333
|
+
getAggregations() {
|
|
334
|
+
return {
|
|
335
|
+
availableServices: {
|
|
336
|
+
type: 'filters',
|
|
337
|
+
filters: {
|
|
338
|
+
view: `+linkProtocol:${this.linkProtocolViewFilter}`,
|
|
339
|
+
download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
getFiltersForValues(values) {
|
|
345
|
+
const filters = {};
|
|
346
|
+
if (values.includes('view'))
|
|
347
|
+
filters[this.linkProtocolViewFilter] = true;
|
|
348
|
+
if (values.includes('download'))
|
|
349
|
+
filters[this.linkProtocolDownloadFilter] = true;
|
|
350
|
+
return of({
|
|
351
|
+
linkProtocol: filters,
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
getValuesForFilter(filters) {
|
|
355
|
+
const linkFilter = filters.linkProtocol;
|
|
356
|
+
if (!linkFilter)
|
|
357
|
+
return of([]);
|
|
358
|
+
const values = [];
|
|
359
|
+
if (linkFilter[this.linkProtocolViewFilter])
|
|
360
|
+
values.push('view');
|
|
361
|
+
if (linkFilter[this.linkProtocolDownloadFilter])
|
|
362
|
+
values.push('download');
|
|
363
|
+
return of(values);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3NlYXJjaC9zcmMvbGliL3V0aWxzL3NlcnZpY2UvZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlGQUFpRixDQUFBO0FBQy9ILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlGQUF5RixDQUFBO0FBQ3BJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBU3JILE9BQU8sRUFFTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLDhDQUE4QyxDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFVMUUsTUFBTSxPQUFnQixtQkFBbUI7Q0FTeEM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQ1ksV0FBbUIsRUFDbkIsUUFBa0IsRUFDbEIsUUFBd0IsS0FBSyxFQUM3QixZQUE2QixLQUFLO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFUcEMsZUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENB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QixFQUFFO2lCQUM3RDthQUNGO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFvQjtRQUN0QyxNQUFNLE9BQU8sR0FBZ0IsRUFBRSxDQUFBO1FBQy9CLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQ3hFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUVqRCxPQUFPLEVBQUUsQ0FBQztZQUNSLFlBQVksRUFBRSxPQUFPO1NBQ3RCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFxQjtRQUN0QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDOUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDaEUsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN4RSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uQnVja2V0cyxcbiAgQWdncmVnYXRpb25zUGFyYW1zLFxuICBGaWVsZEZpbHRlcixcbiAgRmllbGRGaWx0ZXJCeUV4cHJlc3Npb24sXG4gIEZpZWxkRmlsdGVycyxcbiAgVGVybUJ1Y2tldCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHtcbiAgRGF0ZVJhbmdlLFxuICBFbGFzdGljc2VhcmNoU2VydmljZSxcbiAgaXNEYXRlUmFuZ2UsXG4gIE1FVEFEQVRBX0xBTkdVQUdFLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYydcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgZm9ybWF0VXNlckluZm8gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuZXhwb3J0IHR5cGUgRmllbGRUeXBlID0gJ3ZhbHVlcycgfCAnZGF0ZVJhbmdlJ1xuXG5leHBvcnQgdHlwZSBGaWVsZFZhbHVlID0gc3RyaW5nIHwgbnVtYmVyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkQXZhaWxhYmxlVmFsdWUge1xuICB2YWx1ZTogRmllbGRWYWx1ZVxuICBsYWJlbDogc3RyaW5nXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNlYXJjaEZpZWxkIHtcbiAgYWJzdHJhY3QgZ2V0QXZhaWxhYmxlVmFsdWVzKCk6IE9ic2VydmFibGU8RmllbGRBdmFpbGFibGVWYWx1ZVtdIHwgRGF0ZVJhbmdlW10+XG4gIGFic3RyYWN0IGdldEZpbHRlcnNGb3JWYWx1ZXMoXG4gICAgdmFsdWVzOiBGaWVsZFZhbHVlW10gfCBEYXRlUmFuZ2VbXVxuICApOiBPYnNlcnZhYmxlPEZpZWxkRmlsdGVycz5cbiAgYWJzdHJhY3QgZ2V0VmFsdWVzRm9yRmlsdGVyKFxuICAgIGZpbHRlcnM6IEZpZWxkRmlsdGVyc1xuICApOiBPYnNlcnZhYmxlPEZpZWxkVmFsdWVbXSB8IEZpZWxkVmFsdWUgfCBEYXRlUmFuZ2U+XG4gIGFic3RyYWN0IGdldFR5cGUoKTogRmllbGRUeXBlXG59XG5cbmV4cG9ydCBjbGFzcyBTaW1wbGVTZWFyY2hGaWVsZCBpbXBsZW1lbnRzIEFic3RyYWN0U2VhcmNoRmllbGQge1xuICBwcm90ZWN0ZWQgcmVwb3NpdG9yeSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlKVxuXG4gIC8vIEZJWE1FOiB0aGlzIGlzIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIHJ1bnRpbWUgZmllbGRzOyBhYnN0cmFjdCB0aGlzIGFzIHdlbGxcbiAgcHJvdGVjdGVkIGVzU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEVsYXN0aWNzZWFyY2hTZXJ2aWNlKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlc0ZpZWxkTmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnLFxuICAgIHByb3RlY3RlZCBvcmRlclR5cGU6ICdrZXknIHwgJ2NvdW50JyA9ICdrZXknXG4gICkge31cblxuICBwcm90ZWN0ZWQgZ2V0QWdncmVnYXRpb25zKCk6IEFnZ3JlZ2F0aW9uc1BhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFt0aGlzLmVzRmllbGROYW1lXToge1xuICAgICAgICB0eXBlOiAndGVybXMnLFxuICAgICAgICBmaWVsZDogdGhpcy5lc0ZpZWxkTmFtZSxcbiAgICAgICAgbGltaXQ6IDEwMDAsXG4gICAgICAgIHNvcnQ6IFt0aGlzLm9yZGVyLCB0aGlzLm9yZGVyVHlwZV0sXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRCdWNrZXRMYWJlbChidWNrZXQ6IFRlcm1CdWNrZXQpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBidWNrZXQudGVybS50b1N0cmluZygpXG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoKTogT2JzZXJ2YWJsZTxGaWVsZEF2YWlsYWJsZVZhbHVlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yZXBvc2l0b3J5LmFnZ3JlZ2F0ZSh0aGlzLmdldEFnZ3JlZ2F0aW9ucygpKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAocmVzcG9uc2UpID0+XG4gICAgICAgICAgKHJlc3BvbnNlW3RoaXMuZXNGaWVsZE5hbWVdIGFzIEFnZ3JlZ2F0aW9uQnVja2V0cykuYnVja2V0cyB8fCBbXVxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoYnVja2V0czogVGVybUJ1Y2tldFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1Y2tldFByb21pc2VzID0gYnVja2V0cy5tYXAoYXN5bmMgKGJ1Y2tldCkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogYCR7YXdhaXQgdGhpcy5nZXRCdWNrZXRMYWJlbChidWNrZXQpfSAoJHtidWNrZXQuY291bnR9KWAsXG4gICAgICAgICAgdmFsdWU6IGJ1Y2tldC50ZXJtLnRvU3RyaW5nKCksXG4gICAgICAgIH0pKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoYnVja2V0UHJvbWlzZXMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuICBnZXRGaWx0ZXJzRm9yVmFsdWVzKFxuICAgIHZhbHVlczogRmllbGRWYWx1ZVtdIHwgRGF0ZVJhbmdlW11cbiAgKTogT2JzZXJ2YWJsZTxGaWVsZEZpbHRlcnM+IHtcbiAgICAvLyBGaWVsZFZhbHVlW11cbiAgICBpZiAodGhpcy5nZXRUeXBlKCkgPT09ICd2YWx1ZXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICBbdGhpcy5lc0ZpZWxkTmFtZV06ICh2YWx1ZXMgYXMgRmllbGRWYWx1ZVtdKS5yZWR1Y2UoKGFjYywgdmFsKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWwudG9TdHJpbmcoKVxuICAgICAgICAgIGlmICh2YWx1ZSAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmFjYywgW3ZhbHVlXTogdHJ1ZSB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgfSwge30pLFxuICAgICAgfSlcbiAgICB9XG4gICAgLy8gRGF0ZVJhbmdlXG4gICAgcmV0dXJuIG9mKHtcbiAgICAgIFt0aGlzLmVzRmllbGROYW1lXTogdmFsdWVzWzBdICE9PSAnJyA/IHZhbHVlc1swXSA6IHt9LFxuICAgIH0pXG4gIH1cbiAgZ2V0VmFsdWVzRm9yRmlsdGVyKFxuICAgIGZpbHRlcnM6IEZpZWxkRmlsdGVyc1xuICApOiBPYnNlcnZhYmxlPEZpZWxkVmFsdWVbXSB8IEZpZWxkVmFsdWUgfCBEYXRlUmFuZ2U+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJzW3RoaXMuZXNGaWVsZE5hbWVdXG4gICAgaWYgKCFmaWx0ZXIpIHJldHVybiBvZihbXSlcbiAgICAvLyBmaWx0ZXIgYnkgZXhwcmVzc2lvblxuICAgIGlmICh0eXBlb2YgZmlsdGVyID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG9mKFtmaWx0ZXJdKVxuICAgIH1cbiAgICAvLyBmaWx0ZXIgYnkgZGF0ZSByYW5nZVxuICAgIGlmIChpc0RhdGVSYW5nZShmaWx0ZXIpKSB7XG4gICAgICByZXR1cm4gb2YoZmlsdGVyKVxuICAgIH1cbiAgICAvLyBmaWx0ZXIgYnkgdmFsdWVzXG4gICAgY29uc3QgdmFsdWVzID0gT2JqZWN0LmtleXMoZmlsdGVyKS5maWx0ZXIoKHYpID0+IGZpbHRlclt2XSlcbiAgICByZXR1cm4gb2YodmFsdWVzKVxuICB9XG5cbiAgZ2V0VHlwZSgpOiBGaWVsZFR5cGUge1xuICAgIHJldHVybiAndmFsdWVzJ1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVkU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIHByb3RlY3RlZCBwbGF0Zm9ybVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVzRmllbGROYW1lOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYycsXG4gICAgcHJvdGVjdGVkIG9yZGVyVHlwZTogJ2tleScgfCAnY291bnQnID0gJ2tleSdcbiAgKSB7XG4gICAgc3VwZXIoZXNGaWVsZE5hbWUsIGluamVjdG9yLCBvcmRlciwgb3JkZXJUeXBlKVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMucGxhdGZvcm1TZXJ2aWNlLnRyYW5zbGF0ZUtleShrZXkpKVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEJ1Y2tldExhYmVsKGJ1Y2tldDogVGVybUJ1Y2tldCkge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRUcmFuc2xhdGlvbihidWNrZXQudGVybSkpIHx8IGJ1Y2tldC50ZXJtXG4gIH1cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoKTogT2JzZXJ2YWJsZTxGaWVsZEF2YWlsYWJsZVZhbHVlW10+IHtcbiAgICBpZiAodGhpcy5vcmRlclR5cGUgPT09ICdjb3VudCcpIHJldHVybiBzdXBlci5nZXRBdmFpbGFibGVWYWx1ZXMoKVxuICAgIC8vIHNvcnQgdmFsdWVzIGJ5IGFscGhhYmV0aWNhbCBvcmRlclxuICAgIHJldHVybiBzdXBlclxuICAgICAgLmdldEF2YWlsYWJsZVZhbHVlcygpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh2YWx1ZXMpID0+XG4gICAgICAgICAgdmFsdWVzLnNvcnQoKGEsIGIpID0+IG5ldyBJbnRsLkNvbGxhdG9yKCkuY29tcGFyZShhLmxhYmVsLCBiLmxhYmVsKSlcbiAgICAgICAgKVxuICAgICAgKVxuICB9XG59XG5cbi8qKlxuICogVGhpcyBzZWFyY2ggZmllbGQgd2lsbCBlaXRoZXIgdGFyZ2V0IHRoZSBgLmRlZmF1bHRgIGZpZWxkLCBvciBhIHNwZWNpZmljIGAubGFuZ3h5emAgZmllbGQgYWNjb3JkaW5nXG4gKiB0byB0aGUgZGVmaW5lZCBNRVRBREFUQV9MQU5HVUFHRSB0b2tlblxuICogVGhlIHByb3ZpZGVkIEVTIGZpZWxkIG5hbWUgc2hvdWxkIG5vdCBpbmNsdWRlIGFueSBwcmVmaXggc3VjaCBhcyBgLmxhbmdlbmdgXG4gKi9cbmV4cG9ydCBjbGFzcyBNdWx0aWxpbmd1YWxTZWFyY2hGaWVsZCBleHRlbmRzIFNpbXBsZVNlYXJjaEZpZWxkIHtcbiAgcHJpdmF0ZSBsYW5nU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KExhbmdTZXJ2aWNlKVxuICBwcml2YXRlIHNlYXJjaExhbmd1YWdlID0gdGhpcy5pbmplY3Rvci5nZXQoTUVUQURBVEFfTEFOR1VBR0UsIG51bGwpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVzRmllbGROYW1lOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYycsXG4gICAgcHJvdGVjdGVkIG9yZGVyVHlwZTogJ2tleScgfCAnY291bnQnID0gJ2tleSdcbiAgKSB7XG4gICAgc3VwZXIoZXNGaWVsZE5hbWUsIGluamVjdG9yLCBvcmRlciwgb3JkZXJUeXBlKVxuICAgIC8vIG5vdGU6IHdlJ3JlIGV4Y2x1ZGluZyB0aGUgbWV0YWRhdGEgbGFuZ3VhZ2UgXCJjdXJyZW50XCIgdmFsdWUgYmVjYXVzZSB0aGF0IHdvdWxkIHByb2R1Y2VcbiAgICAvLyBwZXJtYWxpbmtzIHRoYXQgbWlnaHQgbm90IHdvcmsgZm9yIGRpZmZlcmVudCB1c2Vyc1xuICAgIGlmICh0aGlzLnNlYXJjaExhbmd1YWdlICYmIHRoaXMuc2VhcmNoTGFuZ3VhZ2UgIT09ICdjdXJyZW50Jykge1xuICAgICAgdGhpcy5lc0ZpZWxkTmFtZSArPSBgLmxhbmcke3RoaXMuc2VhcmNoTGFuZ3VhZ2V9YFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVzRmllbGROYW1lICs9ICcuZGVmYXVsdCdcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bGxUZXh0U2VhcmNoRmllbGQgaW1wbGVtZW50cyBBYnN0cmFjdFNlYXJjaEZpZWxkIHtcbiAgZ2V0QXZhaWxhYmxlVmFsdWVzKCk6IE9ic2VydmFibGU8RmllbGRBdmFpbGFibGVWYWx1ZVtdPiB7XG4gICAgcmV0dXJuIG9mKFtdKVxuICB9XG4gIGdldEZpbHRlcnNGb3JWYWx1ZXModmFsdWVzOiBGaWVsZFZhbHVlW10pOiBPYnNlcnZhYmxlPEZpZWxkRmlsdGVycz4ge1xuICAgIHJldHVybiBvZih7XG4gICAgICBhbnk6IHZhbHVlc1swXSBhcyBzdHJpbmcsXG4gICAgfSlcbiAgfVxuICBnZXRWYWx1ZXNGb3JGaWx0ZXIoZmlsdGVyczogRmllbGRGaWx0ZXJzKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10+IHtcbiAgICByZXR1cm4gb2YoZmlsdGVycy5hbnkgPyBbZmlsdGVycy5hbnkgYXMgRmllbGRGaWx0ZXJCeUV4cHJlc3Npb25dIDogW10pXG4gIH1cbiAgZ2V0VHlwZSgpOiBGaWVsZFR5cGUge1xuICAgIHJldHVybiAndmFsdWVzJ1xuICB9XG59XG5cbm1hcmtlcignc2VhcmNoLmZpbHRlcnMuaXNTcGF0aWFsLnllcycpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmlzU3BhdGlhbC5ubycpXG5cbmV4cG9ydCBjbGFzcyBJc1NwYXRpYWxTZWFyY2hGaWVsZCBleHRlbmRzIFNpbXBsZVNlYXJjaEZpZWxkIHtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSlcblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcignaXNTcGF0aWFsJywgaW5qZWN0b3IsICdhc2MnKVxuICAgIHRoaXMuZXNTZXJ2aWNlLnJlZ2lzdGVyUnVudGltZUZpZWxkKFxuICAgICAgJ2lzU3BhdGlhbCcsXG4gICAgICBgU3RyaW5nIHJlc3VsdCA9ICdubyc7XG5TdHJpbmcgZm9ybWF0cyA9IGRvYy5mb3JtYXQuam9pbignfCcpLnRvTG93ZXJDYXNlKCk7XG5pZiAoZm9ybWF0cy5jb250YWlucygnZ2VvanNvbicpIHx8IGZvcm1hdHMuY29udGFpbnMoJ2FyY2dpcycpIHx8IGZvcm1hdHMuY29udGFpbnMoJ29nYycpIHx8IGZvcm1hdHMuY29udGFpbnMoJ3NocCcpKSByZXN1bHQgPSAneWVzJztcblN0cmluZyBwcm90b2NvbHMgPSBkb2MubGlua1Byb3RvY29sLmpvaW4oJ3wnKS50b0xvd2VyQ2FzZSgpO1xuaWYgKHByb3RvY29scy5jb250YWlucygnZXNyaScpIHx8IHByb3RvY29scy5jb250YWlucygnb2djJykpIHJlc3VsdCA9ICd5ZXMnO1xuZW1pdChyZXN1bHQpO2BcbiAgICApXG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWdncmVnYXRpb25zKCk6IEFnZ3JlZ2F0aW9uc1BhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzU3BhdGlhbDoge1xuICAgICAgICB0eXBlOiAndGVybXMnLFxuICAgICAgICBsaW1pdDogMixcbiAgICAgICAgZmllbGQ6ICdpc1NwYXRpYWwnLFxuICAgICAgICBzb3J0OiBbJ2FzYycsICdrZXknXSxcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEJ1Y2tldExhYmVsKGJ1Y2tldDogVGVybUJ1Y2tldCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoYHNlYXJjaC5maWx0ZXJzLmlzU3BhdGlhbC4ke2J1Y2tldC50ZXJtfWApXG4gICAgKVxuICB9XG5cbiAgZ2V0RmlsdGVyc0ZvclZhbHVlcyh2YWx1ZXM6IEZpZWxkVmFsdWVbXSk6IE9ic2VydmFibGU8RmllbGRGaWx0ZXJzPiB7XG4gICAgY29uc3QgaXNTcGF0aWFsID0ge31cbiAgICBpZiAodmFsdWVzLmxlbmd0aCA+IDApIGlzU3BhdGlhbFt2YWx1ZXNbdmFsdWVzLmxlbmd0aCAtIDFdXSA9IHRydWVcbiAgICByZXR1cm4gb2Yoe1xuICAgICAgaXNTcGF0aWFsLFxuICAgIH0pXG4gIH1cblxuICBnZXRWYWx1ZXNGb3JGaWx0ZXIoZmlsdGVyczogRmllbGRGaWx0ZXJzKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJzLmlzU3BhdGlhbFxuICAgIGlmICghZmlsdGVyKSByZXR1cm4gb2YoW10pXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGZpbHRlcilcbiAgICByZXR1cm4gb2Yoa2V5cy5sZW5ndGggPyBba2V5c1swXV0gOiBbXSlcbiAgfVxufVxuXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UucGRkbCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2Uub2RibCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2Uub2RjLWJ5Jylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMubGljZW5zZS5jYy1ieS1zYScpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UuY2MtYnknKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLmNjLXplcm8nKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlLmV0YWxhYi12MicpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UuZXRhbGFiJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMubGljZW5zZS51bmtub3duJylcblxuLy8gTm90ZTogdmFsdWVzIGFyZSBpbnNwaXJlZCBmcm9tIGh0dHBzOi8vZG9jLmRhdGEuZ291di5mci9tb2lzc29ubmFnZS9saWNlbmNlcy9cbmV4cG9ydCBjbGFzcyBMaWNlbnNlU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpXG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoJ2xpY2Vuc2UnLCBpbmplY3RvciwgJ2FzYycpXG4gICAgdGhpcy5lc1NlcnZpY2UucmVnaXN0ZXJSdW50aW1lRmllbGQoXG4gICAgICAnbGljZW5zZScsXG4gICAgICBgU3RyaW5nIHJhdyA9ICcnO1xuaWYgKGRvYy5jb250YWluc0tleSgnbGljZW5zZU9iamVjdC5kZWZhdWx0LmtleXdvcmQnKSAmJiBkb2NbJ2xpY2Vuc2VPYmplY3QuZGVmYXVsdC5rZXl3b3JkJ10ubGVuZ3RoID4gMClcbiAgcmF3ICs9IGRvY1snbGljZW5zZU9iamVjdC5kZWZhdWx0LmtleXdvcmQnXS5qb2luKCd8JykudG9Mb3dlckNhc2UoKTtcbmlmIChkb2MuY29udGFpbnNLZXkoJ01EX0xlZ2FsQ29uc3RyYWludHNVc2VMaW1pdGF0aW9uT2JqZWN0LmRlZmF1bHQua2V5d29yZCcpICYmIGRvY1snTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QuZGVmYXVsdC5rZXl3b3JkJ10ubGVuZ3RoID4gMClcbiAgcmF3ICs9IGRvY1snTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QuZGVmYXVsdC5rZXl3b3JkJ10uam9pbignfCcpLnRvTG93ZXJDYXNlKCk7XG5cbmJvb2xlYW4gdW5rbm93biA9IHRydWU7XG5pZiAocmF3LmNvbnRhaW5zKCdwZGRsJykgfHwgcmF3LmNvbnRhaW5zKCdwdWJsaWMgZG9tYWluIGRlZGljYXRpb24gYW5kIGxpY2VuY2UnKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ3BkZGwnKTtcbn1cbmlmIChyYXcuY29udGFpbnMoJ29kYmwnKSB8fCByYXcuY29udGFpbnMoJ29wZW4gZGF0YWJhc2UgbGljZW5zZScpKSB7XG4gIHVua25vd24gPSBmYWxzZTtcbiAgZW1pdCgnb2RibCcpO1xufVxuaWYgKHJhdy5jb250YWlucygnb2RjLWJ5JykgfHwgcmF3LmNvbnRhaW5zKCdvcGVuZGF0YWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5L3N1bW1hcnkvXCInKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ29kYy1ieScpO1xufVxuXG5pZiAocmF3LmNvbnRhaW5zKCdjYy1ieS1zYScpIHx8IHJhdy5jb250YWlucygnY3JlYXRpdmUgY29tbW9ucyBhdHRyaWJ1dGlvbiBzaGFyZS1hbGlrZScpKSB7XG4gIHVua25vd24gPSBmYWxzZTtcbiAgZW1pdCgnY2MtYnktc2EnKTtcbn0gZWxzZSBpZiAocmF3LmNvbnRhaW5zKCdjYy1ieScpIHx8IHJhdy5jb250YWlucygnY2MgYnknKSB8fCByYXcuY29udGFpbnMoJ2NyZWF0aXZlIGNvbW1vbnMgYXR0cmlidXRpb24nKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ2NjLWJ5Jyk7XG59IGVsc2UgaWYgKHJhdy5jb250YWlucygnY2MwJykgfHwgcmF3LmNvbnRhaW5zKCdjYy0wJykgfHwgcmF3LmNvbnRhaW5zKCdjY3plcm8nKSB8fCByYXcuY29udGFpbnMoJ2NjLXplcm8nKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ2NjLXplcm8nKTtcbn1cblxuaWYgKHJhdy5jb250YWlucygnZXRhbGFiJykgJiYgKHJhdy5jb250YWlucygndjInKSB8fCByYXcuY29udGFpbnMoJzIuMCcpKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ2V0YWxhYi12MicpO1xufSBlbHNlIGlmIChyYXcuY29udGFpbnMoJ29wZW4gbGljZW5jZScpIHx8IHJhdy5jb250YWlucygnbGljZW5jZSBvdXZlcnRlJykgfHwgcmF3LmNvbnRhaW5zKCdsaWNlbmNlX291dmVydGUnKSkge1xuICB1bmtub3duID0gZmFsc2U7XG4gIGVtaXQoJ2V0YWxhYicpO1xufVxuXG5pZih1bmtub3duKSBlbWl0KCd1bmtub3duJyk7YFxuICAgIClcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBZ2dyZWdhdGlvbnMoKTogQWdncmVnYXRpb25zUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGljZW5zZToge1xuICAgICAgICB0eXBlOiAndGVybXMnLFxuICAgICAgICBsaW1pdDogMTAsXG4gICAgICAgIGZpZWxkOiAnbGljZW5zZScsXG4gICAgICAgIHNvcnQ6IFsnZGVzYycsICdjb3VudCddLFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QnVja2V0TGFiZWwoYnVja2V0OiBUZXJtQnVja2V0KSB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChgc2VhcmNoLmZpbHRlcnMubGljZW5zZS4ke2J1Y2tldC50ZXJtfWApXG4gICAgKVxuICB9XG59XG5cbi8vIFRoaXMgd2lsbCB1c2UgdGhlIE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlXG4vLyBGaWVsZCB2YWx1ZXMgYXJlIHRoZSBvcmdhbml6YXRpb24gbmFtZXNcbmV4cG9ydCBjbGFzcyBPcmdhbml6YXRpb25TZWFyY2hGaWVsZCBpbXBsZW1lbnRzIEFic3RyYWN0U2VhcmNoRmllbGQge1xuICBwcml2YXRlIG9yZ3NTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgZ2V0RmlsdGVyc0ZvclZhbHVlcyh2YWx1ZXM6IEZpZWxkVmFsdWVbXSk6IE9ic2VydmFibGU8RmllbGRGaWx0ZXJzPiB7XG4gICAgcmV0dXJuIHRoaXMub3Jnc1NlcnZpY2Uub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIG1hcCgob3JncykgPT5cbiAgICAgICAgdmFsdWVzXG4gICAgICAgICAgLm1hcCgobmFtZSkgPT4gb3Jncy5maW5kKChvcmcpID0+IG9yZy5uYW1lID09PSBuYW1lKSlcbiAgICAgICAgICAuZmlsdGVyKChvcmcpID0+IG9yZyAhPT0gdW5kZWZpbmVkKVxuICAgICAgKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VsZWN0ZWRPcmdzKSA9PlxuICAgICAgICB0aGlzLm9yZ3NTZXJ2aWNlLmdldEZpbHRlcnNGb3JPcmdzKHNlbGVjdGVkT3JncylcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBnZXRWYWx1ZXNGb3JGaWx0ZXIoZmlsdGVyczogRmllbGRGaWx0ZXJzKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10+IHtcbiAgICByZXR1cm4gdGhpcy5vcmdzU2VydmljZVxuICAgICAgLmdldE9yZ3NGcm9tRmlsdGVycyhmaWx0ZXJzKVxuICAgICAgLnBpcGUobWFwKChvcmdzKSA9PiBvcmdzLm1hcCgob3JnKSA9PiBvcmcubmFtZSkpKVxuICB9XG5cbiAgZ2V0QXZhaWxhYmxlVmFsdWVzKCk6IE9ic2VydmFibGU8RmllbGRBdmFpbGFibGVWYWx1ZVtdPiB7XG4gICAgLy8gc29ydCB2YWx1ZXMgYnkgYWxwaGFiZXRpY2FsIG9yZGVyXG4gICAgcmV0dXJuIHRoaXMub3Jnc1NlcnZpY2Uub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIG1hcCgob3JnYW5pc2F0aW9ucykgPT5cbiAgICAgICAgb3JnYW5pc2F0aW9ucy5tYXAoKG9yZykgPT4gKHtcbiAgICAgICAgICBsYWJlbDogYCR7b3JnLm5hbWV9ICgke29yZy5yZWNvcmRDb3VudH0pYCxcbiAgICAgICAgICB2YWx1ZTogb3JnLm5hbWUsXG4gICAgICAgIH0pKVxuICAgICAgKSxcbiAgICAgIG1hcCgodmFsdWVzKSA9PlxuICAgICAgICB2YWx1ZXMuc29ydCgoYSwgYikgPT4gbmV3IEludGwuQ29sbGF0b3IoKS5jb21wYXJlKGEubGFiZWwsIGIubGFiZWwpKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIGdldFR5cGUoKTogRmllbGRUeXBlIHtcbiAgICByZXR1cm4gJ3ZhbHVlcydcbiAgfVxufVxuZXhwb3J0IGNsYXNzIE93bmVyU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKCdvd25lcicsIGluamVjdG9yLCAnYXNjJylcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXT4ge1xuICAgIHJldHVybiBvZihbXSlcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVXNlclNlYXJjaEZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcigndXNlcmluZm8ua2V5d29yZCcsIGluamVjdG9yLCAnYXNjJylcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXRBdmFpbGFibGVWYWx1ZXMoKS5waXBlKFxuICAgICAgbWFwKCh2YWx1ZXMpID0+XG4gICAgICAgIHZhbHVlcy5tYXAoKHYpID0+ICh7XG4gICAgICAgICAgLi4udixcbiAgICAgICAgICBsYWJlbDogZm9ybWF0VXNlckluZm8odi5sYWJlbCwgdHJ1ZSksXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlU2VhcmNoRmllbGQgZXh0ZW5kcyBTaW1wbGVTZWFyY2hGaWVsZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlc0ZpZWxkTmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIG9yZGVyOiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnLFxuICAgIHByb3RlY3RlZCBvcmRlclR5cGU6ICdrZXknIHwgJ2NvdW50JyA9ICdrZXknXG4gICkge1xuICAgIHN1cGVyKGVzRmllbGROYW1lLCBpbmplY3Rvciwgb3JkZXIsIG9yZGVyVHlwZSlcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcygpOiBPYnNlcnZhYmxlPEZpZWxkQXZhaWxhYmxlVmFsdWVbXT4ge1xuICAgIC8vIFRPRE86IHJldHVybiBhbiBhcnJheSBvZiBkYXRlcyB0byBzaG93IHdoaWNoIG9uZSBhcmUgYXZhaWxhYmxlIGluIHRoZSBkYXRlIHBpY2tlclxuICAgIHJldHVybiBvZihbXSlcbiAgfVxuXG4gIGdldFR5cGUoKTogRmllbGRUeXBlIHtcbiAgICByZXR1cm4gJ2RhdGVSYW5nZSdcbiAgfVxufVxuXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmF2YWlsYWJsZVNlcnZpY2VzLnZpZXcnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5hdmFpbGFibGVTZXJ2aWNlcy5kb3dubG9hZCcpXG5cbmV4cG9ydCBjbGFzcyBBdmFpbGFibGVTZXJ2aWNlc0ZpZWxkIGV4dGVuZHMgU2ltcGxlU2VhcmNoRmllbGQge1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKVxuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKCdhdmFpbGFibGVTZXJ2aWNlcycsIGluamVjdG9yLCAnYXNjJylcbiAgfVxuXG4gIGxpbmtQcm90b2NvbFZpZXdGaWx0ZXIgPSAnL09HQzpXTVQ/Uy4qLydcbiAgbGlua1Byb3RvY29sRG93bmxvYWRGaWx0ZXIgPSAnL09HQzpXRlMuKi8nXG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEJ1Y2tldExhYmVsKGJ1Y2tldDogVGVybUJ1Y2tldCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoXG4gICAgICAgIGBzZWFyY2guZmlsdGVycy5hdmFpbGFibGVTZXJ2aWNlcy4ke2J1Y2tldC50ZXJtfWBcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWdncmVnYXRpb25zKCk6IEFnZ3JlZ2F0aW9uc1BhcmFtcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGF2YWlsYWJsZVNlcnZpY2VzOiB7XG4gICAgICAgIHR5cGU6ICdmaWx0ZXJzJyxcbiAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgIHZpZXc6IGArbGlua1Byb3RvY29sOiR7dGhpcy5saW5rUHJvdG9jb2xWaWV3RmlsdGVyfWAsXG4gICAgICAgICAgZG93bmxvYWQ6IGArbGlua1Byb3RvY29sOiR7dGhpcy5saW5rUHJvdG9jb2xEb3dubG9hZEZpbHRlcn1gLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXJzRm9yVmFsdWVzKHZhbHVlczogRmllbGRWYWx1ZVtdKTogT2JzZXJ2YWJsZTxGaWVsZEZpbHRlcnM+IHtcbiAgICBjb25zdCBmaWx0ZXJzOiBGaWVsZEZpbHRlciA9IHt9XG4gICAgaWYgKHZhbHVlcy5pbmNsdWRlcygndmlldycpKSBmaWx0ZXJzW3RoaXMubGlua1Byb3RvY29sVmlld0ZpbHRlcl0gPSB0cnVlXG4gICAgaWYgKHZhbHVlcy5pbmNsdWRlcygnZG93bmxvYWQnKSlcbiAgICAgIGZpbHRlcnNbdGhpcy5saW5rUHJvdG9jb2xEb3dubG9hZEZpbHRlcl0gPSB0cnVlXG5cbiAgICByZXR1cm4gb2Yoe1xuICAgICAgbGlua1Byb3RvY29sOiBmaWx0ZXJzLFxuICAgIH0pXG4gIH1cblxuICBnZXRWYWx1ZXNGb3JGaWx0ZXIoZmlsdGVyczogRmllbGRGaWx0ZXJzKTogT2JzZXJ2YWJsZTxGaWVsZFZhbHVlW10+IHtcbiAgICBjb25zdCBsaW5rRmlsdGVyID0gZmlsdGVycy5saW5rUHJvdG9jb2xcbiAgICBpZiAoIWxpbmtGaWx0ZXIpIHJldHVybiBvZihbXSlcbiAgICBjb25zdCB2YWx1ZXMgPSBbXVxuICAgIGlmIChsaW5rRmlsdGVyW3RoaXMubGlua1Byb3RvY29sVmlld0ZpbHRlcl0pIHZhbHVlcy5wdXNoKCd2aWV3JylcbiAgICBpZiAobGlua0ZpbHRlclt0aGlzLmxpbmtQcm90b2NvbERvd25sb2FkRmlsdGVyXSkgdmFsdWVzLnB1c2goJ2Rvd25sb2FkJylcbiAgICByZXR1cm4gb2YodmFsdWVzKVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { DateRangeSearchField, FullTextSearchField, IsSpatialSearchField, LicenseSearchField, MultilingualSearchField, OrganizationSearchField, OwnerSearchField, SimpleSearchField, TranslatedSearchField, UserSearchField, } from './fields';
|
|
2
|
+
import { AvailableServicesField, DateRangeSearchField, FullTextSearchField, IsSpatialSearchField, LicenseSearchField, MultilingualSearchField, OrganizationSearchField, OwnerSearchField, SimpleSearchField, TranslatedSearchField, UserSearchField, } from './fields';
|
|
3
3
|
import { forkJoin, of } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
5
|
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
@@ -44,6 +44,7 @@ export class FieldsService {
|
|
|
44
44
|
publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
|
|
45
45
|
user: new UserSearchField(this.injector),
|
|
46
46
|
changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
|
|
47
|
+
availableServices: new AvailableServicesField(this.injector),
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
getAvailableValues(fieldName) {
|
|
@@ -85,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
85
86
|
providedIn: 'root',
|
|
86
87
|
}]
|
|
87
88
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvdXRpbHMvc2VydmljZS9maWVsZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNwRCxPQUFPLEVBRUwsb0JBQW9CLEVBRXBCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsZUFBZSxHQUNoQixNQUFNLFVBQVUsQ0FBQTtBQUNqQixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBOztBQU1oRSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtBQUMvQixNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQTtBQUN2QyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtBQUNoQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtBQUNsQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtBQUNoQyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtBQUN4QyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtBQUNyQyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtBQUMzQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtBQUNyQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtBQUNqQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtBQUM5QixNQUFN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Q0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUMzRCxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsT0FBcUI7UUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQzNDLENBQ0YsQ0FBQTtRQUNELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDaEMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDbEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQy9ELENBQ0YsQ0FBQTtJQUNILENBQUM7K0dBL0dVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RTZWFyY2hGaWVsZCxcbiAgRGF0ZVJhbmdlU2VhcmNoRmllbGQsXG4gIEZpZWxkVmFsdWUsXG4gIEZ1bGxUZXh0U2VhcmNoRmllbGQsXG4gIElzU3BhdGlhbFNlYXJjaEZpZWxkLFxuICBMaWNlbnNlU2VhcmNoRmllbGQsXG4gIE11bHRpbGluZ3VhbFNlYXJjaEZpZWxkLFxuICBPcmdhbml6YXRpb25TZWFyY2hGaWVsZCxcbiAgT3duZXJTZWFyY2hGaWVsZCxcbiAgU2ltcGxlU2VhcmNoRmllbGQsXG4gIFRyYW5zbGF0ZWRTZWFyY2hGaWVsZCxcbiAgVXNlclNlYXJjaEZpZWxkLFxufSBmcm9tICcuL2ZpZWxkcydcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEZpZWxkRmlsdGVycyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuXG4vLyBrZXkgaXMgdGhlIGZpZWxkIG5hbWVcbmV4cG9ydCB0eXBlIEZpZWxkVmFsdWVzID0gUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZVtdIHwgRmllbGRWYWx1ZSB8IERhdGVSYW5nZT5cblxubWFya2VyKCdzZWFyY2guZmlsdGVycy5mb3JtYXQnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5pbnNwaXJlS2V5d29yZCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmtleXdvcmQnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5pc1NwYXRpYWwnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5saWNlbnNlJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMucHVibGljYXRpb25ZZWFyJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMub3JnYW5pemF0aW9uJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMucmVwcmVzZW50YXRpb25UeXBlJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMucmVzb3VyY2VUeXBlJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMuc3RhbmRhcmQnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy50b3BpYycpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmNvbnRhY3QnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5wcm9kdWNlck9yZycpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLnB1Ymxpc2hlck9yZycpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLnVzZXInKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5jaGFuZ2VEYXRlJylcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkc1NlcnZpY2Uge1xuICBwcm90ZWN0ZWQgZmllbGRzID0ge1xuICAgIG9yZ2FuaXphdGlvbjogbmV3IE9yZ2FuaXphdGlvblNlYXJjaEZpZWxkKHRoaXMuaW5qZWN0b3IpLFxuICAgIGZvcm1hdDogbmV3IFNpbXBsZVNlYXJjaEZpZWxkKCdmb3JtYXQnLCB0aGlzLmluamVjdG9yLCAnYXNjJyksXG4gICAgcmVzb3VyY2VUeXBlOiBuZXcgVHJhbnNsYXRlZFNlYXJjaEZpZWxkKFxuICAgICAgJ3Jlc291cmNlVHlwZScsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYydcbiAgICApLFxuICAgIHJlcHJlc2VudGF0aW9uVHlwZTogbmV3IFRyYW5zbGF0ZWRTZWFyY2hGaWVsZChcbiAgICAgICdjbF9zcGF0aWFsUmVwcmVzZW50YXRpb25UeXBlLmtleScsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYydcbiAgICApLFxuICAgIHB1YmxpY2F0aW9uWWVhcjogbmV3IFNpbXBsZVNlYXJjaEZpZWxkKFxuICAgICAgJ3B1YmxpY2F0aW9uWWVhckZvclJlc291cmNlJyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAnZGVzYydcbiAgICApLFxuICAgIHRvcGljOiBuZXcgVHJhbnNsYXRlZFNlYXJjaEZpZWxkKCdjbF90b3BpYy5rZXknLCB0aGlzLmluamVjdG9yLCAnYXNjJyksXG4gICAgaW5zcGlyZUtleXdvcmQ6IG5ldyBUcmFuc2xhdGVkU2VhcmNoRmllbGQoXG4gICAgICAndGhfaHR0cGluc3BpcmVlY2V1cm9wYWV1dGhlbWUtdGhlbWUubGluaycsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYydcbiAgICApLFxuICAgIGtleXdvcmQ6IG5ldyBNdWx0aWxpbmd1YWxTZWFyY2hGaWVsZCgndGFnJywgdGhpcy5pbmplY3RvciwgJ2Rlc2MnLCAnY291bnQnKSxcbiAgICBkb2N1bWVudFN0YW5kYXJkOiBuZXcgU2ltcGxlU2VhcmNoRmllbGQoXG4gICAgICAnZG9jdW1lbnRTdGFuZGFyZCcsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYydcbiAgICApLFxuICAgIGlzU3BhdGlhbDogbmV3IElzU3BhdGlhbFNlYXJjaEZpZWxkKHRoaXMuaW5qZWN0b3IpLFxuICAgIHE6IG5ldyBGdWxsVGV4dFNlYXJjaEZpZWxkKCksXG4gICAgbGljZW5zZTogbmV3IExpY2Vuc2VTZWFyY2hGaWVsZCh0aGlzLmluamVjdG9yKSxcbiAgICBvd25lcjogbmV3IE93bmVyU2VhcmNoRmllbGQodGhpcy5pbmplY3RvciksXG4gICAgcHJvZHVjZXJPcmc6IG5ldyBNdWx0aWxpbmd1YWxTZWFyY2hGaWVsZChcbiAgICAgICdvcmlnaW5hdG9yT3JnRm9yUmVzb3VyY2VPYmplY3QnLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICdhc2MnLFxuICAgICAgJ2tleSdcbiAgICApLFxuICAgIHB1Ymxpc2hlck9yZzogbmV3IE11bHRpbGluZ3VhbFNlYXJjaEZpZWxkKFxuICAgICAgJ2Rpc3RyaWJ1dG9yT3JnRm9yUmVzb3VyY2VPYmplY3QnLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICdhc2MnLFxuICAgICAgJ2tleSdcbiAgICApLFxuICAgIHVzZXI6IG5ldyBVc2VyU2VhcmNoRmllbGQodGhpcy5pbmplY3RvciksXG4gICAgY2hhbmdlRGF0ZTogbmV3IERhdGVSYW5nZVNlYXJjaEZpZWxkKCdjaGFuZ2VEYXRlJywgdGhpcy5pbmplY3RvciwgJ2Rlc2MnKSxcbiAgfSBhcyBSZWNvcmQ8c3RyaW5nLCBBYnN0cmFjdFNlYXJjaEZpZWxkPlxuXG4gIGdldCBzdXBwb3J0ZWRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmllbGRzKVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zdXBwb3J0ZWRGaWVsZHMuaW5kZXhPZihmaWVsZE5hbWUpID09PSAtMSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgc2VhcmNoIGZpZWxkOiAke2ZpZWxkTmFtZX1gKVxuICAgIHJldHVybiB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLmdldEF2YWlsYWJsZVZhbHVlcygpXG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcnNGb3JWYWx1ZXMoXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBGaWVsZFZhbHVlW10gfCBEYXRlUmFuZ2VbXVxuICApIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNbZmllbGROYW1lXS5nZXRGaWx0ZXJzRm9yVmFsdWVzKHZhbHVlcylcbiAgfVxuICBwcml2YXRlIGdldFZhbHVlc0ZvckZpbHRlcnMoZmllbGROYW1lOiBzdHJpbmcsIGZpbHRlcnM6IEZpZWxkRmlsdGVycykge1xuICAgIHJldHVybiB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLmdldFZhbHVlc0ZvckZpbHRlcihmaWx0ZXJzKVxuICB9XG5cbiAgZ2V0RmllbGRUeXBlKGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0uZ2V0VHlwZSgpXG4gIH1cblxuICBidWlsZEZpbHRlcnNGcm9tRmllbGRWYWx1ZXMoXG4gICAgZmllbGRWYWx1ZXM6IEZpZWxkVmFsdWVzXG4gICk6IE9ic2VydmFibGU8RmllbGRGaWx0ZXJzPiB7XG4gICAgY29uc3QgZmllbGROYW1lcyA9IE9iamVjdC5rZXlzKGZpZWxkVmFsdWVzKS5maWx0ZXIoKGZpZWxkTmFtZSkgPT5cbiAgICAgIHRoaXMuc3VwcG9ydGVkRmllbGRzLmluY2x1ZGVzKGZpZWxkTmFtZSlcbiAgICApXG4gICAgaWYgKCFmaWVsZE5hbWVzLmxlbmd0aCkgcmV0dXJuIG9mKHt9KVxuICAgIGNvbnN0IGZpbHRlcnNCeUZpZWxkJCA9IGZpZWxkTmFtZXMubWFwKChmaWVsZE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZXNbZmllbGROYW1lXSlcbiAgICAgICAgPyBmaWVsZFZhbHVlc1tmaWVsZE5hbWVdXG4gICAgICAgIDogW2ZpZWxkVmFsdWVzW2ZpZWxkTmFtZV1dXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaWx0ZXJzRm9yVmFsdWVzKFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIHZhbHVlcyBhcyBGaWVsZFZhbHVlW10gfCBEYXRlUmFuZ2VbXVxuICAgICAgKVxuICAgIH0pXG4gICAgcmV0dXJuIGZvcmtKb2luKGZpbHRlcnNCeUZpZWxkJCkucGlwZShcbiAgICAgIG1hcCgoZmlsdGVycykgPT5cbiAgICAgICAgZmlsdGVycy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+ICh7IC4uLnByZXYsIC4uLmN1cnIgfSksIHt9KVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJlYWRGaWVsZFZhbHVlc0Zyb21GaWx0ZXJzKGZpbHRlcnM6IEZpZWxkRmlsdGVycyk6IE9ic2VydmFibGU8RmllbGRWYWx1ZXM+IHtcbiAgICBjb25zdCBmaWVsZFZhbHVlcyQgPSB0aGlzLnN1cHBvcnRlZEZpZWxkcy5tYXAoKGZpZWxkTmFtZSkgPT5cbiAgICAgIHRoaXMuZ2V0VmFsdWVzRm9yRmlsdGVycyhmaWVsZE5hbWUsIGZpbHRlcnMpLnBpcGUoXG4gICAgICAgIG1hcCgodmFsdWVzKSA9PiAoeyBbZmllbGROYW1lXTogdmFsdWVzIH0pKVxuICAgICAgKVxuICAgIClcbiAgICByZXR1cm4gZm9ya0pvaW4oZmllbGRWYWx1ZXMkKS5waXBlKFxuICAgICAgbWFwKChmaWVsZFZhbHVlcykgPT5cbiAgICAgICAgZmllbGRWYWx1ZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiAoeyAuLi5wcmV2LCAuLi5jdXJyIH0pLCB7fSlcbiAgICAgIClcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvdXRpbHMvc2VydmljZS9maWVsZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNwRCxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUVwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLGVBQWUsR0FDaEIsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRXBDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7QUFNaEUsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7QUFDL0IsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFDdkMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7QUFDaEMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7QUFDbEMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7QUFDaEMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFDckMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFDckMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7QUFDakMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENB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QU8sRUFBRSxFQUFFLENBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzNELENBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxPQUFxQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDM0MsQ0FDRixDQUFBO1FBQ0QsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNsQixXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDL0QsQ0FDRixDQUFBO0lBQ0gsQ0FBQzsrR0FoSFUsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBYnN0cmFjdFNlYXJjaEZpZWxkLFxuICBBdmFpbGFibGVTZXJ2aWNlc0ZpZWxkLFxuICBEYXRlUmFuZ2VTZWFyY2hGaWVsZCxcbiAgRmllbGRWYWx1ZSxcbiAgRnVsbFRleHRTZWFyY2hGaWVsZCxcbiAgSXNTcGF0aWFsU2VhcmNoRmllbGQsXG4gIExpY2Vuc2VTZWFyY2hGaWVsZCxcbiAgTXVsdGlsaW5ndWFsU2VhcmNoRmllbGQsXG4gIE9yZ2FuaXphdGlvblNlYXJjaEZpZWxkLFxuICBPd25lclNlYXJjaEZpZWxkLFxuICBTaW1wbGVTZWFyY2hGaWVsZCxcbiAgVHJhbnNsYXRlZFNlYXJjaEZpZWxkLFxuICBVc2VyU2VhcmNoRmllbGQsXG59IGZyb20gJy4vZmllbGRzJ1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgRmllbGRGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMnXG5cbi8vIGtleSBpcyB0aGUgZmllbGQgbmFtZVxuZXhwb3J0IHR5cGUgRmllbGRWYWx1ZXMgPSBSZWNvcmQ8c3RyaW5nLCBGaWVsZFZhbHVlW10gfCBGaWVsZFZhbHVlIHwgRGF0ZVJhbmdlPlxuXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmZvcm1hdCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmluc3BpcmVLZXl3b3JkJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMua2V5d29yZCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmlzU3BhdGlhbCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmxpY2Vuc2UnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5wdWJsaWNhdGlvblllYXInKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5vcmdhbml6YXRpb24nKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5yZXByZXNlbnRhdGlvblR5cGUnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5yZXNvdXJjZVR5cGUnKVxubWFya2VyKCdzZWFyY2guZmlsdGVycy5zdGFuZGFyZCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLnRvcGljJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMuY29udGFjdCcpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLnByb2R1Y2VyT3JnJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMucHVibGlzaGVyT3JnJylcbm1hcmtlcignc2VhcmNoLmZpbHRlcnMudXNlcicpXG5tYXJrZXIoJ3NlYXJjaC5maWx0ZXJzLmNoYW5nZURhdGUnKVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRzU2VydmljZSB7XG4gIHByb3RlY3RlZCBmaWVsZHMgPSB7XG4gICAgb3JnYW5pemF0aW9uOiBuZXcgT3JnYW5pemF0aW9uU2VhcmNoRmllbGQodGhpcy5pbmplY3RvciksXG4gICAgZm9ybWF0OiBuZXcgU2ltcGxlU2VhcmNoRmllbGQoJ2Zvcm1hdCcsIHRoaXMuaW5qZWN0b3IsICdhc2MnKSxcbiAgICByZXNvdXJjZVR5cGU6IG5ldyBUcmFuc2xhdGVkU2VhcmNoRmllbGQoXG4gICAgICAncmVzb3VyY2VUeXBlJyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAnYXNjJ1xuICAgICksXG4gICAgcmVwcmVzZW50YXRpb25UeXBlOiBuZXcgVHJhbnNsYXRlZFNlYXJjaEZpZWxkKFxuICAgICAgJ2NsX3NwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUua2V5JyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAnYXNjJ1xuICAgICksXG4gICAgcHVibGljYXRpb25ZZWFyOiBuZXcgU2ltcGxlU2VhcmNoRmllbGQoXG4gICAgICAncHVibGljYXRpb25ZZWFyRm9yUmVzb3VyY2UnLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICdkZXNjJ1xuICAgICksXG4gICAgdG9waWM6IG5ldyBUcmFuc2xhdGVkU2VhcmNoRmllbGQoJ2NsX3RvcGljLmtleScsIHRoaXMuaW5qZWN0b3IsICdhc2MnKSxcbiAgICBpbnNwaXJlS2V5d29yZDogbmV3IFRyYW5zbGF0ZWRTZWFyY2hGaWVsZChcbiAgICAgICd0aF9odHRwaW5zcGlyZWVjZXVyb3BhZXV0aGVtZS10aGVtZS5saW5rJyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAnYXNjJ1xuICAgICksXG4gICAga2V5d29yZDogbmV3IE11bHRpbGluZ3VhbFNlYXJjaEZpZWxkKCd0YWcnLCB0aGlzLmluamVjdG9yLCAnZGVzYycsICdjb3VudCcpLFxuICAgIGRvY3VtZW50U3RhbmRhcmQ6IG5ldyBTaW1wbGVTZWFyY2hGaWVsZChcbiAgICAgICdkb2N1bWVudFN0YW5kYXJkJyxcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAnYXNjJ1xuICAgICksXG4gICAgaXNTcGF0aWFsOiBuZXcgSXNTcGF0aWFsU2VhcmNoRmllbGQodGhpcy5pbmplY3RvciksXG4gICAgcTogbmV3IEZ1bGxUZXh0U2VhcmNoRmllbGQoKSxcbiAgICBsaWNlbnNlOiBuZXcgTGljZW5zZVNlYXJjaEZpZWxkKHRoaXMuaW5qZWN0b3IpLFxuICAgIG93bmVyOiBuZXcgT3duZXJTZWFyY2hGaWVsZCh0aGlzLmluamVjdG9yKSxcbiAgICBwcm9kdWNlck9yZzogbmV3IE11bHRpbGluZ3VhbFNlYXJjaEZpZWxkKFxuICAgICAgJ29yaWdpbmF0b3JPcmdGb3JSZXNvdXJjZU9iamVjdCcsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYycsXG4gICAgICAna2V5J1xuICAgICksXG4gICAgcHVibGlzaGVyT3JnOiBuZXcgTXVsdGlsaW5ndWFsU2VhcmNoRmllbGQoXG4gICAgICAnZGlzdHJpYnV0b3JPcmdGb3JSZXNvdXJjZU9iamVjdCcsXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgJ2FzYycsXG4gICAgICAna2V5J1xuICAgICksXG4gICAgdXNlcjogbmV3IFVzZXJTZWFyY2hGaWVsZCh0aGlzLmluamVjdG9yKSxcbiAgICBjaGFuZ2VEYXRlOiBuZXcgRGF0ZVJhbmdlU2VhcmNoRmllbGQoJ2NoYW5nZURhdGUnLCB0aGlzLmluamVjdG9yLCAnZGVzYycpLFxuICAgIGF2YWlsYWJsZVNlcnZpY2VzOiBuZXcgQXZhaWxhYmxlU2VydmljZXNGaWVsZCh0aGlzLmluamVjdG9yKSxcbiAgfSBhcyBSZWNvcmQ8c3RyaW5nLCBBYnN0cmFjdFNlYXJjaEZpZWxkPlxuXG4gIGdldCBzdXBwb3J0ZWRGaWVsZHMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmllbGRzKVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBnZXRBdmFpbGFibGVWYWx1ZXMoZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zdXBwb3J0ZWRGaWVsZHMuaW5kZXhPZihmaWVsZE5hbWUpID09PSAtMSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgc2VhcmNoIGZpZWxkOiAke2ZpZWxkTmFtZX1gKVxuICAgIHJldHVybiB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLmdldEF2YWlsYWJsZVZhbHVlcygpXG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcnNGb3JWYWx1ZXMoXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBGaWVsZFZhbHVlW10gfCBEYXRlUmFuZ2VbXVxuICApIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHNbZmllbGROYW1lXS5nZXRGaWx0ZXJzRm9yVmFsdWVzKHZhbHVlcylcbiAgfVxuICBwcml2YXRlIGdldFZhbHVlc0ZvckZpbHRlcnMoZmllbGROYW1lOiBzdHJpbmcsIGZpbHRlcnM6IEZpZWxkRmlsdGVycykge1xuICAgIHJldHVybiB0aGlzLmZpZWxkc1tmaWVsZE5hbWVdLmdldFZhbHVlc0ZvckZpbHRlcihmaWx0ZXJzKVxuICB9XG5cbiAgZ2V0RmllbGRUeXBlKGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0uZ2V0VHlwZSgpXG4gIH1cblxuICBidWlsZEZpbHRlcnNGcm9tRmllbGRWYWx1ZXMoXG4gICAgZmllbGRWYWx1ZXM6IEZpZWxkVmFsdWVzXG4gICk6IE9ic2VydmFibGU8RmllbGRGaWx0ZXJzPiB7XG4gICAgY29uc3QgZmllbGROYW1lcyA9IE9iamVjdC5rZXlzKGZpZWxkVmFsdWVzKS5maWx0ZXIoKGZpZWxkTmFtZSkgPT5cbiAgICAgIHRoaXMuc3VwcG9ydGVkRmllbGRzLmluY2x1ZGVzKGZpZWxkTmFtZSlcbiAgICApXG4gICAgaWYgKCFmaWVsZE5hbWVzLmxlbmd0aCkgcmV0dXJuIG9mKHt9KVxuICAgIGNvbnN0IGZpbHRlcnNCeUZpZWxkJCA9IGZpZWxkTmFtZXMubWFwKChmaWVsZE5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZXNbZmllbGROYW1lXSlcbiAgICAgICAgPyBmaWVsZFZhbHVlc1tmaWVsZE5hbWVdXG4gICAgICAgIDogW2ZpZWxkVmFsdWVzW2ZpZWxkTmFtZV1dXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaWx0ZXJzRm9yVmFsdWVzKFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIHZhbHVlcyBhcyBGaWVsZFZhbHVlW10gfCBEYXRlUmFuZ2VbXVxuICAgICAgKVxuICAgIH0pXG4gICAgcmV0dXJuIGZvcmtKb2luKGZpbHRlcnNCeUZpZWxkJCkucGlwZShcbiAgICAgIG1hcCgoZmlsdGVycykgPT5cbiAgICAgICAgZmlsdGVycy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+ICh7IC4uLnByZXYsIC4uLmN1cnIgfSksIHt9KVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJlYWRGaWVsZFZhbHVlc0Zyb21GaWx0ZXJzKGZpbHRlcnM6IEZpZWxkRmlsdGVycyk6IE9ic2VydmFibGU8RmllbGRWYWx1ZXM+IHtcbiAgICBjb25zdCBmaWVsZFZhbHVlcyQgPSB0aGlzLnN1cHBvcnRlZEZpZWxkcy5tYXAoKGZpZWxkTmFtZSkgPT5cbiAgICAgIHRoaXMuZ2V0VmFsdWVzRm9yRmlsdGVycyhmaWVsZE5hbWUsIGZpbHRlcnMpLnBpcGUoXG4gICAgICAgIG1hcCgodmFsdWVzKSA9PiAoeyBbZmllbGROYW1lXTogdmFsdWVzIH0pKVxuICAgICAgKVxuICAgIClcbiAgICByZXR1cm4gZm9ya0pvaW4oZmllbGRWYWx1ZXMkKS5waXBlKFxuICAgICAgbWFwKChmaWVsZFZhbHVlcykgPT5cbiAgICAgICAgZmllbGRWYWx1ZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiAoeyAuLi5wcmV2LCAuLi5jdXJyIH0pLCB7fSlcbiAgICAgIClcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './lib/ui-dataviz.module';
|
|
2
2
|
export * from './lib/chart/chart.component';
|
|
3
|
-
export * from './lib/table/table.component';
|
|
4
|
-
export * from './lib/table/table.fixtures';
|
|
3
|
+
export * from './lib/data-table/data-table.component';
|
|
4
|
+
export * from './lib/data-table/data-table.fixtures';
|
|
5
5
|
export * from './lib/figure/figure.component';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWRhdGF2aXoubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhcnQvY2hhcnQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS5maXh0dXJlcydcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZ3VyZS9maWd1cmUuY29tcG9uZW50J1xuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatPaginatorIntl } from '@angular/material/paginator';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngx-translate/core";
|
|
7
|
+
export class CustomMatPaginatorIntl extends MatPaginatorIntl {
|
|
8
|
+
constructor(translate) {
|
|
9
|
+
super();
|
|
10
|
+
this.translate = translate;
|
|
11
|
+
this.changes = new Subject();
|
|
12
|
+
this.setLabels();
|
|
13
|
+
this.translate.onLangChange.subscribe(() => {
|
|
14
|
+
this.setLabels();
|
|
15
|
+
this.changes.next();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
setLabels() {
|
|
19
|
+
this.itemsPerPageLabel = this.translate.instant('table.paginator.itemsPerPage');
|
|
20
|
+
this.nextPageLabel = this.translate.instant('table.paginator.nextPage');
|
|
21
|
+
this.previousPageLabel = this.translate.instant('table.paginator.previousPage');
|
|
22
|
+
this.firstPageLabel = this.translate.instant('table.paginator.firstPage');
|
|
23
|
+
this.lastPageLabel = this.translate.instant('table.paginator.lastPage');
|
|
24
|
+
this.getRangeLabel = this.getRangeLabelIntl;
|
|
25
|
+
this.changes.next();
|
|
26
|
+
}
|
|
27
|
+
getRangeLabelIntl(page, pageSize, length) {
|
|
28
|
+
if (length === 0 || pageSize === 0) {
|
|
29
|
+
return this.translate.instant('table.paginator.rangeLabel', {
|
|
30
|
+
startIndex: 0,
|
|
31
|
+
endIndex: 0,
|
|
32
|
+
length,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const startIndex = page * pageSize;
|
|
36
|
+
const endIndex = startIndex < length
|
|
37
|
+
? Math.min(startIndex + pageSize, length)
|
|
38
|
+
: startIndex + pageSize;
|
|
39
|
+
return this.translate.instant('table.paginator.rangeLabel', {
|
|
40
|
+
startIndex: startIndex + 1,
|
|
41
|
+
endIndex,
|
|
42
|
+
length,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
46
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMatPaginatorIntl, decorators: [{
|
|
49
|
+
type: Injectable
|
|
50
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLm1hdC5wYWdpbmF0b3IuaW50bC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZGF0YXZpei9zcmMvbGliL2RhdGEtdGFibGUvY3VzdG9tLm1hdC5wYWdpbmF0b3IuaW50bC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7OztBQUc5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZ0JBQWdCO0lBRzFELFlBQW9CLFNBQTJCO1FBQzdDLEtBQUssRUFBRSxDQUFBO1FBRFcsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFGdEMsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFJcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDN0MsOEJBQThCLENBQy9CLENBQUE7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM3Qyw4QkFBOEIsQ0FDL0IsQ0FBQTtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUE7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUM5RCxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUU7Z0JBQzFELFVBQVUsRUFBRSxDQUFDO2dCQUNiLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE1BQU07YUFDUCxDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUNsQyxNQUFNLFFBQVEsR0FDWixVQUFVLEdBQUcsTUFBTTtZQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sQ0FBQztZQUN6QyxDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQTtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFO1lBQzFELFVBQVUsRUFBRSxVQUFVLEdBQUcsQ0FBQztZQUMxQixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBNUNVLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJbnRsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbU1hdFBhZ2luYXRvckludGwgZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcbiAgb3ZlcnJpZGUgY2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLnNldExhYmVscygpXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldExhYmVscygpXG4gICAgICB0aGlzLmNoYW5nZXMubmV4dCgpXG4gICAgfSlcbiAgfVxuXG4gIHNldExhYmVscygpIHtcbiAgICB0aGlzLml0ZW1zUGVyUGFnZUxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICd0YWJsZS5wYWdpbmF0b3IuaXRlbXNQZXJQYWdlJ1xuICAgIClcbiAgICB0aGlzLm5leHRQYWdlTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd0YWJsZS5wYWdpbmF0b3IubmV4dFBhZ2UnKVxuICAgIHRoaXMucHJldmlvdXNQYWdlTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgJ3RhYmxlLnBhZ2luYXRvci5wcmV2aW91c1BhZ2UnXG4gICAgKVxuICAgIHRoaXMuZmlyc3RQYWdlTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd0YWJsZS5wYWdpbmF0b3IuZmlyc3RQYWdlJylcbiAgICB0aGlzLmxhc3RQYWdlTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd0YWJsZS5wYWdpbmF0b3IubGFzdFBhZ2UnKVxuICAgIHRoaXMuZ2V0UmFuZ2VMYWJlbCA9IHRoaXMuZ2V0UmFuZ2VMYWJlbEludGxcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpXG4gIH1cblxuICBnZXRSYW5nZUxhYmVsSW50bChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAobGVuZ3RoID09PSAwIHx8IHBhZ2VTaXplID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgndGFibGUucGFnaW5hdG9yLnJhbmdlTGFiZWwnLCB7XG4gICAgICAgIHN0YXJ0SW5kZXg6IDAsXG4gICAgICAgIGVuZEluZGV4OiAwLFxuICAgICAgICBsZW5ndGgsXG4gICAgICB9KVxuICAgIH1cbiAgICBjb25zdCBzdGFydEluZGV4ID0gcGFnZSAqIHBhZ2VTaXplXG4gICAgY29uc3QgZW5kSW5kZXggPVxuICAgICAgc3RhcnRJbmRleCA8IGxlbmd0aFxuICAgICAgICA/IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSwgbGVuZ3RoKVxuICAgICAgICA6IHN0YXJ0SW5kZXggKyBwYWdlU2l6ZVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd0YWJsZS5wYWdpbmF0b3IucmFuZ2VMYWJlbCcsIHtcbiAgICAgIHN0YXJ0SW5kZXg6IHN0YXJ0SW5kZXggKyAxLFxuICAgICAgZW5kSW5kZXgsXG4gICAgICBsZW5ndGgsXG4gICAgfSlcbiAgfVxufVxuIl19
|