@igo2/geo 18.0.2 → 18.0.4
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/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +4 -4
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +3 -3
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +4 -4
- package/esm2022/lib/catalog/catalog.module.mjs +4 -4
- package/esm2022/lib/catalog/shared/catalog.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/datasource.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +3 -3
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +3 -3
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +3 -3
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +3 -3
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +3 -3
- package/esm2022/lib/directions/directions.component.mjs +3 -3
- package/esm2022/lib/directions/directions.module.mjs +4 -4
- package/esm2022/lib/directions/shared/directions.service.mjs +3 -3
- package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
- package/esm2022/lib/download/download.module.mjs +4 -4
- package/esm2022/lib/download/shared/download.service.mjs +3 -3
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +3 -3
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +3 -3
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +3 -3
- package/esm2022/lib/draw/draw/draw.component.mjs +3 -3
- package/esm2022/lib/draw/draw/draw.module.mjs +4 -4
- package/esm2022/lib/draw/drawingTool.module.mjs +4 -4
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +3 -3
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +3 -3
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +4 -4
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +4 -4
- package/esm2022/lib/feature/feature.module.mjs +4 -4
- package/esm2022/lib/filter/filter.module.mjs +4 -4
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +3 -3
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +3 -3
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +3 -3
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +3 -3
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +3 -3
- package/esm2022/lib/filter/shared/time-filter.service.mjs +3 -3
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +3 -3
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +3 -3
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +3 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +3 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +3 -3
- package/esm2022/lib/geo.module.mjs +4 -4
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +3 -3
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +3 -3
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +4 -4
- package/esm2022/lib/geometry/geometry.module.mjs +4 -4
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +3 -3
- package/esm2022/lib/import-export/import-export.module.mjs +4 -4
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +3 -3
- package/esm2022/lib/import-export/shared/export.service.mjs +3 -3
- package/esm2022/lib/import-export/shared/import.service.mjs +3 -3
- package/esm2022/lib/import-export/shared/import.utils.mjs +2 -2
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +3 -3
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +3 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +3 -3
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +3 -3
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +3 -3
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +3 -3
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +3 -3
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +3 -3
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +3 -3
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +3 -3
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +3 -3
- package/esm2022/lib/layer/layer.module.mjs +4 -4
- package/esm2022/lib/layer/shared/layer.service.mjs +13 -17
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +127 -217
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +3 -3
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +3 -3
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +3 -3
- package/esm2022/lib/map/info-section/info-section.component.mjs +3 -3
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +3 -3
- package/esm2022/lib/map/map-center/map-center.component.mjs +3 -3
- package/esm2022/lib/map/map.module.mjs +4 -4
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +3 -3
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +3 -3
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +3 -3
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +3 -3
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +3 -3
- package/esm2022/lib/map/shared/map.service.mjs +3 -3
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
- package/esm2022/lib/map/shared/projection.service.mjs +3 -3
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +3 -3
- package/esm2022/lib/measure/measure.module.mjs +4 -4
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer.component.mjs +3 -3
- package/esm2022/lib/measure/measurer/measurer.module.mjs +4 -4
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +6 -6
- package/esm2022/lib/metadata/metadata.module.mjs +4 -4
- package/esm2022/lib/metadata/shared/metadata.service.mjs +3 -3
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +20 -22
- package/esm2022/lib/offline/geoDB/geoDB.mjs +146 -0
- package/esm2022/lib/offline/geoDB/index.mjs +2 -2
- package/esm2022/lib/offline/layerDB/index.mjs +2 -2
- package/esm2022/lib/offline/layerDB/layerDB.mjs +64 -0
- package/esm2022/lib/offline/offline.provider.mjs +18 -41
- package/esm2022/lib/offline/shared/geo-network.service.mjs +10 -14
- package/esm2022/lib/offline/shared/indexed-db.interface.mjs +2 -0
- package/esm2022/lib/offline/shared/indexed-db.utils.mjs +20 -0
- package/esm2022/lib/print/print/print.component.mjs +3 -3
- package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
- package/esm2022/lib/print/print.module.mjs +4 -4
- package/esm2022/lib/print/shared/print.service.mjs +3 -3
- package/esm2022/lib/query/query.module.mjs +4 -4
- package/esm2022/lib/query/shared/query-search-source.mjs +3 -3
- package/esm2022/lib/query/shared/query.directive.mjs +3 -3
- package/esm2022/lib/query/shared/query.service.mjs +3 -3
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +3 -3
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +4 -4
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +3 -3
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +3 -3
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +3 -3
- package/esm2022/lib/search/search-results/search-results.component.mjs +3 -3
- package/esm2022/lib/search/search-results/search-results.module.mjs +4 -4
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +4 -4
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +3 -3
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +4 -4
- package/esm2022/lib/search/search.module.mjs +4 -4
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +3 -3
- package/esm2022/lib/search/shared/search.service.mjs +3 -3
- package/esm2022/lib/search/shared/sources/cadastre.mjs +3 -3
- package/esm2022/lib/search/shared/sources/coordinates.mjs +6 -6
- package/esm2022/lib/search/shared/sources/icherche.mjs +9 -9
- package/esm2022/lib/search/shared/sources/ilayer.mjs +6 -6
- package/esm2022/lib/search/shared/sources/nominatim.mjs +3 -3
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +6 -6
- package/esm2022/lib/search/shared/sources/workspace.mjs +3 -3
- package/esm2022/lib/style/style-list/style-list.module.mjs +4 -4
- package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +3 -3
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +3 -3
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
- package/esm2022/lib/style/style-service/draw-style.service.mjs +3 -3
- package/esm2022/lib/style/style-service/style.service.mjs +3 -3
- package/esm2022/lib/style/style.module.mjs +4 -4
- package/esm2022/lib/toast/toast.component.mjs +3 -3
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +3 -3
- package/esm2022/lib/wkt/shared/wkt.service.mjs +3 -3
- package/esm2022/lib/wkt/wkt.module.mjs +4 -4
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +4 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +6 -6
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +7 -4
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +7 -4
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +6 -6
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -1
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +3 -3
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +4 -4
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +3 -3
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +4 -4
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +3 -3
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +4 -4
- package/esm2022/lib/workspace/workspace.module.mjs +4 -4
- package/fesm2022/igo2-geo.mjs +1098 -1234
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/layer/shared/layer.service.d.ts +2 -4
- package/lib/layer/shared/layers/vector-layer.d.ts +4 -15
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +3 -2
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +2 -4
- package/lib/offline/geoDB/geoDB.d.ts +36 -0
- package/lib/offline/geoDB/index.d.ts +1 -1
- package/lib/offline/layerDB/index.d.ts +1 -1
- package/lib/offline/layerDB/{layerDB.service.d.ts → layerDB.d.ts} +9 -11
- package/lib/offline/offline.provider.d.ts +2 -0
- package/lib/offline/shared/geo-network.service.d.ts +2 -4
- package/lib/offline/shared/indexed-db.interface.d.ts +16 -0
- package/lib/offline/shared/indexed-db.utils.d.ts +4 -0
- package/package.json +6 -6
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
- package/lib/offline/geoDB/geoDB.service.d.ts +0 -36
|
@@ -74,10 +74,10 @@ export class WmsWorkspaceService {
|
|
|
74
74
|
clonedLinks.push(linkProperties);
|
|
75
75
|
// TODO: Démystifier ce bout de code
|
|
76
76
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
77
|
-
(layer.options.linkedLayers.linkId = layer.options.linkedLayers.linkId
|
|
77
|
+
((layer.options.linkedLayers.linkId = layer.options.linkedLayers.linkId
|
|
78
78
|
? layer.options.linkedLayers.linkId
|
|
79
79
|
: wmsLinkId),
|
|
80
|
-
(layer.options.linkedLayers.links = clonedLinks);
|
|
80
|
+
(layer.options.linkedLayers.links = clonedLinks));
|
|
81
81
|
layer.createLink();
|
|
82
82
|
let wks;
|
|
83
83
|
const wksLayerOption = {
|
|
@@ -236,13 +236,13 @@ export class WmsWorkspaceService {
|
|
|
236
236
|
store.addStrategy(createFilterInMapExtentOrResolutionStrategy(), true);
|
|
237
237
|
return store;
|
|
238
238
|
}
|
|
239
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
240
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
239
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WmsWorkspaceService, deps: [{ token: i1.LayerService }, { token: i2.StorageService }, { token: i3.CapabilitiesService }, { token: i4.StyleService }, { token: i5.ConfigService }, { token: i6.PropertyTypeDetectorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
240
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WmsWorkspaceService, providedIn: 'root' });
|
|
241
241
|
}
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WmsWorkspaceService, decorators: [{
|
|
243
243
|
type: Injectable,
|
|
244
244
|
args: [{
|
|
245
245
|
providedIn: 'root'
|
|
246
246
|
}]
|
|
247
247
|
}], ctorParameters: () => [{ type: i1.LayerService }, { type: i2.StorageService }, { type: i3.CapabilitiesService }, { type: i4.StyleService }, { type: i5.ConfigService }, { type: i6.PropertyTypeDetectorService }] });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBQ1osK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLHFCQUFxQixFQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFHTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxF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TUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWN0aW9uU3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24vYWN0aW9uJztcbmltcG9ydCB7IEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvQmVoYXZpb3JTdWJqZWN0JztcblxuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBGZWF0dXJlTW90aW9uLFxuICBGZWF0dXJlU3RvcmUsXG4gIEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZUluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEdlb1Byb3BlcnRpZXNTdHJhdGVneVxufSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZCc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEdlb1dvcmtzcGFjZU9wdGlvbnMsXG4gIEltYWdlTGF5ZXIsXG4gIExheWVyU2VydmljZSxcbiAgTGF5ZXJzTGlua1Byb3BlcnRpZXMsXG4gIExpbmtlZFByb3BlcnRpZXMsXG4gIFZlY3RvckxheWVyXG59IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldENvbW1vblZlY3RvclNlbGVjdGVkU3R5bGUgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL2NvbW1vblZlY3RvclN0eWxlJztcbmltcG9ydCB7XG4gIEZlYXR1cmVDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXG4gIE92ZXJsYXlTdHlsZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFdmc1dvcmtzcGFjZSB9IGZyb20gJy4vd2ZzLXdvcmtzcGFjZSc7XG5pbXBvcnQge1xuICBjcmVhdGVGaWx0ZXJJbk1hcEV4dGVudE9yUmVzb2x1dGlvblN0cmF0ZWd5LFxuICBjcmVhdGVUYWJsZVRlbXBsYXRlXG59IGZyb20gJy4vd29ya3NwYWNlLnV0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV21zV29ya3NwYWNlU2VydmljZSB7XG4gIGdldCB6b29tQXV0bygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3pvb21BdXRvJykgYXMgYm9vbGVhbjtcbiAgfVxuXG4gIHB1YmxpYyB3cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZTogUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlXG4gICkge31cblxuICBjcmVhdGVXb3Jrc3BhY2UobGF5ZXI6IEltYWdlTGF5ZXIsIG1hcDogSWdvTWFwKTogV2ZzV29ya3NwYWNlIHtcbiAgICBpZiAoXG4gICAgICAhbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2UgfHxcbiAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWxsLmZpbmQoXG4gICAgICAgIChsYXkpID0+IGxheS5pZCA9PT0gbGF5ZXIuaWQgKyAnLldmc1dvcmtzcGFjZVRhYmxlRGVzdCdcbiAgICAgICkgfHxcbiAgICAgIGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5lZGl0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRhdGFTb3VyY2U6IFdNU0RhdGFTb3VyY2UgPSBsYXllci5kYXRhU291cmNlIGFzIFdNU0RhdGFTb3VyY2U7XG4gICAgY29uc3Qgd21zTGlua0lkID0gbGF5ZXIuaWQgKyAnLldtc1dvcmtzcGFjZVRhYmxlU3JjJztcbiAgICBjb25zdCB3ZnNMaW5rSWQgPSBsYXllci5pZCArICcuV2ZzV29ya3NwYWNlVGFibGVEZXN0JztcbiAgICBpZiAoIWxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycyA9IHsgbGlua0lkOiB3bXNMaW5rSWQsIGxpbmtzOiBbXSB9O1xuICAgIH1cbiAgICBjb25zdCBsaW5rUHJvcGVydGllcyA9IHtcbiAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgIGxpbmtlZElkczogW3dmc0xpbmtJZF0sXG4gICAgICBwcm9wZXJ0aWVzOiBbTGlua2VkUHJvcGVydGllcy5aSU5ERVgsIExpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICB9IGFzIExheWVyc0xpbmtQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWluUmVzb2x1dGlvbikge1xuICAgICAgbGlua1Byb3BlcnRpZXMucHJvcGVydGllcy5wdXNoKExpbmtlZFByb3BlcnRpZXMuTUlOUkVTT0xVVElPTik7XG4gICAgfVxuICAgIGxldCBoYXNPZ2NGaWx0ZXJzID0gZmFsc2U7XG4gICAgaWYgKFxuICAgICAgKGRhdGFTb3VyY2Uub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnM/LmVuYWJsZWRcbiAgICApIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk9HQ0ZJTFRFUlMpO1xuICAgICAgaGFzT2djRmlsdGVycyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/Lm1heFJlc29sdXRpb24pIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk1BWFJFU09MVVRJT04pO1xuICAgIH1cblxuICAgIGxldCBjbG9uZWRMaW5rczogTGF5ZXJzTGlua1Byb3BlcnRpZXNbXSA9IFtdO1xuICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcykge1xuICAgICAgY2xvbmVkTGlua3MgPSBKU09OLnBhcnNlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcylcbiAgICAgICk7XG4gICAgfVxuICAgIGNsb25lZExpbmtzLnB1c2gobGlua1Byb3BlcnRpZXMpO1xuXG4gICAgLy8gVE9ETzogRMOpbXlzdGlmaWVyIGNlIGJvdXQgZGUgY29kZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgKGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZCA9IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZFxuICAgICAgPyBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWRcbiAgICAgIDogd21zTGlua0lkKSxcbiAgICAgIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IGNsb25lZExpbmtzKTtcblxuICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcblxuICAgIGludGVyZmFjZSBXRlNvcHRpb25zXG4gICAgICBleHRlbmRzIFdGU0RhdGFTb3VyY2VPcHRpb25zLFxuICAgICAgICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMge31cblxuICAgIGxldCB3a3M7XG4gICAgY29uc3Qgd2tzTGF5ZXJPcHRpb246IEdlb1dvcmtzcGFjZU9wdGlvbnMgPSB7XG4gICAgICBwcmludGFibGU6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wcmludGFibGUsXG4gICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICB3b3Jrc3BhY2VJZDogdW5kZWZpbmVkLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnF1ZXJ5T3B0aW9ucz8ubWFwUXVlcnlPbk9wZW5UYWIsXG4gICAgICAgIHRhYlF1ZXJ5OiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucXVlcnlPcHRpb25zPy50YWJRdWVyeVxuICAgICAgfSxcbiAgICAgIHBhZ2VTaXplOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucGFnZVNpemUsXG4gICAgICBwYWdlU2l6ZU9wdGlvbnM6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wYWdlU2l6ZU9wdGlvbnNcbiAgICB9O1xuXG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHtcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICBwYXJlbnRJZDogbGF5ZXIub3B0aW9ucy5wYXJlbnRJZCxcbiAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgICB2aXNpYmxlOiBsYXllci52aXNpYmxlLFxuICAgICAgICBpZDogd2ZzTGlua0lkLFxuICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICBsaW5rSWQ6IHdmc0xpbmtJZFxuICAgICAgICB9LFxuICAgICAgICB3b3Jrc3BhY2U6IHdrc0xheWVyT3B0aW9uLFxuICAgICAgICBzaG93SW5MYXllckxpc3Q6IGZhbHNlLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICBtaW5SZXNvbHV0aW9uOlxuICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5taW5SZXNvbHV0aW9uIHx8IGxheWVyLm1pblJlc29sdXRpb24gfHwgMCxcbiAgICAgICAgbWF4UmVzb2x1dGlvbjpcbiAgICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWF4UmVzb2x1dGlvbiB8fFxuICAgICAgICAgIGxheWVyLm1heFJlc29sdXRpb24gfHxcbiAgICAgICAgICBJbmZpbml0eSxcbiAgICAgICAgc3R5bGU6IHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKHtcbiAgICAgICAgICBmaWxsOiB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNpcmNsZToge1xuICAgICAgICAgICAgZmlsbDoge1xuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYWRpdXM6IDVcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICAgICAgZG93bmxvYWQ6IGRhdGFTb3VyY2Uub3B0aW9ucy5kb3dubG9hZCxcbiAgICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgICB1cmw6IGRhdGFTb3VyY2Uub3B0aW9ucy51cmxXZnMgfHwgZGF0YVNvdXJjZS5vcHRpb25zLnVybCxcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXG4gICAgICAgICAgcmVsYXRpb25zOiBkYXRhU291cmNlLm9wdGlvbnMucmVsYXRpb25zLFxuICAgICAgICAgIHF1ZXJ5VGl0bGU6IChkYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgICAgICAucXVlcnlUaXRsZSxcbiAgICAgICAgICBxdWVyeUZvcm1hdEFzV21zOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZFxuICAgICAgICAgICAgPyAoZGF0YVNvdXJjZS5vcHRpb25zIGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxuICAgICAgICAgICAgICAgIC5xdWVyeUZvcm1hdEFzV21zXG4gICAgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgcGFyYW1zOiBkYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTLFxuICAgICAgICAgIG9nY0ZpbHRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRhdGFTb3VyY2Uub2djRmlsdGVycywge1xuICAgICAgICAgICAgZW5hYmxlZDogaGFzT2djRmlsdGVyc1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNvdXJjZUZpZWxkczogZGF0YVNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fCB1bmRlZmluZWRcbiAgICAgICAgfSBhcyBXRlNvcHRpb25zXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgod29ya3NwYWNlTGF5ZXI6IFZlY3RvckxheWVyKSA9PiB7XG4gICAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWRkKHdvcmtzcGFjZUxheWVyKTtcbiAgICAgICAgbGF5ZXIub2wuc2V0UHJvcGVydGllcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICAgICAgbGlua0lkOiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWQsXG4gICAgICAgICAgICAgIGxpbmtzOiBjbG9uZWRMaW5rc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgd29ya3NwYWNlTGF5ZXIuZGF0YVNvdXJjZS5vbC5yZWZyZXNoKCk7XG5cbiAgICAgICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB3a3MgPSBuZXcgV2ZzV29ya3NwYWNlKHtcbiAgICAgICAgICBpZDogbGF5ZXIuaWQsXG4gICAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICAgIGxheWVyOiB3b3Jrc3BhY2VMYXllcixcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgZW50aXR5U3RvcmU6IHRoaXMuY3JlYXRlRmVhdHVyZVN0b3JlKHdvcmtzcGFjZUxheWVyLCBtYXApLFxuICAgICAgICAgIGFjdGlvblN0b3JlOiBuZXcgQWN0aW9uU3RvcmUoW10pLFxuICAgICAgICAgIG1ldGE6IHtcbiAgICAgICAgICAgIHRhYmxlVGVtcGxhdGU6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNyZWF0ZVRhYmxlVGVtcGxhdGUod2tzLCB3b3Jrc3BhY2VMYXllciwgdGhpcy5sYXllclNlcnZpY2UsIHRoaXMud3MkKTtcblxuICAgICAgICB3b3Jrc3BhY2VMYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCA9IHdvcmtzcGFjZUxheWVyLmlkO1xuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZSA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyLm9wdGlvbnMud29ya3NwYWNlLCB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICAgICAgd29ya3NwYWNlSWQ6IHdvcmtzcGFjZUxheWVyLmlkLFxuICAgICAgICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/Lm1hcFF1ZXJ5T25PcGVuVGFiLFxuICAgICAgICAgICAgdGFiUXVlcnk6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/LnRhYlF1ZXJ5XG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYWdlU2l6ZTogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplLFxuICAgICAgICAgIHBhZ2VTaXplT3B0aW9uczogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplT3B0aW9uc1xuICAgICAgICB9IGFzIEdlb1dvcmtzcGFjZU9wdGlvbnMpO1xuXG4gICAgICAgIGRlbGV0ZSBkYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQ7XG4gICAgICAgIHJldHVybiB3a3M7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB3a3M7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZlYXR1cmVTdG9yZShsYXllcjogVmVjdG9yTGF5ZXIsIG1hcDogSWdvTWFwKTogRmVhdHVyZVN0b3JlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmUoW10sIHsgbWFwIH0pO1xuICAgIHN0b3JlLmJpbmRMYXllcihsYXllcik7XG5cbiAgICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGluTWFwRXh0ZW50U3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSh7fSk7XG4gICAgY29uc3QgZ2VvUHJvcGVydGllc1N0cmF0ZWd5ID0gbmV3IEdlb1Byb3BlcnRpZXNTdHJhdGVneShcbiAgICAgIHsgbWFwIH0sXG4gICAgICB0aGlzLnByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICAgIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZVxuICAgICk7XG4gICAgY29uc3QgaW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3kgPSBuZXcgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSh7fSk7XG4gICAgY29uc3QgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlOiBPdmVybGF5U3R5bGVPcHRpb25zID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3F1ZXJ5T3ZlcmxheVN0eWxlJyk7XG5cbiAgICBjb25zdCBpZCA9IGxheWVyLmlkICsgJy5GZWF0dXJlU3RvcmUnO1xuXG4gICAgaWYgKCFsYXllci5saW5rKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICBsaW5rZWRJZHM6IFtpZF0sXG4gICAgICAgICAgcHJvcGVydGllczogW0xpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb25TdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XG4gICAgICBsYXllcjogbmV3IFZlY3RvckxheWVyKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGxpbmtlZExheWVyczoge1xuICAgICAgICAgIGxpbmtJZDogaWRcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXG4gICAgICAgIHN0eWxlOiAoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIHsgZmVhdHVyZSB9LFxuICAgICAgICAgICAgICBjb25mUXVlcnlPdmVybGF5U3R5bGU/LnNlbGVjdGlvbiB8fCB7fVxuICAgICAgICAgICAgKSBhcyBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgICAgZXhwb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGJyb3dzYWJsZTogZmFsc2VcbiAgICAgIH0pLFxuICAgICAgbWFwLFxuICAgICAgaGl0VG9sZXJhbmNlOiAxNSxcbiAgICAgIG1vdGlvbjogdGhpcy56b29tQXV0byA/IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCA6IEZlYXR1cmVNb3Rpb24uTm9uZSxcbiAgICAgIG1hbnk6IHRydWUsXG4gICAgICBkcmFnQm94OiB0cnVlXG4gICAgfSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3kobG9hZGluZ1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcEV4dGVudFN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShnZW9Qcm9wZXJ0aWVzU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShzZWxlY3Rpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0ZWRSZWNvcmRTdHJhdGVneSwgZmFsc2UpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHN0b3JlO1xuICB9XG59XG4iXX0=
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdvcmtzcGFjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93bXMtd29ya3NwYWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFM0YsT0FBTyxFQUNMLGFBQWEsRUFDYixZQUFZLEVBQ1osK0JBQStCLEVBQy9CLG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLHFCQUFxQixFQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFHTCxZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBSzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxF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QW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvblN0b3JlIH0gZnJvbSAnQGlnbzIvY29tbW9uL2FjdGlvbic7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XG5cbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRmVhdHVyZU1vdGlvbixcbiAgRmVhdHVyZVN0b3JlLFxuICBGZWF0dXJlU3RvcmVJbk1hcEV4dGVudFN0cmF0ZWd5LFxuICBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneSxcbiAgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3ksXG4gIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5LFxuICBHZW9Qcm9wZXJ0aWVzU3RyYXRlZ3lcbn0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQnO1xuaW1wb3J0IHsgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHZW9Xb3Jrc3BhY2VPcHRpb25zLFxuICBJbWFnZUxheWVyLFxuICBMYXllclNlcnZpY2UsXG4gIExheWVyc0xpbmtQcm9wZXJ0aWVzLFxuICBMaW5rZWRQcm9wZXJ0aWVzLFxuICBWZWN0b3JMYXllclxufSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL3ZlY3Rvci9jb21tb25WZWN0b3JTdHlsZSc7XG5pbXBvcnQge1xuICBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zLFxuICBPdmVybGF5U3R5bGVPcHRpb25zXG59IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvcHJvcGVydHlUeXBlRGV0ZWN0b3IvcHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBXZnNXb3Jrc3BhY2UgfSBmcm9tICcuL3dmcy13b3Jrc3BhY2UnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRmlsdGVySW5NYXBFeHRlbnRPclJlc29sdXRpb25TdHJhdGVneSxcbiAgY3JlYXRlVGFibGVUZW1wbGF0ZVxufSBmcm9tICcuL3dvcmtzcGFjZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdtc1dvcmtzcGFjZVNlcnZpY2Uge1xuICBnZXQgem9vbUF1dG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XG4gIH1cblxuICBwdWJsaWMgd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2U6IFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZVxuICApIHt9XG5cbiAgY3JlYXRlV29ya3NwYWNlKGxheWVyOiBJbWFnZUxheWVyLCBtYXA6IElnb01hcCk6IFdmc1dvcmtzcGFjZSB7XG4gICAgaWYgKFxuICAgICAgIWxheWVyLm9wdGlvbnMud29ya3NwYWNlIHx8XG4gICAgICBtYXAubGF5ZXJDb250cm9sbGVyLmFsbC5maW5kKFxuICAgICAgICAobGF5KSA9PiBsYXkuaWQgPT09IGxheWVyLmlkICsgJy5XZnNXb3Jrc3BhY2VUYWJsZURlc3QnXG4gICAgICApIHx8XG4gICAgICBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuZWRpdGlvblxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhU291cmNlOiBXTVNEYXRhU291cmNlID0gbGF5ZXIuZGF0YVNvdXJjZSBhcyBXTVNEYXRhU291cmNlO1xuICAgIGNvbnN0IHdtc0xpbmtJZCA9IGxheWVyLmlkICsgJy5XbXNXb3Jrc3BhY2VUYWJsZVNyYyc7XG4gICAgY29uc3Qgd2ZzTGlua0lkID0gbGF5ZXIuaWQgKyAnLldmc1dvcmtzcGFjZVRhYmxlRGVzdCc7XG4gICAgaWYgKCFsYXllci5vcHRpb25zLmxpbmtlZExheWVycykge1xuICAgICAgbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMgPSB7IGxpbmtJZDogd21zTGlua0lkLCBsaW5rczogW10gfTtcbiAgICB9XG4gICAgY29uc3QgbGlua1Byb3BlcnRpZXMgPSB7XG4gICAgICBzeW5jZWREZWxldGU6IHRydWUsXG4gICAgICBsaW5rZWRJZHM6IFt3ZnNMaW5rSWRdLFxuICAgICAgcHJvcGVydGllczogW0xpbmtlZFByb3BlcnRpZXMuWklOREVYLCBMaW5rZWRQcm9wZXJ0aWVzLlZJU0lCTEVdXG4gICAgfSBhcyBMYXllcnNMaW5rUHJvcGVydGllcztcblxuICAgIGlmICghbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/Lm1pblJlc29sdXRpb24pIHtcbiAgICAgIGxpbmtQcm9wZXJ0aWVzLnByb3BlcnRpZXMucHVzaChMaW5rZWRQcm9wZXJ0aWVzLk1JTlJFU09MVVRJT04pO1xuICAgIH1cbiAgICBsZXQgaGFzT2djRmlsdGVycyA9IGZhbHNlO1xuICAgIGlmIChcbiAgICAgIChkYXRhU291cmNlLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzPy5lbmFibGVkXG4gICAgKSB7XG4gICAgICBsaW5rUHJvcGVydGllcy5wcm9wZXJ0aWVzLnB1c2goTGlua2VkUHJvcGVydGllcy5PR0NGSUxURVJTKTtcbiAgICAgIGhhc09nY0ZpbHRlcnMgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5tYXhSZXNvbHV0aW9uKSB7XG4gICAgICBsaW5rUHJvcGVydGllcy5wcm9wZXJ0aWVzLnB1c2goTGlua2VkUHJvcGVydGllcy5NQVhSRVNPTFVUSU9OKTtcbiAgICB9XG5cbiAgICBsZXQgY2xvbmVkTGlua3M6IExheWVyc0xpbmtQcm9wZXJ0aWVzW10gPSBbXTtcbiAgICBpZiAobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MpIHtcbiAgICAgIGNsb25lZExpbmtzID0gSlNPTi5wYXJzZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua3MpXG4gICAgICApO1xuICAgIH1cbiAgICBjbG9uZWRMaW5rcy5wdXNoKGxpbmtQcm9wZXJ0aWVzKTtcblxuICAgIC8vIFRPRE86IETDqW15c3RpZmllciBjZSBib3V0IGRlIGNvZGVcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xuICAgICgobGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua0lkID0gbGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnMubGlua0lkXG4gICAgICA/IGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtJZFxuICAgICAgOiB3bXNMaW5rSWQpLFxuICAgICAgKGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzID0gY2xvbmVkTGlua3MpKTtcblxuICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcblxuICAgIGludGVyZmFjZSBXRlNvcHRpb25zXG4gICAgICBleHRlbmRzIFdGU0RhdGFTb3VyY2VPcHRpb25zLFxuICAgICAgICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMge31cblxuICAgIGxldCB3a3M7XG4gICAgY29uc3Qgd2tzTGF5ZXJPcHRpb246IEdlb1dvcmtzcGFjZU9wdGlvbnMgPSB7XG4gICAgICBwcmludGFibGU6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wcmludGFibGUsXG4gICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICB3b3Jrc3BhY2VJZDogdW5kZWZpbmVkLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBxdWVyeU9wdGlvbnM6IHtcbiAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnF1ZXJ5T3B0aW9ucz8ubWFwUXVlcnlPbk9wZW5UYWIsXG4gICAgICAgIHRhYlF1ZXJ5OiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucXVlcnlPcHRpb25zPy50YWJRdWVyeVxuICAgICAgfSxcbiAgICAgIHBhZ2VTaXplOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ucGFnZVNpemUsXG4gICAgICBwYWdlU2l6ZU9wdGlvbnM6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5wYWdlU2l6ZU9wdGlvbnNcbiAgICB9O1xuXG4gICAgdGhpcy5sYXllclNlcnZpY2VcbiAgICAgIC5jcmVhdGVBc3luY0xheWVyKHtcbiAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICBwYXJlbnRJZDogbGF5ZXIub3B0aW9ucy5wYXJlbnRJZCxcbiAgICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgICB2aXNpYmxlOiBsYXllci52aXNpYmxlLFxuICAgICAgICBpZDogd2ZzTGlua0lkLFxuICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICBsaW5rSWQ6IHdmc0xpbmtJZFxuICAgICAgICB9LFxuICAgICAgICB3b3Jrc3BhY2U6IHdrc0xheWVyT3B0aW9uLFxuICAgICAgICBzaG93SW5MYXllckxpc3Q6IGZhbHNlLFxuICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICBtaW5SZXNvbHV0aW9uOlxuICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5taW5SZXNvbHV0aW9uIHx8IGxheWVyLm1pblJlc29sdXRpb24gfHwgMCxcbiAgICAgICAgbWF4UmVzb2x1dGlvbjpcbiAgICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZT8ubWF4UmVzb2x1dGlvbiB8fFxuICAgICAgICAgIGxheWVyLm1heFJlc29sdXRpb24gfHxcbiAgICAgICAgICBJbmZpbml0eSxcbiAgICAgICAgc3R5bGU6IHRoaXMuc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKHtcbiAgICAgICAgICBmaWxsOiB7XG4gICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNpcmNsZToge1xuICAgICAgICAgICAgZmlsbDoge1xuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSknXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxKSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYWRpdXM6IDVcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICAgICAgZG93bmxvYWQ6IGRhdGFTb3VyY2Uub3B0aW9ucy5kb3dubG9hZCxcbiAgICAgICAgICB0eXBlOiAnd2ZzJyxcbiAgICAgICAgICB1cmw6IGRhdGFTb3VyY2Uub3B0aW9ucy51cmxXZnMgfHwgZGF0YVNvdXJjZS5vcHRpb25zLnVybCxcbiAgICAgICAgICBxdWVyeWFibGU6IHRydWUsXG4gICAgICAgICAgcmVsYXRpb25zOiBkYXRhU291cmNlLm9wdGlvbnMucmVsYXRpb25zLFxuICAgICAgICAgIHF1ZXJ5VGl0bGU6IChkYXRhU291cmNlLm9wdGlvbnMgYXMgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMpXG4gICAgICAgICAgICAucXVlcnlUaXRsZSxcbiAgICAgICAgICBxdWVyeUZvcm1hdEFzV21zOiBsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZFxuICAgICAgICAgICAgPyAoZGF0YVNvdXJjZS5vcHRpb25zIGFzIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zKVxuICAgICAgICAgICAgICAgIC5xdWVyeUZvcm1hdEFzV21zXG4gICAgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgcGFyYW1zOiBkYXRhU291cmNlLm9wdGlvbnMucGFyYW1zV0ZTLFxuICAgICAgICAgIG9nY0ZpbHRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRhdGFTb3VyY2Uub2djRmlsdGVycywge1xuICAgICAgICAgICAgZW5hYmxlZDogaGFzT2djRmlsdGVyc1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHNvdXJjZUZpZWxkczogZGF0YVNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fCB1bmRlZmluZWRcbiAgICAgICAgfSBhcyBXRlNvcHRpb25zXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgod29ya3NwYWNlTGF5ZXI6IFZlY3RvckxheWVyKSA9PiB7XG4gICAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWRkKHdvcmtzcGFjZUxheWVyKTtcbiAgICAgICAgbGF5ZXIub2wuc2V0UHJvcGVydGllcyhcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsaW5rZWRMYXllcnM6IHtcbiAgICAgICAgICAgICAgbGlua0lkOiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rSWQsXG4gICAgICAgICAgICAgIGxpbmtzOiBjbG9uZWRMaW5rc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgd29ya3NwYWNlTGF5ZXIuZGF0YVNvdXJjZS5vbC5yZWZyZXNoKCk7XG5cbiAgICAgICAgaWYgKCFsYXllci5vcHRpb25zLndvcmtzcGFjZT8uZW5hYmxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB3a3MgPSBuZXcgV2ZzV29ya3NwYWNlKHtcbiAgICAgICAgICBpZDogbGF5ZXIuaWQsXG4gICAgICAgICAgdGl0bGU6IGxheWVyLnRpdGxlLFxuICAgICAgICAgIGxheWVyOiB3b3Jrc3BhY2VMYXllcixcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgZW50aXR5U3RvcmU6IHRoaXMuY3JlYXRlRmVhdHVyZVN0b3JlKHdvcmtzcGFjZUxheWVyLCBtYXApLFxuICAgICAgICAgIGFjdGlvblN0b3JlOiBuZXcgQWN0aW9uU3RvcmUoW10pLFxuICAgICAgICAgIG1ldGE6IHtcbiAgICAgICAgICAgIHRhYmxlVGVtcGxhdGU6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNyZWF0ZVRhYmxlVGVtcGxhdGUod2tzLCB3b3Jrc3BhY2VMYXllciwgdGhpcy5sYXllclNlcnZpY2UsIHRoaXMud3MkKTtcblxuICAgICAgICB3b3Jrc3BhY2VMYXllci5vcHRpb25zLndvcmtzcGFjZS53b3Jrc3BhY2VJZCA9IHdvcmtzcGFjZUxheWVyLmlkO1xuICAgICAgICBsYXllci5vcHRpb25zLndvcmtzcGFjZSA9IE9iamVjdC5hc3NpZ24oe30sIGxheWVyLm9wdGlvbnMud29ya3NwYWNlLCB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzcmNJZDogbGF5ZXIuaWQsXG4gICAgICAgICAgd29ya3NwYWNlSWQ6IHdvcmtzcGFjZUxheWVyLmlkLFxuICAgICAgICAgIHF1ZXJ5T3B0aW9uczoge1xuICAgICAgICAgICAgbWFwUXVlcnlPbk9wZW5UYWI6XG4gICAgICAgICAgICAgIGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/Lm1hcFF1ZXJ5T25PcGVuVGFiLFxuICAgICAgICAgICAgdGFiUXVlcnk6IGxheWVyLm9wdGlvbnMud29ya3NwYWNlPy5xdWVyeU9wdGlvbnM/LnRhYlF1ZXJ5XG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYWdlU2l6ZTogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplLFxuICAgICAgICAgIHBhZ2VTaXplT3B0aW9uczogbGF5ZXIub3B0aW9ucy53b3Jrc3BhY2U/LnBhZ2VTaXplT3B0aW9uc1xuICAgICAgICB9IGFzIEdlb1dvcmtzcGFjZU9wdGlvbnMpO1xuXG4gICAgICAgIGRlbGV0ZSBkYXRhU291cmNlLm9wdGlvbnMuZG93bmxvYWQ7XG4gICAgICAgIHJldHVybiB3a3M7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB3a3M7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZlYXR1cmVTdG9yZShsYXllcjogVmVjdG9yTGF5ZXIsIG1hcDogSWdvTWFwKTogRmVhdHVyZVN0b3JlIHtcbiAgICBjb25zdCBzdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmUoW10sIHsgbWFwIH0pO1xuICAgIHN0b3JlLmJpbmRMYXllcihsYXllcik7XG5cbiAgICBjb25zdCBsb2FkaW5nU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IGluTWFwRXh0ZW50U3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneSh7fSk7XG4gICAgY29uc3QgZ2VvUHJvcGVydGllc1N0cmF0ZWd5ID0gbmV3IEdlb1Byb3BlcnRpZXNTdHJhdGVneShcbiAgICAgIHsgbWFwIH0sXG4gICAgICB0aGlzLnByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICAgIHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZVxuICAgICk7XG4gICAgY29uc3QgaW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3kgPSBuZXcgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3koe30pO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVjb3JkU3RyYXRlZ3kgPSBuZXcgRW50aXR5U3RvcmVGaWx0ZXJTZWxlY3Rpb25TdHJhdGVneSh7fSk7XG4gICAgY29uc3QgY29uZlF1ZXJ5T3ZlcmxheVN0eWxlOiBPdmVybGF5U3R5bGVPcHRpb25zID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ3F1ZXJ5T3ZlcmxheVN0eWxlJyk7XG5cbiAgICBjb25zdCBpZCA9IGxheWVyLmlkICsgJy5GZWF0dXJlU3RvcmUnO1xuXG4gICAgaWYgKCFsYXllci5saW5rKSB7XG4gICAgICBsYXllci5vcHRpb25zLmxpbmtlZExheWVycy5saW5rcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIHN5bmNlZERlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICBsaW5rZWRJZHM6IFtpZF0sXG4gICAgICAgICAgcHJvcGVydGllczogW0xpbmtlZFByb3BlcnRpZXMuVklTSUJMRV1cbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGxheWVyLmNyZWF0ZUxpbmsoKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3Rpb25TdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneSh7XG4gICAgICBsYXllcjogbmV3IFZlY3RvckxheWVyKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGxpbmtlZExheWVyczoge1xuICAgICAgICAgIGxpbmtJZDogaWRcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXG4gICAgICAgIHN0eWxlOiAoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBnZXRDb21tb25WZWN0b3JTZWxlY3RlZFN0eWxlKFxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgIHsgZmVhdHVyZSB9LFxuICAgICAgICAgICAgICBjb25mUXVlcnlPdmVybGF5U3R5bGU/LnNlbGVjdGlvbiB8fCB7fVxuICAgICAgICAgICAgKSBhcyBGZWF0dXJlQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgICAgZXhwb3J0YWJsZTogZmFsc2UsXG4gICAgICAgIGJyb3dzYWJsZTogZmFsc2VcbiAgICAgIH0pLFxuICAgICAgbWFwLFxuICAgICAgaGl0VG9sZXJhbmNlOiAxNSxcbiAgICAgIG1vdGlvbjogdGhpcy56b29tQXV0byA/IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCA6IEZlYXR1cmVNb3Rpb24uTm9uZSxcbiAgICAgIG1hbnk6IHRydWUsXG4gICAgICBkcmFnQm94OiB0cnVlXG4gICAgfSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3kobG9hZGluZ1N0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShpbk1hcEV4dGVudFN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShnZW9Qcm9wZXJ0aWVzU3RyYXRlZ3ksIHRydWUpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGluTWFwUmVzb2x1dGlvblN0cmF0ZWd5LCB0cnVlKTtcbiAgICBzdG9yZS5hZGRTdHJhdGVneShzZWxlY3Rpb25TdHJhdGVneSwgdHJ1ZSk7XG4gICAgc3RvcmUuYWRkU3RyYXRlZ3koc2VsZWN0ZWRSZWNvcmRTdHJhdGVneSwgZmFsc2UpO1xuICAgIHN0b3JlLmFkZFN0cmF0ZWd5KGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHN0b3JlO1xuICB9XG59XG4iXX0=
|
|
@@ -142,6 +142,7 @@ export function createTableTemplate(workspace, layer, layerService, ws$) {
|
|
|
142
142
|
title: field.alias ? field.alias : field.name,
|
|
143
143
|
renderer: EntityTableColumnRenderer.UnsanitizedHTML,
|
|
144
144
|
tooltip: field.tooltip,
|
|
145
|
+
visible: field.visible,
|
|
145
146
|
cellClassFunc: () => {
|
|
146
147
|
const cellClass = {};
|
|
147
148
|
if (field.type) {
|
|
@@ -185,4 +186,4 @@ export function createFilterInMapExtentOrResolutionStrategy() {
|
|
|
185
186
|
filterClauseFunc
|
|
186
187
|
});
|
|
187
188
|
}
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93b3Jrc3BhY2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1DQUFtQyxFQUluQyx5QkFBeUIsRUFFMUIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl2RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGNBQWM7SUFDeEQsT0FBTyxDQUNKLGNBQWMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLE9BQU8sRUFBRSxDQUFhO1FBQ3ZFLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWM7SUFDL0QsY0FBYyxDQUFDLEdBQUcsQ0FDaEIsNkJBQTZCLE9BQU8sRUFBRSxFQUN0QyxLQUFLLEVBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjO0lBQ3JELE9BQU8sQ0FDSixjQUFjLENBQUMsR0FBRyxDQUFDLDBCQUEwQixPQUFPLEVBQUUsQ0FBYTtRQUNwRSxLQUFLLENBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYztJQUM1RCxjQUFjLENBQUMsR0FBRyxD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LEtBQUssSUFBSSxDQUMzRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsT0FBTyxJQUFJLG1DQUFtQyxDQUFDO1FBQzdDLGdCQUFnQjtLQUNpQixDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eVJlY29yZCxcbiAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3ksXG4gIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyxcbiAgRW50aXR5VGFibGVCdXR0b24sXG4gIEVudGl0eVRhYmxlQ29sdW1uLFxuICBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLFxuICBFbnRpdHlUYWJsZVRlbXBsYXRlXG59IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2NvcGUgfSBmcm9tICdAaWdvMi9jb3JlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgUmVsYXRpb25PcHRpb25zLFxuICBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zXG59IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlLCBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkRnJvbVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9pZC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZVdvcmtzcGFjZSB9IGZyb20gJy4vZmVhdHVyZS13b3Jrc3BhY2UnO1xuaW1wb3J0IHsgV2ZzV29ya3NwYWNlIH0gZnJvbSAnLi93ZnMtd29ya3NwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvd3NJbk1hcEV4dGVudChsYXllcklkLCBzdG9yYWdlU2VydmljZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIChzdG9yYWdlU2VydmljZS5nZXQoYHdvcmtzcGFjZS5yb3dzSW5NYXBFeHRlbnQuJHtsYXllcklkfWApIGFzIGJvb2xlYW4pIHx8XG4gICAgdHJ1ZVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Um93c0luTWFwRXh0ZW50KHZhbHVlLCBsYXllcklkLCBzdG9yYWdlU2VydmljZSkge1xuICBzdG9yYWdlU2VydmljZS5zZXQoXG4gICAgYHdvcmtzcGFjZS5yb3dzSW5NYXBFeHRlbnQuJHtsYXllcklkfWAsXG4gICAgdmFsdWUsXG4gICAgU3RvcmFnZVNjb3BlLlNFU1NJT05cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGVkT25seShsYXllcklkLCBzdG9yYWdlU2VydmljZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIChzdG9yYWdlU2VydmljZS5nZXQoYHdvcmtzcGFjZS5zZWxlY3RlZE9ubHkuJHtsYXllcklkfWApIGFzIGJvb2xlYW4pIHx8XG4gICAgZmFsc2VcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlbGVjdGVkT25seSh2YWx1ZSwgbGF5ZXJJZCwgc3RvcmFnZVNlcnZpY2UpIHtcbiAgc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgIGB3b3Jrc3BhY2Uuc2VsZWN0ZWRPbmx5LiR7bGF5ZXJJZH1gLFxuICAgIHZhbHVlLFxuICAgIFN0b3JhZ2VTY29wZS5TRVNTSU9OXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBFeHRlbnRTdHJhdGVneUFjdGl2ZVRvb2xUaXAoXG4gIHdzOiBXb3Jrc3BhY2Vcbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gIHJldHVybiB3cy5lbnRpdHlTdG9yZVxuICAgIC5nZXRTdHJhdGVneU9mVHlwZShFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSlcbiAgICAuYWN0aXZlJC5waXBlKFxuICAgICAgbWFwKChhY3RpdmU6IGJvb2xlYW4pID0+XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICAgID8gJ2lnby5nZW8ud29ya3NwYWNlLmluTWFwRXh0ZW50LmFjdGl2ZS50b29sdGlwJ1xuICAgICAgICAgIDogJ2lnby5nZW8ud29ya3NwYWNlLmluTWFwRXh0ZW50LmluYWN0aXZlLnRvb2x0aXAnXG4gICAgICApXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vRWxlbWVudFNlbGVjdGVkKHdzOiBXb3Jrc3BhY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIHdzLmVudGl0eVN0b3JlLnN0YXRlVmlld1xuICAgIC5tYW55QnkkKChyZWNvcmQ6IEVudGl0eVJlY29yZDxGZWF0dXJlPikgPT4ge1xuICAgICAgcmV0dXJuIHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZTtcbiAgICB9KVxuICAgIC5waXBlKG1hcCgoZW50aXRpZXM6IEVudGl0eVJlY29yZDxGZWF0dXJlPltdKSA9PiBlbnRpdGllcy5sZW5ndGggPj0gMSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkT3JSZW1vdmVMYXllcihcbiAgYWN0aW9uOiAnYWRkJyB8ICdyZW1vdmUnLFxuICBtYXA6IElnb01hcCxcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZyxcbiAgbGF5ZXJOYW1lOiBzdHJpbmcsXG4gIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlXG4pIHtcbiAgY29uc3Qgc28gPSBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xuICAgIHNvdXJjZU9wdGlvbnM6IHtcbiAgICAgIHR5cGU6IHR5cGUsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zRnJvbUNhcGFiaWxpdGllczogdHJ1ZSxcbiAgICAgIG9wdGlvbnNGcm9tQXBpOiB0cnVlLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIExBWUVSUzogdHlwZSA9PT0gJ3dtcycgPyBsYXllck5hbWUgOiB1bmRlZmluZWQsXG4gICAgICAgIExBWUVSOiB0eXBlID09PSAnd21zJyA/IHVuZGVmaW5lZCA6IGxheWVyTmFtZVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGlmIChhY3Rpb24gPT09ICdhZGQnKSB7XG4gICAgbGF5ZXJTZXJ2aWNlLmNyZWF0ZUFzeW5jTGF5ZXIoc28pLnN1YnNjcmliZSgobGF5ZXIpID0+IHtcbiAgICAgIGlmICghbGF5ZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbWFwLmxheWVyc0FkZGVkQnlDbGljayQubmV4dChbbGF5ZXJdKTtcbiAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWRkKGxheWVyKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgY29uc3QgYWRkZWRMYXllcklkID0gZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zKHNvLnNvdXJjZU9wdGlvbnMpO1xuICAgIG1hcC5sYXllckNvbnRyb2xsZXIucmVtb3ZlKFxuICAgICAgbWFwLmxheWVyQ29udHJvbGxlci5hbGwuZmluZCgobCkgPT4gbC5pZCA9PT0gYWRkZWRMYXllcklkKVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb1NlcnZpY2VBY3Rpb24oXG4gIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSxcbiAgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2Vcbikge1xuICBjb25zdCBnZW9TZXJ2aWNlQWN0aW9uID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdnZW9TZXJ2aWNlQWN0aW9uJyxcbiAgICAgIHRpdGxlOiB1bmRlZmluZWQsXG4gICAgICB0b29sdGlwOiAnJyxcbiAgICAgIHJlbmRlcmVyOiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLkJ1dHRvbkdyb3VwLFxuICAgICAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRmVhdHVyZSwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8RmVhdHVyZT4pID0+IHtcbiAgICAgICAgY29uc3QgZ2VvU2VydmljZVByb3BlcnRpZXMgPSByZWNvcmQuc3RhdGUuZ2VvU2VydmljZTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMuaGF2ZUdlb1NlcnZpY2VQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMudXJsICYmXG4gICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMubGF5ZXJOYW1lXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChnZW9TZXJ2aWNlUHJvcGVydGllcy5hZGRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnd2FybicsXG4gICAgICAgICAgICAgICAgY2xpY2s6IChyb3csIHJlY29yZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgYWRkT3JSZW1vdmVMYXllcihcbiAgICAgICAgICAgICAgICAgICAgJ3JlbW92ZScsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZS5tYXAsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLnVybCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UubGF5ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICBsYXllclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy5hZGRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSBhcyBFbnRpdHlUYWJsZUJ1dHRvbltdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWNvbjogJ2FkZCcsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICBjbGljazogKHJvdywgcmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBhZGRPclJlbW92ZUxheWVyKFxuICAgICAgICAgICAgICAgICAgICAnYWRkJyxcbiAgICAgICAgICAgICAgICAgICAgd29ya3NwYWNlLm1hcCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudXJsLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS5sYXllck5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGxheWVyU2VydmljZVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmFkZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgRW50aXR5VGFibGVCdXR0b25bXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBdO1xuICByZXR1cm4gZ2VvU2VydmljZUFjdGlvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRhYmxlVGVtcGxhdGUoXG4gIHdvcmtzcGFjZTogRmVhdHVyZVdvcmtzcGFjZSB8IFdmc1dvcmtzcGFjZSxcbiAgbGF5ZXI6IFZlY3RvckxheWVyLFxuICBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcbiAgd3MkXG4pIHtcbiAgY29uc3QgZ2VvU2VydmljZUFjdGlvbiA9IGdldEdlb1NlcnZpY2VBY3Rpb24od29ya3NwYWNlLCBsYXllclNlcnZpY2UpO1xuICBjb25zdCBmaWVsZHMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzIHx8IFtdO1xuXG4gIGNvbnN0IHJlbGF0aW9ucyA9IGxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5yZWxhdGlvbnMgfHwgW107XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICB3b3Jrc3BhY2UuZW50aXR5U3RvcmUuZW50aXRpZXMkXG4gICAgICAucGlwZShcbiAgICAgICAgc2tpcFdoaWxlKCh2YWwpID0+IHZhbC5sZW5ndGggPT09IDApLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlbnRpdGllcykgPT4ge1xuICAgICAgICBjb25zdCBvbCA9IChlbnRpdGllc1swXSBhcyBGZWF0dXJlKS5vbCBhcyBvbEZlYXR1cmU8T2xHZW9tZXRyeT47XG4gICAgICAgIGNvbnN0IGNvbHVtbnNGcm9tRmVhdHVyZXMgPSBvbFxuICAgICAgICAgIC5nZXRLZXlzKClcbiAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgKGNvbCkgPT5cbiAgICAgICAgICAgICAgIWNvbC5zdGFydHNXaXRoKCdfJykgJiZcbiAgICAgICAgICAgICAgY29sICE9PSAnZ2VvbWV0cnknICYmXG4gICAgICAgICAgICAgIGNvbCAhPT0gb2wuZ2V0R2VvbWV0cnlOYW1lKCkgJiZcbiAgICAgICAgICAgICAgIWNvbC5tYXRjaCgvYm91bmRlZGJ5L2dpKVxuICAgICAgICAgIClcbiAgICAgICAgICAubWFwKChrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7a2V5fWAsXG4gICAgICAgICAgICAgIHRpdGxlOiBrZXksXG4gICAgICAgICAgICAgIHJlbmRlcmVyOiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLlVuc2FuaXRpemVkSFRNTFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgY29sdW1uc0Zyb21GZWF0dXJlcy51bnNoaWZ0KC4uLmdlb1NlcnZpY2VBY3Rpb24pO1xuICAgICAgICB3b3Jrc3BhY2UubWV0YS50YWJsZVRlbXBsYXRlID0ge1xuICAgICAgICAgIHNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgICBzb3J0OiB0cnVlLFxuICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnNGcm9tRmVhdHVyZXMsXG4gICAgICAgICAgdGFibGVIZWlnaHQ6ICcxMDAlJ1xuICAgICAgICB9IGFzIEVudGl0eVRhYmxlVGVtcGxhdGU7XG4gICAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgY29sdW1ucyA9IGZpZWxkcy5tYXAoKGZpZWxkOiBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7ZmllbGQubmFtZX1gLFxuICAgICAgdGl0bGU6IGZpZWxkLmFsaWFzID8gZmllbGQuYWxpYXMgOiBmaWVsZC5uYW1lLFxuICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuVW5zYW5pdGl6ZWRIVE1MLFxuICAgICAgdG9vbHRpcDogZmllbGQudG9vbHRpcCxcbiAgICAgIGNlbGxDbGFzc0Z1bmM6ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2VsbENsYXNzID0ge307XG4gICAgICAgIGlmIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2VsbENsYXNzW2BjbGFzc18ke2ZpZWxkLnR5cGV9YF0gPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBjZWxsQ2xhc3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGFzIEVudGl0eVRhYmxlQ29sdW1uO1xuICB9KTtcblxuICBjb25zdCByZWxhdGlvbnNDb2x1bW4gPSByZWxhdGlvbnMubWFwKChyZWxhdGlvbjogUmVsYXRpb25PcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGBwcm9wZXJ0aWVzLiR7cmVsYXRpb24ubmFtZX1gLFxuICAgICAgdGl0bGU6IHJlbGF0aW9uLmFsaWFzID8gcmVsYXRpb24uYWxpYXMgOiByZWxhdGlvbi5uYW1lLFxuICAgICAgcmVuZGVyZXI6IEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIuSWNvbixcbiAgICAgIGljb246IHJlbGF0aW9uLmljb24sXG4gICAgICBwYXJlbnQ6IHJlbGF0aW9uLnBhcmVudCxcbiAgICAgIHR5cGU6ICdyZWxhdGlvbicsXG4gICAgICB0b29sdGlwOiByZWxhdGlvbi50b29sdGlwLFxuICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICB3cyQubmV4dChyZWxhdGlvbi50aXRsZSk7XG4gICAgICB9LFxuICAgICAgY2VsbENsYXNzRnVuYzogKCkgPT4ge1xuICAgICAgICByZXR1cm4geyBjbGFzc19pY29uOiB0cnVlIH07XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG5cbiAgY29sdW1ucy5wdXNoKC4uLnJlbGF0aW9uc0NvbHVtbik7XG4gIGNvbHVtbnMudW5zaGlmdCguLi5nZW9TZXJ2aWNlQWN0aW9uKTtcbiAgd29ya3NwYWNlLm1ldGEudGFibGVUZW1wbGF0ZSA9IHtcbiAgICBzZWxlY3Rpb246IHRydWUsXG4gICAgc29ydDogdHJ1ZSxcbiAgICBjb2x1bW5zLFxuICAgIHRhYmxlSGVpZ2h0OiAnMTAwJSdcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbHRlckluTWFwRXh0ZW50T3JSZXNvbHV0aW9uU3RyYXRlZ3koKTogRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kge1xuICBjb25zdCBmaWx0ZXJDbGF1c2VGdW5jID0gKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcmVjb3JkLnN0YXRlLmluTWFwRXh0ZW50ID09PSB0cnVlICYmIHJlY29yZC5zdGF0ZS5pbk1hcFJlc29sdXRpb24gPT09IHRydWVcbiAgICApO1xuICB9O1xuICByZXR1cm4gbmV3IEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5KHtcbiAgICBmaWx0ZXJDbGF1c2VGdW5jXG4gIH0gYXMgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zKTtcbn1cbiJdfQ==
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvd29ya3NwYWNlL3NoYXJlZC93b3Jrc3BhY2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1DQUFtQyxFQUluQyx5QkFBeUIsRUFFMUIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU0xQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN0RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl2RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGNBQWM7SUFDeEQsT0FBTyxDQUNKLGNBQWMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLE9BQU8sRUFBRSxDQUFhO1FBQ3ZFLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWM7SUFDL0QsY0FBYyxDQUFDLEdBQUcsQ0FDaEIsNkJBQTZCLE9BQU8sRUFBRSxFQUN0QyxLQUFLLEVBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FDckIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQU8sRUFBRSxjQUFjO0lBQ3JELE9BQU8sQ0FDSixjQUFjLENBQUMsR0FBRyxDQUFDLDBCQUEwQixPQUFPLEVBQUUsQ0FBYTtRQUNwRSxLQUFLLENBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsY0FBYztJQUM1RCxjQUFjLENBQUMsR0FBRyxD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SSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxLQUFLLElBQUksQ0FDM0UsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUNGLE9BQU8sSUFBSSxtQ0FBbUMsQ0FBQztRQUM3QyxnQkFBZ0I7S0FDaUIsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlSZWNvcmQsXG4gIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5LFxuICBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMsXG4gIEVudGl0eVRhYmxlQnV0dG9uLFxuICBFbnRpdHlUYWJsZUNvbHVtbixcbiAgRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlcixcbiAgRW50aXR5VGFibGVUZW1wbGF0ZVxufSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IFdvcmtzcGFjZSB9IGZyb20gJ0BpZ28yL2NvbW1vbi93b3Jrc3BhY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNjb3BlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIFJlbGF0aW9uT3B0aW9ucyxcbiAgU291cmNlRmllbGRzT3B0aW9uc1BhcmFtc1xufSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IExheWVyU2VydmljZSwgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmVXb3Jrc3BhY2UgfSBmcm9tICcuL2ZlYXR1cmUtd29ya3NwYWNlJztcbmltcG9ydCB7IFdmc1dvcmtzcGFjZSB9IGZyb20gJy4vd2ZzLXdvcmtzcGFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzSW5NYXBFeHRlbnQobGF5ZXJJZCwgc3RvcmFnZVNlcnZpY2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoc3RvcmFnZVNlcnZpY2UuZ2V0KGB3b3Jrc3BhY2Uucm93c0luTWFwRXh0ZW50LiR7bGF5ZXJJZH1gKSBhcyBib29sZWFuKSB8fFxuICAgIHRydWVcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJvd3NJbk1hcEV4dGVudCh2YWx1ZSwgbGF5ZXJJZCwgc3RvcmFnZVNlcnZpY2UpIHtcbiAgc3RvcmFnZVNlcnZpY2Uuc2V0KFxuICAgIGB3b3Jrc3BhY2Uucm93c0luTWFwRXh0ZW50LiR7bGF5ZXJJZH1gLFxuICAgIHZhbHVlLFxuICAgIFN0b3JhZ2VTY29wZS5TRVNTSU9OXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RlZE9ubHkobGF5ZXJJZCwgc3RvcmFnZVNlcnZpY2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoc3RvcmFnZVNlcnZpY2UuZ2V0KGB3b3Jrc3BhY2Uuc2VsZWN0ZWRPbmx5LiR7bGF5ZXJJZH1gKSBhcyBib29sZWFuKSB8fFxuICAgIGZhbHNlXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWxlY3RlZE9ubHkodmFsdWUsIGxheWVySWQsIHN0b3JhZ2VTZXJ2aWNlKSB7XG4gIHN0b3JhZ2VTZXJ2aWNlLnNldChcbiAgICBgd29ya3NwYWNlLnNlbGVjdGVkT25seS4ke2xheWVySWR9YCxcbiAgICB2YWx1ZSxcbiAgICBTdG9yYWdlU2NvcGUuU0VTU0lPTlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwRXh0ZW50U3RyYXRlZ3lBY3RpdmVUb29sVGlwKFxuICB3czogV29ya3NwYWNlXG4pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICByZXR1cm4gd3MuZW50aXR5U3RvcmVcbiAgICAuZ2V0U3RyYXRlZ3lPZlR5cGUoRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3kpXG4gICAgLmFjdGl2ZSQucGlwZShcbiAgICAgIG1hcCgoYWN0aXZlOiBib29sZWFuKSA9PlxuICAgICAgICBhY3RpdmVcbiAgICAgICAgICA/ICdpZ28uZ2VvLndvcmtzcGFjZS5pbk1hcEV4dGVudC5hY3RpdmUudG9vbHRpcCdcbiAgICAgICAgICA6ICdpZ28uZ2VvLndvcmtzcGFjZS5pbk1hcEV4dGVudC5pbmFjdGl2ZS50b29sdGlwJ1xuICAgICAgKVxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub0VsZW1lbnRTZWxlY3RlZCh3czogV29ya3NwYWNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiB3cy5lbnRpdHlTdG9yZS5zdGF0ZVZpZXdcbiAgICAubWFueUJ5JCgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8RmVhdHVyZT4pID0+IHtcbiAgICAgIHJldHVybiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWU7XG4gICAgfSlcbiAgICAucGlwZShtYXAoKGVudGl0aWVzOiBFbnRpdHlSZWNvcmQ8RmVhdHVyZT5bXSkgPT4gZW50aXRpZXMubGVuZ3RoID49IDEpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE9yUmVtb3ZlTGF5ZXIoXG4gIGFjdGlvbjogJ2FkZCcgfCAncmVtb3ZlJyxcbiAgbWFwOiBJZ29NYXAsXG4gIHVybDogc3RyaW5nLFxuICB0eXBlOiBzdHJpbmcsXG4gIGxheWVyTmFtZTogc3RyaW5nLFxuICBsYXllclNlcnZpY2U6IExheWVyU2VydmljZVxuKSB7XG4gIGNvbnN0IHNvID0gT2JqZWN0VXRpbHMucmVtb3ZlVW5kZWZpbmVkKHtcbiAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICB0eXBlOiB0eXBlLFxuICAgICAgdXJsLFxuICAgICAgb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXM6IHRydWUsXG4gICAgICBvcHRpb25zRnJvbUFwaTogdHJ1ZSxcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBMQVlFUlM6IHR5cGUgPT09ICd3bXMnID8gbGF5ZXJOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICBMQVlFUjogdHlwZSA9PT0gJ3dtcycgPyB1bmRlZmluZWQgOiBsYXllck5hbWVcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBpZiAoYWN0aW9uID09PSAnYWRkJykge1xuICAgIGxheWVyU2VydmljZS5jcmVhdGVBc3luY0xheWVyKHNvKS5zdWJzY3JpYmUoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoIWxheWVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG1hcC5sYXllcnNBZGRlZEJ5Q2xpY2skLm5leHQoW2xheWVyXSk7XG4gICAgICBtYXAubGF5ZXJDb250cm9sbGVyLmFkZChsYXllcik7XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoYWN0aW9uID09PSAncmVtb3ZlJykge1xuICAgIGNvbnN0IGFkZGVkTGF5ZXJJZCA9IGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhzby5zb3VyY2VPcHRpb25zKTtcbiAgICBtYXAubGF5ZXJDb250cm9sbGVyLnJlbW92ZShcbiAgICAgIG1hcC5sYXllckNvbnRyb2xsZXIuYWxsLmZpbmQoKGwpID0+IGwuaWQgPT09IGFkZGVkTGF5ZXJJZClcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHZW9TZXJ2aWNlQWN0aW9uKFxuICB3b3Jrc3BhY2U6IEZlYXR1cmVXb3Jrc3BhY2UgfCBXZnNXb3Jrc3BhY2UsXG4gIGxheWVyU2VydmljZTogTGF5ZXJTZXJ2aWNlXG4pIHtcbiAgY29uc3QgZ2VvU2VydmljZUFjdGlvbiA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnZ2VvU2VydmljZUFjdGlvbicsXG4gICAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgICAgdG9vbHRpcDogJycsXG4gICAgICByZW5kZXJlcjogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlci5CdXR0b25Hcm91cCxcbiAgICAgIHZhbHVlQWNjZXNzb3I6IChlbnRpdHk6IEZlYXR1cmUsIHJlY29yZDogRW50aXR5UmVjb3JkPEZlYXR1cmU+KSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb1NlcnZpY2VQcm9wZXJ0aWVzID0gcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2U7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcyAmJlxuICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmhhdmVHZW9TZXJ2aWNlUHJvcGVydGllcyAmJlxuICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLnVybCAmJlxuICAgICAgICAgIGdlb1NlcnZpY2VQcm9wZXJ0aWVzLmxheWVyTmFtZVxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoZ2VvU2VydmljZVByb3BlcnRpZXMuYWRkZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpY29uOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3dhcm4nLFxuICAgICAgICAgICAgICAgIGNsaWNrOiAocm93LCByZWNvcmQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGFkZE9yUmVtb3ZlTGF5ZXIoXG4gICAgICAgICAgICAgICAgICAgICdyZW1vdmUnLFxuICAgICAgICAgICAgICAgICAgICB3b3Jrc3BhY2UubWFwLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc3RhdGUuZ2VvU2VydmljZS51cmwsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLmxheWVyTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgbGF5ZXJTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgZ2VvU2VydmljZVByb3BlcnRpZXMuYWRkZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgRW50aXR5VGFibGVCdXR0b25bXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGljb246ICdhZGQnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgY2xpY2s6IChyb3csIHJlY29yZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgYWRkT3JSZW1vdmVMYXllcihcbiAgICAgICAgICAgICAgICAgICAgJ2FkZCcsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZS5tYXAsXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5zdGF0ZS5nZW9TZXJ2aWNlLnVybCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnN0YXRlLmdlb1NlcnZpY2UubGF5ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICBsYXllclNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBnZW9TZXJ2aWNlUHJvcGVydGllcy5hZGRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdIGFzIEVudGl0eVRhYmxlQnV0dG9uW107XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXTtcbiAgcmV0dXJuIGdlb1NlcnZpY2VBY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUYWJsZVRlbXBsYXRlKFxuICB3b3Jrc3BhY2U6IEZlYXR1cmVXb3Jrc3BhY2UgfCBXZnNXb3Jrc3BhY2UsXG4gIGxheWVyOiBWZWN0b3JMYXllcixcbiAgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXG4gIHdzJFxuKSB7XG4gIGNvbnN0IGdlb1NlcnZpY2VBY3Rpb24gPSBnZXRHZW9TZXJ2aWNlQWN0aW9uKHdvcmtzcGFjZSwgbGF5ZXJTZXJ2aWNlKTtcbiAgY29uc3QgZmllbGRzID0gbGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXTtcblxuICBjb25zdCByZWxhdGlvbnMgPSBsYXllci5kYXRhU291cmNlLm9wdGlvbnMucmVsYXRpb25zIHx8IFtdO1xuXG4gIGlmIChmaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgd29ya3NwYWNlLmVudGl0eVN0b3JlLmVudGl0aWVzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZSgodmFsKSA9PiB2YWwubGVuZ3RoID09PSAwKSxcbiAgICAgICAgdGFrZSgxKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZW50aXRpZXMpID0+IHtcbiAgICAgICAgY29uc3Qgb2wgPSAoZW50aXRpZXNbMF0gYXMgRmVhdHVyZSkub2wgYXMgb2xGZWF0dXJlPE9sR2VvbWV0cnk+O1xuICAgICAgICBjb25zdCBjb2x1bW5zRnJvbUZlYXR1cmVzID0gb2xcbiAgICAgICAgICAuZ2V0S2V5cygpXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIChjb2wpID0+XG4gICAgICAgICAgICAgICFjb2wuc3RhcnRzV2l0aCgnXycpICYmXG4gICAgICAgICAgICAgIGNvbCAhPT0gJ2dlb21ldHJ5JyAmJlxuICAgICAgICAgICAgICBjb2wgIT09IG9sLmdldEdlb21ldHJ5TmFtZSgpICYmXG4gICAgICAgICAgICAgICFjb2wubWF0Y2goL2JvdW5kZWRieS9naSlcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBuYW1lOiBgcHJvcGVydGllcy4ke2tleX1gLFxuICAgICAgICAgICAgICB0aXRsZToga2V5LFxuICAgICAgICAgICAgICByZW5kZXJlcjogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlci5VbnNhbml0aXplZEhUTUxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgIGNvbHVtbnNGcm9tRmVhdHVyZXMudW5zaGlmdCguLi5nZW9TZXJ2aWNlQWN0aW9uKTtcbiAgICAgICAgd29ya3NwYWNlLm1ldGEudGFibGVUZW1wbGF0ZSA9IHtcbiAgICAgICAgICBzZWxlY3Rpb246IHRydWUsXG4gICAgICAgICAgc29ydDogdHJ1ZSxcbiAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zRnJvbUZlYXR1cmVzLFxuICAgICAgICAgIHRhYmxlSGVpZ2h0OiAnMTAwJSdcbiAgICAgICAgfSBhcyBFbnRpdHlUYWJsZVRlbXBsYXRlO1xuICAgICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGNvbHVtbnMgPSBmaWVsZHMubWFwKChmaWVsZDogU291cmNlRmllbGRzT3B0aW9uc1BhcmFtcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBgcHJvcGVydGllcy4ke2ZpZWxkLm5hbWV9YCxcbiAgICAgIHRpdGxlOiBmaWVsZC5hbGlhcyA/IGZpZWxkLmFsaWFzIDogZmllbGQubmFtZSxcbiAgICAgIHJlbmRlcmVyOiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLlVuc2FuaXRpemVkSFRNTCxcbiAgICAgIHRvb2x0aXA6IGZpZWxkLnRvb2x0aXAsXG4gICAgICB2aXNpYmxlOiBmaWVsZC52aXNpYmxlLFxuICAgICAgY2VsbENsYXNzRnVuYzogKCkgPT4ge1xuICAgICAgICBjb25zdCBjZWxsQ2xhc3MgPSB7fTtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjZWxsQ2xhc3NbYGNsYXNzXyR7ZmllbGQudHlwZX1gXSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGNlbGxDbGFzcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gYXMgRW50aXR5VGFibGVDb2x1bW47XG4gIH0pO1xuXG4gIGNvbnN0IHJlbGF0aW9uc0NvbHVtbiA9IHJlbGF0aW9ucy5tYXAoKHJlbGF0aW9uOiBSZWxhdGlvbk9wdGlvbnMpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYHByb3BlcnRpZXMuJHtyZWxhdGlvbi5uYW1lfWAsXG4gICAgICB0aXRsZTogcmVsYXRpb24uYWxpYXMgPyByZWxhdGlvbi5hbGlhcyA6IHJlbGF0aW9uLm5hbWUsXG4gICAgICByZW5kZXJlcjogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlci5JY29uLFxuICAgICAgaWNvbjogcmVsYXRpb24uaWNvbixcbiAgICAgIHBhcmVudDogcmVsYXRpb24ucGFyZW50LFxuICAgICAgdHlwZTogJ3JlbGF0aW9uJyxcbiAgICAgIHRvb2x0aXA6IHJlbGF0aW9uLnRvb2x0aXAsXG4gICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgIHdzJC5uZXh0KHJlbGF0aW9uLnRpdGxlKTtcbiAgICAgIH0sXG4gICAgICBjZWxsQ2xhc3NGdW5jOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGNsYXNzX2ljb246IHRydWUgfTtcbiAgICAgIH1cbiAgICB9O1xuICB9KTtcblxuICBjb2x1bW5zLnB1c2goLi4ucmVsYXRpb25zQ29sdW1uKTtcbiAgY29sdW1ucy51bnNoaWZ0KC4uLmdlb1NlcnZpY2VBY3Rpb24pO1xuICB3b3Jrc3BhY2UubWV0YS50YWJsZVRlbXBsYXRlID0ge1xuICAgIHNlbGVjdGlvbjogdHJ1ZSxcbiAgICBzb3J0OiB0cnVlLFxuICAgIGNvbHVtbnMsXG4gICAgdGFibGVIZWlnaHQ6ICcxMDAlJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmlsdGVySW5NYXBFeHRlbnRPclJlc29sdXRpb25TdHJhdGVneSgpOiBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSB7XG4gIGNvbnN0IGZpbHRlckNsYXVzZUZ1bmMgPSAocmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICByZWNvcmQuc3RhdGUuaW5NYXBFeHRlbnQgPT09IHRydWUgJiYgcmVjb3JkLnN0YXRlLmluTWFwUmVzb2x1dGlvbiA9PT0gdHJ1ZVxuICAgICk7XG4gIH07XG4gIHJldHVybiBuZXcgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3koe1xuICAgIGZpbHRlckNsYXVzZUZ1bmNcbiAgfSBhcyBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMpO1xufVxuIl19
|
|
@@ -30,10 +30,10 @@ export class OgcFilterComponent {
|
|
|
30
30
|
onClose() {
|
|
31
31
|
this.cancel.emit();
|
|
32
32
|
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OgcFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: OgcFilterComponent, isStandalone: true, selector: "igo-ogc-filter", inputs: { layer: "layer", map: "map" }, outputs: { complete: "complete", cancel: "cancel" }, ngImport: i0, template: "<igo-ogc-filterable-item\n igoListItem\n [layer]=\"layer\"\n [header]=\"false\"\n [map]=\"map\"\n>\n</igo-ogc-filterable-item>\n", styles: [""], dependencies: [{ kind: "component", type: OgcFilterableItemComponent, selector: "igo-ogc-filterable-item", inputs: ["layer", "map", "header"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OgcFilterComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'igo-ogc-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [OgcFilterableItemComponent], template: "<igo-ogc-filterable-item\n igoListItem\n [layer]=\"layer\"\n [header]=\"false\"\n [map]=\"map\"\n>\n</igo-ogc-filterable-item>\n" }]
|
|
39
39
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { layer: [{
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated import the OgcFilterComponent directly
|
|
6
6
|
*/
|
|
7
7
|
export class IgoOgcFilterModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoOgcFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IgoOgcFilterModule, imports: [OgcFilterComponent], exports: [OgcFilterComponent] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoOgcFilterModule, imports: [OgcFilterComponent] });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoOgcFilterModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [OgcFilterComponent],
|
|
@@ -149,10 +149,10 @@ export class WorkspaceSelectorDirective {
|
|
|
149
149
|
}
|
|
150
150
|
return false;
|
|
151
151
|
}
|
|
152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
153
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkspaceSelectorDirective, deps: [{ token: i1.WorkspaceSelectorComponent }, { token: i2.WfsWorkspaceService }, { token: i3.WmsWorkspaceService }, { token: i4.EditionWorkspaceService }, { token: i5.FeatureWorkspaceService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
153
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: WorkspaceSelectorDirective, isStandalone: true, selector: "[igoWorkspaceSelector]", inputs: { map: "map" }, outputs: { changeWorkspace: "changeWorkspace", disableSwitch: "disableSwitch", relationLayers: "relationLayers", rowsInMapExtentCheckCondition: "rowsInMapExtentCheckCondition" }, ngImport: i0 });
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkspaceSelectorDirective, decorators: [{
|
|
156
156
|
type: Directive,
|
|
157
157
|
args: [{
|
|
158
158
|
selector: '[igoWorkspaceSelector]',
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated import the WorkspaceSelectorDirective directly
|
|
6
6
|
*/
|
|
7
7
|
export class IgoWorkspaceSelectorModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceSelectorModule, imports: [WorkspaceSelectorDirective], exports: [WorkspaceSelectorDirective] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceSelectorModule });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceSelectorModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [WorkspaceSelectorDirective],
|
|
@@ -120,10 +120,10 @@ export class WorkspaceUpdatorDirective {
|
|
|
120
120
|
}
|
|
121
121
|
return false;
|
|
122
122
|
}
|
|
123
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
124
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkspaceUpdatorDirective, deps: [{ token: i1.WfsWorkspaceService }, { token: i2.WmsWorkspaceService }, { token: i3.EditionWorkspaceService }, { token: i4.FeatureWorkspaceService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
124
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: WorkspaceUpdatorDirective, isStandalone: true, selector: "[igoWorkspaceUpdator]", inputs: { map: "map", workspaceStore: "workspaceStore" }, ngImport: i0 });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkspaceUpdatorDirective, decorators: [{
|
|
127
127
|
type: Directive,
|
|
128
128
|
args: [{
|
|
129
129
|
selector: '[igoWorkspaceUpdator]',
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* @deprecated import the WorkspaceUpdatorDirective directly
|
|
6
6
|
*/
|
|
7
7
|
export class IgoWorkspaceUpdatorModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceUpdatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceUpdatorModule, imports: [WorkspaceUpdatorDirective], exports: [WorkspaceUpdatorDirective] });
|
|
10
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceUpdatorModule });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoWorkspaceUpdatorModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [WorkspaceUpdatorDirective],
|
|
@@ -6,17 +6,17 @@ import { provideOgcFilterWidget } from './widgets/widgets';
|
|
|
6
6
|
import { IgoWorkspaceSelectorModule } from './workspace-selector/workspace-selector.module';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class IgoGeoWorkspaceModule {
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
10
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoGeoWorkspaceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: IgoGeoWorkspaceModule, imports: [IgoWidgetModule,
|
|
11
11
|
IgoOgcFilterModule,
|
|
12
12
|
IgoWorkspaceSelectorModule,
|
|
13
13
|
MatDialogModule], exports: [IgoOgcFilterModule] });
|
|
14
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoGeoWorkspaceModule, providers: [provideOgcFilterWidget()], imports: [IgoWidgetModule,
|
|
15
15
|
IgoOgcFilterModule,
|
|
16
16
|
IgoWorkspaceSelectorModule,
|
|
17
17
|
MatDialogModule, IgoOgcFilterModule] });
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IgoGeoWorkspaceModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [
|