@geoit/ui 0.0.7 → 0.0.8

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.
@@ -568,7 +568,7 @@ export class GeoMapShellComponent {
568
568
  this.managedLayers.set(next);
569
569
  }
570
570
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
571
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapShellComponent, isStandalone: true, selector: "geo-map-shell", inputs: { center: { classPropertyName: "center", publicName: "center", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: "zoom", publicName: "zoom", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, showMousePosition: { classPropertyName: "showMousePosition", publicName: "showMousePosition", isSignal: true, isRequired: false, transformFunction: null }, basemapOptions: { classPropertyName: "basemapOptions", publicName: "basemapOptions", isSignal: true, isRequired: false, transformFunction: null }, toolbarActions: { classPropertyName: "toolbarActions", publicName: "toolbarActions", isSignal: true, isRequired: false, transformFunction: null }, layers: { classPropertyName: "layers", publicName: "layers", isSignal: true, isRequired: false, transformFunction: null }, legendItems: { classPropertyName: "legendItems", publicName: "legendItems", isSignal: true, isRequired: false, transformFunction: null }, showNav: { classPropertyName: "showNav", publicName: "showNav", isSignal: true, isRequired: false, transformFunction: null }, includeDemoLayers: { classPropertyName: "includeDemoLayers", publicName: "includeDemoLayers", isSignal: true, isRequired: false, transformFunction: null }, adminNodes: { classPropertyName: "adminNodes", publicName: "adminNodes", isSignal: true, isRequired: false, transformFunction: null }, adminSelectionMode: { classPropertyName: "adminSelectionMode", publicName: "adminSelectionMode", isSignal: true, isRequired: false, transformFunction: null }, locationLabel: { classPropertyName: "locationLabel", publicName: "locationLabel", isSignal: true, isRequired: false, transformFunction: null }, measureDisclaimer: { classPropertyName: "measureDisclaimer", publicName: "measureDisclaimer", isSignal: true, isRequired: false, transformFunction: null }, legendCatalogMissing: { classPropertyName: "legendCatalogMissing", publicName: "legendCatalogMissing", isSignal: true, isRequired: false, transformFunction: null }, parcelAudience: { classPropertyName: "parcelAudience", publicName: "parcelAudience", isSignal: true, isRequired: false, transformFunction: null }, provinceExtent: { classPropertyName: "provinceExtent", publicName: "provinceExtent", isSignal: true, isRequired: false, transformFunction: null }, demoSearch: { classPropertyName: "demoSearch", publicName: "demoSearch", isSignal: true, isRequired: false, transformFunction: null }, homeMode: { classPropertyName: "homeMode", publicName: "homeMode", isSignal: true, isRequired: false, transformFunction: null }, basemapId: { classPropertyName: "basemapId", publicName: "basemapId", isSignal: true, isRequired: false, transformFunction: null }, measureMode: { classPropertyName: "measureMode", publicName: "measureMode", isSignal: true, isRequired: false, transformFunction: null }, checkedMap: { classPropertyName: "checkedMap", publicName: "checkedMap", isSignal: true, isRequired: false, transformFunction: null }, layersOpen: { classPropertyName: "layersOpen", publicName: "layersOpen", isSignal: true, isRequired: false, transformFunction: null }, legendOpen: { classPropertyName: "legendOpen", publicName: "legendOpen", isSignal: true, isRequired: false, transformFunction: null }, helpOpen: { classPropertyName: "helpOpen", publicName: "helpOpen", isSignal: true, isRequired: false, transformFunction: null }, swipeActive: { classPropertyName: "swipeActive", publicName: "swipeActive", isSignal: true, isRequired: false, transformFunction: null }, searchOpen: { classPropertyName: "searchOpen", publicName: "searchOpen", isSignal: true, isRequired: false, transformFunction: null }, adminFilterOpen: { classPropertyName: "adminFilterOpen", publicName: "adminFilterOpen", isSignal: true, isRequired: false, transformFunction: null }, parcelOpen: { classPropertyName: "parcelOpen", publicName: "parcelOpen", isSignal: true, isRequired: false, transformFunction: null }, managedLayers: { classPropertyName: "managedLayers", publicName: "managedLayers", isSignal: true, isRequired: false, transformFunction: null }, searchResults: { classPropertyName: "searchResults", publicName: "searchResults", isSignal: true, isRequired: false, transformFunction: null }, selectedParcel: { classPropertyName: "selectedParcel", publicName: "selectedParcel", isSignal: true, isRequired: false, transformFunction: null }, adminCheckedKeys: { classPropertyName: "adminCheckedKeys", publicName: "adminCheckedKeys", isSignal: true, isRequired: false, transformFunction: null }, adminExpandedKeys: { classPropertyName: "adminExpandedKeys", publicName: "adminExpandedKeys", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { basemapId: "basemapIdChange", measureMode: "measureModeChange", checkedMap: "checkedMapChange", layersOpen: "layersOpenChange", legendOpen: "legendOpenChange", helpOpen: "helpOpenChange", swipeActive: "swipeActiveChange", searchOpen: "searchOpenChange", adminFilterOpen: "adminFilterOpenChange", parcelOpen: "parcelOpenChange", managedLayers: "managedLayersChange", searchResults: "searchResultsChange", selectedParcel: "selectedParcelChange", adminCheckedKeys: "adminCheckedKeysChange", adminExpandedKeys: "adminExpandedKeysChange", mapReady: "mapReady", mapClick: "mapClick", located: "located", locateDenied: "locateDenied", locateError: "locateError", actionClick: "actionClick", search: "search", searchReset: "searchReset", resultSelect: "resultSelect", parcelExport: "parcelExport", adminApply: "adminApply", snapshotCaptured: "snapshotCaptured", snapshotError: "snapshotError" }, host: { properties: { "style.height": "height()" }, classAttribute: "geo-map-shell-host" }, viewQueries: [{ propertyName: "snapshotRef", first: true, predicate: GeoMapSnapshotComponent, descendants: true, isSignal: true }, { propertyName: "zoomRef", first: true, predicate: GeoMapZoomComponent, descendants: true, isSignal: true }, { propertyName: "locateRef", first: true, predicate: GeoMapLocateComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"geo-map-shell\">\n <geo-map\n class=\"geo-map-shell__map\"\n [center]=\"center()\"\n [zoom]=\"zoom()\"\n [height]=\"'100%'\"\n [basemap]=\"basemap()\"\n [layers]=\"resolvedLayers()\"\n [showMousePosition]=\"showMousePosition()\"\n [showZoomControl]=\"false\"\n (mapReady)=\"onMapReady($event)\"\n (mapClick)=\"onMapClick($event)\"\n />\n\n <div class=\"geo-map-shell__chrome-left\">\n <geo-map-toolbar\n class=\"geo-map-shell__toolbar\"\n [controller]=\"controller()\"\n [actions]=\"resolvedToolbarActions()\"\n [(checkedMap)]=\"checkedMap\"\n (actionClick)=\"onToolbarAction($event)\"\n (actionToggle)=\"onToolbarToggle($event)\"\n />\n\n <div class=\"geo-map-shell__panels\">\n <geo-map-search\n [(open)]=\"searchOpen\"\n [results]=\"searchResults()\"\n (search)=\"onSearch($event)\"\n (reset)=\"onSearchReset()\"\n (resultSelect)=\"onResultSelect($event)\"\n />\n <geo-map-admin-filter\n [(open)]=\"adminFilterOpen\"\n title=\"Chuy\u1EC3n v\u1ECB tr\u00ED\"\n [nodes]=\"adminNodes()\"\n [selectionMode]=\"adminSelectionMode()\"\n [(checkedKeys)]=\"adminCheckedKeys\"\n [(expandedKeys)]=\"adminExpandedKeys\"\n (apply)=\"onAdminApply($event)\"\n (reset)=\"adminCheckedKeys.set([])\"\n (fitProvince)=\"onFitProvince()\"\n (closed)=\"onAdminClosed()\"\n />\n <geo-map-parcel-popup\n [(open)]=\"parcelOpen\"\n [parcel]=\"selectedParcel()\"\n [audience]=\"parcelAudience()\"\n (exportClick)=\"parcelExport.emit($event)\"\n (back)=\"onParcelBack()\"\n (closed)=\"onParcelClosed()\"\n />\n <geo-map-layers-drawer\n [controller]=\"controller()\"\n [(open)]=\"layersOpen\"\n [(layers)]=\"managedLayers\"\n />\n <geo-map-legend\n [(open)]=\"legendOpen\"\n [items]=\"legendItems()\"\n [catalogMissing]=\"legendCatalogMissing()\"\n />\n </div>\n </div>\n\n <!-- Headless bridges: zoom/fullscreen + snapshot + locate (driven by toolbar actions). -->\n <geo-map-zoom\n class=\"geo-map-shell__zoom-bridge\"\n [controller]=\"controller()\"\n [showNav]=\"showNav()\"\n [provinceExtent]=\"provinceExtent()\"\n />\n <geo-map-snapshot\n class=\"geo-map-shell__snapshot-bridge\"\n [controller]=\"controller()\"\n (captured)=\"snapshotCaptured.emit()\"\n (captureError)=\"snapshotError.emit($event)\"\n />\n <geo-map-locate\n class=\"geo-map-shell__locate-bridge\"\n [controller]=\"controller()\"\n (located)=\"located.emit($event)\"\n (denied)=\"locateDenied.emit()\"\n (locateError)=\"locateError.emit($event)\"\n />\n\n <div class=\"geo-map-shell__top-right\">\n <ng-content select=\"[geoMapShellTopRight]\" />\n </div>\n\n <div class=\"geo-map-shell__bottom-right\">\n <geo-map-basemap-switcher\n [options]=\"basemapOptions()\"\n [(selectedId)]=\"basemapId\"\n (basemapChange)=\"onBasemapChange($event)\"\n />\n </div>\n\n <div class=\"geo-map-shell__status\">\n @if (locationLabel()) {\n <geo-map-location-chip [label]=\"locationLabel()\" />\n }\n <geo-map-measure\n [controller]=\"controller()\"\n [(mode)]=\"measureMode\"\n />\n @if (measureMode() !== 'none' && measureDisclaimer()) {\n <p class=\"geo-map-shell__measure-disclaimer\" role=\"note\">\n {{ measureDisclaimer() }}\n </p>\n }\n </div>\n\n <geo-map-swipe\n [controller]=\"controller()\"\n [(active)]=\"swipeActive\"\n />\n\n <geo-map-help [(open)]=\"helpOpen\" />\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-shell-host{display:block;min-height:360px}.geo-map-shell{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen,.geo-map-shell:-webkit-full-screen{width:100%;height:100%;min-height:100%;border:0;border-radius:0;background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen>.cdk-overlay-container,.geo-map-shell:-webkit-full-screen>.cdk-overlay-container{z-index:1200}.geo-map-shell__map{display:block;width:100%;height:100%}.geo-map-shell__chrome-left{position:absolute;top:16px;left:16px;z-index:6;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 32px);max-height:calc(100% - 172px);overflow:visible;pointer-events:none}.geo-map-shell__chrome-left>*{pointer-events:auto}.geo-map-shell__toolbar{flex-shrink:0}.geo-map-shell__panels{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:min(420px,100%);min-height:0;overflow:visible;pointer-events:none}.geo-map-shell__panels>*{pointer-events:auto}.geo-map-shell__panels .geo-map-search,.geo-map-shell__panels .geo-map-admin-filter,.geo-map-shell__panels .geo-map-parcel-popup,.geo-map-shell__panels .geo-map-layers-drawer,.geo-map-shell__panels .geo-map-legend{max-height:min(640px,100dvh - 100px);overflow:auto}.geo-map-shell__snapshot-bridge,.geo-map-shell__zoom-bridge,.geo-map-shell__locate-bridge{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}.geo-map-shell__bottom-left{position:absolute;left:16px;bottom:72px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(300px,100% - 120px);pointer-events:none}.geo-map-shell__bottom-left>*{pointer-events:auto}.geo-map-shell__top-right{position:absolute;top:16px;right:16px;z-index:7;display:flex;align-items:center;justify-content:flex-end;height:64px;max-width:min(360px,100% - 32px);pointer-events:none}.geo-map-shell__top-right>*{pointer-events:auto}.geo-map-shell__bottom-right{position:absolute;right:16px;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.geo-map-shell__bottom-right>*{pointer-events:auto}.geo-map-shell__status{position:absolute;left:50%;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(480px,100% - 32px);transform:translate(-50%);pointer-events:none}.geo-map-shell__status>*{pointer-events:auto}.geo-map-shell__measure-disclaimer{margin:0;padding:6px 12px;border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-border-default);font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-700);text-align:center}.geo-map-shell .geo-map__mouse-position,.geo-map-shell .ol-scale-line{display:none!important}.geo-map-shell .ol-attribution{display:none}\n"], dependencies: [{ kind: "component", type: GeoMapComponent, selector: "geo-map", inputs: ["center", "zoom", "minZoom", "maxZoom", "viewProjection", "basemap", "layers", "height", "registerProjections", "projections", "showMousePosition", "mousePositionProjection", "showZoomControl"], outputs: ["mapReady", "mapClick", "viewChange", "initError"] }, { kind: "component", type: GeoMapToolbarComponent, selector: "geo-map-toolbar", inputs: ["controller", "actions", "compact", "checkedMap"], outputs: ["checkedMapChange", "actionClick", "actionToggle"] }, { kind: "component", type: GeoMapZoomComponent, selector: "geo-map-zoom", inputs: ["controller", "showNav", "showFitProvince", "provinceExtent", "fullscreenTarget"] }, { kind: "component", type: GeoMapSnapshotComponent, selector: "geo-map-snapshot", inputs: ["controller", "label", "filename"], outputs: ["captured", "captureError"] }, { kind: "component", type: GeoMapMeasureComponent, selector: "geo-map-measure", inputs: ["controller", "mode", "showResult"], outputs: ["modeChange", "measureChange"] }, { kind: "component", type: GeoMapLayersDrawerComponent, selector: "geo-map-layers-drawer", inputs: ["controller", "open", "title", "legendItems", "showOpacity", "showLegend", "layers"], outputs: ["openChange", "layersChange", "closed"] }, { kind: "component", type: GeoMapLegendComponent, selector: "geo-map-legend", inputs: ["title", "items", "catalogMissing", "open"], outputs: ["openChange", "closed"] }, { kind: "component", type: GeoMapHelpComponent, selector: "geo-map-help", inputs: ["open", "title", "sections"], outputs: ["openChange"] }, { kind: "component", type: GeoMapSwipeComponent, selector: "geo-map-swipe", inputs: ["controller", "active", "position", "layerId"], outputs: ["activeChange", "positionChange"] }, { kind: "component", type: GeoMapSearchComponent, selector: "geo-map-search", inputs: ["open", "title", "mode", "results", "loading", "pageIndex", "pageSize", "total", "emptyText"], outputs: ["openChange", "modeChange", "pageIndexChange", "pageSizeChange", "search", "reset", "resultSelect", "closed"] }, { kind: "component", type: GeoMapAdminFilterComponent, selector: "geo-map-admin-filter", inputs: ["open", "title", "nodes", "selectionMode", "checkedKeys", "expandedKeys"], outputs: ["openChange", "checkedKeysChange", "expandedKeysChange", "apply", "reset", "fitProvince", "closed", "selectionChange"] }, { kind: "component", type: GeoMapParcelPopupComponent, selector: "geo-map-parcel-popup", inputs: ["open", "title", "parcel", "audience", "showExport"], outputs: ["openChange", "closed", "back", "exportClick", "diagramClick"] }, { kind: "component", type: GeoMapLocationChipComponent, selector: "geo-map-location-chip", inputs: ["label", "icon"] }, { kind: "component", type: GeoMapBasemapSwitcherComponent, selector: "geo-map-basemap-switcher", inputs: ["options", "selectedId", "label", "tooltip"], outputs: ["selectedIdChange", "basemapChange"] }, { kind: "component", type: GeoMapLocateComponent, selector: "geo-map-locate", inputs: ["controller", "label"], outputs: ["located", "denied", "locateError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
571
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapShellComponent, isStandalone: true, selector: "geo-map-shell", inputs: { center: { classPropertyName: "center", publicName: "center", isSignal: true, isRequired: false, transformFunction: null }, zoom: { classPropertyName: "zoom", publicName: "zoom", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, showMousePosition: { classPropertyName: "showMousePosition", publicName: "showMousePosition", isSignal: true, isRequired: false, transformFunction: null }, basemapOptions: { classPropertyName: "basemapOptions", publicName: "basemapOptions", isSignal: true, isRequired: false, transformFunction: null }, toolbarActions: { classPropertyName: "toolbarActions", publicName: "toolbarActions", isSignal: true, isRequired: false, transformFunction: null }, layers: { classPropertyName: "layers", publicName: "layers", isSignal: true, isRequired: false, transformFunction: null }, legendItems: { classPropertyName: "legendItems", publicName: "legendItems", isSignal: true, isRequired: false, transformFunction: null }, showNav: { classPropertyName: "showNav", publicName: "showNav", isSignal: true, isRequired: false, transformFunction: null }, includeDemoLayers: { classPropertyName: "includeDemoLayers", publicName: "includeDemoLayers", isSignal: true, isRequired: false, transformFunction: null }, adminNodes: { classPropertyName: "adminNodes", publicName: "adminNodes", isSignal: true, isRequired: false, transformFunction: null }, adminSelectionMode: { classPropertyName: "adminSelectionMode", publicName: "adminSelectionMode", isSignal: true, isRequired: false, transformFunction: null }, locationLabel: { classPropertyName: "locationLabel", publicName: "locationLabel", isSignal: true, isRequired: false, transformFunction: null }, measureDisclaimer: { classPropertyName: "measureDisclaimer", publicName: "measureDisclaimer", isSignal: true, isRequired: false, transformFunction: null }, legendCatalogMissing: { classPropertyName: "legendCatalogMissing", publicName: "legendCatalogMissing", isSignal: true, isRequired: false, transformFunction: null }, parcelAudience: { classPropertyName: "parcelAudience", publicName: "parcelAudience", isSignal: true, isRequired: false, transformFunction: null }, provinceExtent: { classPropertyName: "provinceExtent", publicName: "provinceExtent", isSignal: true, isRequired: false, transformFunction: null }, demoSearch: { classPropertyName: "demoSearch", publicName: "demoSearch", isSignal: true, isRequired: false, transformFunction: null }, homeMode: { classPropertyName: "homeMode", publicName: "homeMode", isSignal: true, isRequired: false, transformFunction: null }, basemapId: { classPropertyName: "basemapId", publicName: "basemapId", isSignal: true, isRequired: false, transformFunction: null }, measureMode: { classPropertyName: "measureMode", publicName: "measureMode", isSignal: true, isRequired: false, transformFunction: null }, checkedMap: { classPropertyName: "checkedMap", publicName: "checkedMap", isSignal: true, isRequired: false, transformFunction: null }, layersOpen: { classPropertyName: "layersOpen", publicName: "layersOpen", isSignal: true, isRequired: false, transformFunction: null }, legendOpen: { classPropertyName: "legendOpen", publicName: "legendOpen", isSignal: true, isRequired: false, transformFunction: null }, helpOpen: { classPropertyName: "helpOpen", publicName: "helpOpen", isSignal: true, isRequired: false, transformFunction: null }, swipeActive: { classPropertyName: "swipeActive", publicName: "swipeActive", isSignal: true, isRequired: false, transformFunction: null }, searchOpen: { classPropertyName: "searchOpen", publicName: "searchOpen", isSignal: true, isRequired: false, transformFunction: null }, adminFilterOpen: { classPropertyName: "adminFilterOpen", publicName: "adminFilterOpen", isSignal: true, isRequired: false, transformFunction: null }, parcelOpen: { classPropertyName: "parcelOpen", publicName: "parcelOpen", isSignal: true, isRequired: false, transformFunction: null }, managedLayers: { classPropertyName: "managedLayers", publicName: "managedLayers", isSignal: true, isRequired: false, transformFunction: null }, searchResults: { classPropertyName: "searchResults", publicName: "searchResults", isSignal: true, isRequired: false, transformFunction: null }, selectedParcel: { classPropertyName: "selectedParcel", publicName: "selectedParcel", isSignal: true, isRequired: false, transformFunction: null }, adminCheckedKeys: { classPropertyName: "adminCheckedKeys", publicName: "adminCheckedKeys", isSignal: true, isRequired: false, transformFunction: null }, adminExpandedKeys: { classPropertyName: "adminExpandedKeys", publicName: "adminExpandedKeys", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { basemapId: "basemapIdChange", measureMode: "measureModeChange", checkedMap: "checkedMapChange", layersOpen: "layersOpenChange", legendOpen: "legendOpenChange", helpOpen: "helpOpenChange", swipeActive: "swipeActiveChange", searchOpen: "searchOpenChange", adminFilterOpen: "adminFilterOpenChange", parcelOpen: "parcelOpenChange", managedLayers: "managedLayersChange", searchResults: "searchResultsChange", selectedParcel: "selectedParcelChange", adminCheckedKeys: "adminCheckedKeysChange", adminExpandedKeys: "adminExpandedKeysChange", mapReady: "mapReady", mapClick: "mapClick", located: "located", locateDenied: "locateDenied", locateError: "locateError", actionClick: "actionClick", search: "search", searchReset: "searchReset", resultSelect: "resultSelect", parcelExport: "parcelExport", adminApply: "adminApply", snapshotCaptured: "snapshotCaptured", snapshotError: "snapshotError" }, host: { properties: { "style.height": "height()" }, classAttribute: "geo-map-shell-host" }, viewQueries: [{ propertyName: "snapshotRef", first: true, predicate: GeoMapSnapshotComponent, descendants: true, isSignal: true }, { propertyName: "zoomRef", first: true, predicate: GeoMapZoomComponent, descendants: true, isSignal: true }, { propertyName: "locateRef", first: true, predicate: GeoMapLocateComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"geo-map-shell\">\n <geo-map\n class=\"geo-map-shell__map\"\n [center]=\"center()\"\n [zoom]=\"zoom()\"\n [height]=\"'100%'\"\n [basemap]=\"basemap()\"\n [layers]=\"resolvedLayers()\"\n [showMousePosition]=\"showMousePosition()\"\n [showZoomControl]=\"false\"\n (mapReady)=\"onMapReady($event)\"\n (mapClick)=\"onMapClick($event)\"\n />\n\n <div class=\"geo-map-shell__chrome-left\">\n <geo-map-toolbar\n class=\"geo-map-shell__toolbar\"\n [controller]=\"controller()\"\n [actions]=\"resolvedToolbarActions()\"\n [(checkedMap)]=\"checkedMap\"\n (actionClick)=\"onToolbarAction($event)\"\n (actionToggle)=\"onToolbarToggle($event)\"\n />\n\n <div class=\"geo-map-shell__panels\">\n <geo-map-search\n [(open)]=\"searchOpen\"\n [results]=\"searchResults()\"\n (search)=\"onSearch($event)\"\n (reset)=\"onSearchReset()\"\n (resultSelect)=\"onResultSelect($event)\"\n />\n <geo-map-admin-filter\n [(open)]=\"adminFilterOpen\"\n title=\"Chuy\u1EC3n v\u1ECB tr\u00ED\"\n [nodes]=\"adminNodes()\"\n [selectionMode]=\"adminSelectionMode()\"\n [(checkedKeys)]=\"adminCheckedKeys\"\n [(expandedKeys)]=\"adminExpandedKeys\"\n (apply)=\"onAdminApply($event)\"\n (reset)=\"adminCheckedKeys.set([])\"\n (fitProvince)=\"onFitProvince()\"\n (closed)=\"onAdminClosed()\"\n />\n <geo-map-parcel-popup\n [(open)]=\"parcelOpen\"\n [parcel]=\"selectedParcel()\"\n [audience]=\"parcelAudience()\"\n (exportClick)=\"parcelExport.emit($event)\"\n (back)=\"onParcelBack()\"\n (closed)=\"onParcelClosed()\"\n />\n <geo-map-layers-drawer\n [controller]=\"controller()\"\n [(open)]=\"layersOpen\"\n [(layers)]=\"managedLayers\"\n />\n <geo-map-legend\n [(open)]=\"legendOpen\"\n [items]=\"legendItems()\"\n [catalogMissing]=\"legendCatalogMissing()\"\n />\n </div>\n </div>\n\n <!-- Headless bridges: zoom/fullscreen + snapshot + locate (driven by toolbar actions). -->\n <geo-map-zoom\n class=\"geo-map-shell__zoom-bridge\"\n [controller]=\"controller()\"\n [showNav]=\"showNav()\"\n [provinceExtent]=\"provinceExtent()\"\n />\n <geo-map-snapshot\n class=\"geo-map-shell__snapshot-bridge\"\n [controller]=\"controller()\"\n (captured)=\"snapshotCaptured.emit()\"\n (captureError)=\"snapshotError.emit($event)\"\n />\n <geo-map-locate\n class=\"geo-map-shell__locate-bridge\"\n [controller]=\"controller()\"\n (located)=\"located.emit($event)\"\n (denied)=\"locateDenied.emit()\"\n (locateError)=\"locateError.emit($event)\"\n />\n\n <div class=\"geo-map-shell__top-right\">\n <ng-content select=\"[geoMapShellTopRight]\" />\n </div>\n\n <div class=\"geo-map-shell__bottom-right\">\n <geo-map-basemap-switcher\n [options]=\"basemapOptions()\"\n [(selectedId)]=\"basemapId\"\n (basemapChange)=\"onBasemapChange($event)\"\n />\n </div>\n\n <div class=\"geo-map-shell__status\">\n @if (locationLabel()) {\n <geo-map-location-chip [label]=\"locationLabel()\" />\n }\n <geo-map-measure\n [controller]=\"controller()\"\n [(mode)]=\"measureMode\"\n />\n @if (measureMode() !== 'none' && measureDisclaimer()) {\n <p class=\"geo-map-shell__measure-disclaimer\" role=\"note\">\n {{ measureDisclaimer() }}\n </p>\n }\n </div>\n\n <geo-map-swipe\n [controller]=\"controller()\"\n [(active)]=\"swipeActive\"\n />\n\n <geo-map-help [(open)]=\"helpOpen\" />\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-shell-host{display:block;min-height:360px}.geo-map-shell{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen,.geo-map-shell:-webkit-full-screen{width:100%;height:100%;min-height:100%;border:0;border-radius:0;background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen>.cdk-overlay-container,.geo-map-shell:-webkit-full-screen>.cdk-overlay-container{z-index:1200}.geo-map-shell__map{display:block;width:100%;height:100%}.geo-map-shell__chrome-left{position:absolute;top:16px;left:16px;z-index:6;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 32px);max-height:calc(100% - 172px);overflow:visible;pointer-events:none}.geo-map-shell__chrome-left>*{pointer-events:auto}.geo-map-shell__toolbar{flex-shrink:0}.geo-map-shell__panels{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:min(420px,100%);min-height:0;overflow:visible;pointer-events:none}.geo-map-shell__panels>*{pointer-events:auto}.geo-map-shell__panels .geo-map-search,.geo-map-shell__panels .geo-map-admin-filter,.geo-map-shell__panels .geo-map-parcel-popup,.geo-map-shell__panels .geo-map-layers-drawer,.geo-map-shell__panels .geo-map-legend{max-height:min(640px,100dvh - 100px);overflow:auto}.geo-map-shell__snapshot-bridge,.geo-map-shell__zoom-bridge,.geo-map-shell__locate-bridge{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}.geo-map-shell__bottom-left{position:absolute;left:16px;bottom:72px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(300px,100% - 120px);pointer-events:none}.geo-map-shell__bottom-left>*{pointer-events:auto}.geo-map-shell__top-right{position:absolute;top:16px;right:16px;z-index:7;display:flex;align-items:center;justify-content:flex-end;height:48px;max-width:min(360px,100% - 32px);pointer-events:none}.geo-map-shell__top-right>*{pointer-events:auto}.geo-map-shell__bottom-right{position:absolute;right:16px;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.geo-map-shell__bottom-right>*{pointer-events:auto}.geo-map-shell__status{position:absolute;left:50%;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(480px,100% - 32px);transform:translate(-50%);pointer-events:none}.geo-map-shell__status>*{pointer-events:auto}.geo-map-shell__measure-disclaimer{margin:0;padding:6px 12px;border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-border-default);font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-700);text-align:center}.geo-map-shell .geo-map__mouse-position,.geo-map-shell .ol-scale-line{display:none!important}.geo-map-shell .ol-attribution{display:none}\n"], dependencies: [{ kind: "component", type: GeoMapComponent, selector: "geo-map", inputs: ["center", "zoom", "minZoom", "maxZoom", "viewProjection", "basemap", "layers", "height", "registerProjections", "projections", "showMousePosition", "mousePositionProjection", "showZoomControl"], outputs: ["mapReady", "mapClick", "viewChange", "initError"] }, { kind: "component", type: GeoMapToolbarComponent, selector: "geo-map-toolbar", inputs: ["controller", "actions", "compact", "checkedMap"], outputs: ["checkedMapChange", "actionClick", "actionToggle"] }, { kind: "component", type: GeoMapZoomComponent, selector: "geo-map-zoom", inputs: ["controller", "showNav", "showFitProvince", "provinceExtent", "fullscreenTarget"] }, { kind: "component", type: GeoMapSnapshotComponent, selector: "geo-map-snapshot", inputs: ["controller", "label", "filename"], outputs: ["captured", "captureError"] }, { kind: "component", type: GeoMapMeasureComponent, selector: "geo-map-measure", inputs: ["controller", "mode", "showResult"], outputs: ["modeChange", "measureChange"] }, { kind: "component", type: GeoMapLayersDrawerComponent, selector: "geo-map-layers-drawer", inputs: ["controller", "open", "title", "legendItems", "showOpacity", "showLegend", "layers"], outputs: ["openChange", "layersChange", "closed"] }, { kind: "component", type: GeoMapLegendComponent, selector: "geo-map-legend", inputs: ["title", "items", "catalogMissing", "open"], outputs: ["openChange", "closed"] }, { kind: "component", type: GeoMapHelpComponent, selector: "geo-map-help", inputs: ["open", "title", "sections"], outputs: ["openChange"] }, { kind: "component", type: GeoMapSwipeComponent, selector: "geo-map-swipe", inputs: ["controller", "active", "position", "layerId"], outputs: ["activeChange", "positionChange"] }, { kind: "component", type: GeoMapSearchComponent, selector: "geo-map-search", inputs: ["open", "title", "mode", "results", "loading", "pageIndex", "pageSize", "total", "emptyText"], outputs: ["openChange", "modeChange", "pageIndexChange", "pageSizeChange", "search", "reset", "resultSelect", "closed"] }, { kind: "component", type: GeoMapAdminFilterComponent, selector: "geo-map-admin-filter", inputs: ["open", "title", "nodes", "selectionMode", "checkedKeys", "expandedKeys"], outputs: ["openChange", "checkedKeysChange", "expandedKeysChange", "apply", "reset", "fitProvince", "closed", "selectionChange"] }, { kind: "component", type: GeoMapParcelPopupComponent, selector: "geo-map-parcel-popup", inputs: ["open", "title", "parcel", "audience", "showExport"], outputs: ["openChange", "closed", "back", "exportClick", "diagramClick"] }, { kind: "component", type: GeoMapLocationChipComponent, selector: "geo-map-location-chip", inputs: ["label", "icon"] }, { kind: "component", type: GeoMapBasemapSwitcherComponent, selector: "geo-map-basemap-switcher", inputs: ["options", "selectedId", "label", "tooltip"], outputs: ["selectedIdChange", "basemapChange"] }, { kind: "component", type: GeoMapLocateComponent, selector: "geo-map-locate", inputs: ["controller", "label"], outputs: ["located", "denied", "locateError"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
572
572
  }
573
573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapShellComponent, decorators: [{
574
574
  type: Component,
@@ -591,6 +591,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
591
591
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
592
592
  class: 'geo-map-shell-host',
593
593
  '[style.height]': 'height()',
594
- }, template: "<div class=\"geo-map-shell\">\n <geo-map\n class=\"geo-map-shell__map\"\n [center]=\"center()\"\n [zoom]=\"zoom()\"\n [height]=\"'100%'\"\n [basemap]=\"basemap()\"\n [layers]=\"resolvedLayers()\"\n [showMousePosition]=\"showMousePosition()\"\n [showZoomControl]=\"false\"\n (mapReady)=\"onMapReady($event)\"\n (mapClick)=\"onMapClick($event)\"\n />\n\n <div class=\"geo-map-shell__chrome-left\">\n <geo-map-toolbar\n class=\"geo-map-shell__toolbar\"\n [controller]=\"controller()\"\n [actions]=\"resolvedToolbarActions()\"\n [(checkedMap)]=\"checkedMap\"\n (actionClick)=\"onToolbarAction($event)\"\n (actionToggle)=\"onToolbarToggle($event)\"\n />\n\n <div class=\"geo-map-shell__panels\">\n <geo-map-search\n [(open)]=\"searchOpen\"\n [results]=\"searchResults()\"\n (search)=\"onSearch($event)\"\n (reset)=\"onSearchReset()\"\n (resultSelect)=\"onResultSelect($event)\"\n />\n <geo-map-admin-filter\n [(open)]=\"adminFilterOpen\"\n title=\"Chuy\u1EC3n v\u1ECB tr\u00ED\"\n [nodes]=\"adminNodes()\"\n [selectionMode]=\"adminSelectionMode()\"\n [(checkedKeys)]=\"adminCheckedKeys\"\n [(expandedKeys)]=\"adminExpandedKeys\"\n (apply)=\"onAdminApply($event)\"\n (reset)=\"adminCheckedKeys.set([])\"\n (fitProvince)=\"onFitProvince()\"\n (closed)=\"onAdminClosed()\"\n />\n <geo-map-parcel-popup\n [(open)]=\"parcelOpen\"\n [parcel]=\"selectedParcel()\"\n [audience]=\"parcelAudience()\"\n (exportClick)=\"parcelExport.emit($event)\"\n (back)=\"onParcelBack()\"\n (closed)=\"onParcelClosed()\"\n />\n <geo-map-layers-drawer\n [controller]=\"controller()\"\n [(open)]=\"layersOpen\"\n [(layers)]=\"managedLayers\"\n />\n <geo-map-legend\n [(open)]=\"legendOpen\"\n [items]=\"legendItems()\"\n [catalogMissing]=\"legendCatalogMissing()\"\n />\n </div>\n </div>\n\n <!-- Headless bridges: zoom/fullscreen + snapshot + locate (driven by toolbar actions). -->\n <geo-map-zoom\n class=\"geo-map-shell__zoom-bridge\"\n [controller]=\"controller()\"\n [showNav]=\"showNav()\"\n [provinceExtent]=\"provinceExtent()\"\n />\n <geo-map-snapshot\n class=\"geo-map-shell__snapshot-bridge\"\n [controller]=\"controller()\"\n (captured)=\"snapshotCaptured.emit()\"\n (captureError)=\"snapshotError.emit($event)\"\n />\n <geo-map-locate\n class=\"geo-map-shell__locate-bridge\"\n [controller]=\"controller()\"\n (located)=\"located.emit($event)\"\n (denied)=\"locateDenied.emit()\"\n (locateError)=\"locateError.emit($event)\"\n />\n\n <div class=\"geo-map-shell__top-right\">\n <ng-content select=\"[geoMapShellTopRight]\" />\n </div>\n\n <div class=\"geo-map-shell__bottom-right\">\n <geo-map-basemap-switcher\n [options]=\"basemapOptions()\"\n [(selectedId)]=\"basemapId\"\n (basemapChange)=\"onBasemapChange($event)\"\n />\n </div>\n\n <div class=\"geo-map-shell__status\">\n @if (locationLabel()) {\n <geo-map-location-chip [label]=\"locationLabel()\" />\n }\n <geo-map-measure\n [controller]=\"controller()\"\n [(mode)]=\"measureMode\"\n />\n @if (measureMode() !== 'none' && measureDisclaimer()) {\n <p class=\"geo-map-shell__measure-disclaimer\" role=\"note\">\n {{ measureDisclaimer() }}\n </p>\n }\n </div>\n\n <geo-map-swipe\n [controller]=\"controller()\"\n [(active)]=\"swipeActive\"\n />\n\n <geo-map-help [(open)]=\"helpOpen\" />\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-shell-host{display:block;min-height:360px}.geo-map-shell{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen,.geo-map-shell:-webkit-full-screen{width:100%;height:100%;min-height:100%;border:0;border-radius:0;background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen>.cdk-overlay-container,.geo-map-shell:-webkit-full-screen>.cdk-overlay-container{z-index:1200}.geo-map-shell__map{display:block;width:100%;height:100%}.geo-map-shell__chrome-left{position:absolute;top:16px;left:16px;z-index:6;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 32px);max-height:calc(100% - 172px);overflow:visible;pointer-events:none}.geo-map-shell__chrome-left>*{pointer-events:auto}.geo-map-shell__toolbar{flex-shrink:0}.geo-map-shell__panels{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:min(420px,100%);min-height:0;overflow:visible;pointer-events:none}.geo-map-shell__panels>*{pointer-events:auto}.geo-map-shell__panels .geo-map-search,.geo-map-shell__panels .geo-map-admin-filter,.geo-map-shell__panels .geo-map-parcel-popup,.geo-map-shell__panels .geo-map-layers-drawer,.geo-map-shell__panels .geo-map-legend{max-height:min(640px,100dvh - 100px);overflow:auto}.geo-map-shell__snapshot-bridge,.geo-map-shell__zoom-bridge,.geo-map-shell__locate-bridge{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}.geo-map-shell__bottom-left{position:absolute;left:16px;bottom:72px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(300px,100% - 120px);pointer-events:none}.geo-map-shell__bottom-left>*{pointer-events:auto}.geo-map-shell__top-right{position:absolute;top:16px;right:16px;z-index:7;display:flex;align-items:center;justify-content:flex-end;height:64px;max-width:min(360px,100% - 32px);pointer-events:none}.geo-map-shell__top-right>*{pointer-events:auto}.geo-map-shell__bottom-right{position:absolute;right:16px;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.geo-map-shell__bottom-right>*{pointer-events:auto}.geo-map-shell__status{position:absolute;left:50%;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(480px,100% - 32px);transform:translate(-50%);pointer-events:none}.geo-map-shell__status>*{pointer-events:auto}.geo-map-shell__measure-disclaimer{margin:0;padding:6px 12px;border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-border-default);font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-700);text-align:center}.geo-map-shell .geo-map__mouse-position,.geo-map-shell .ol-scale-line{display:none!important}.geo-map-shell .ol-attribution{display:none}\n"] }]
594
+ }, template: "<div class=\"geo-map-shell\">\n <geo-map\n class=\"geo-map-shell__map\"\n [center]=\"center()\"\n [zoom]=\"zoom()\"\n [height]=\"'100%'\"\n [basemap]=\"basemap()\"\n [layers]=\"resolvedLayers()\"\n [showMousePosition]=\"showMousePosition()\"\n [showZoomControl]=\"false\"\n (mapReady)=\"onMapReady($event)\"\n (mapClick)=\"onMapClick($event)\"\n />\n\n <div class=\"geo-map-shell__chrome-left\">\n <geo-map-toolbar\n class=\"geo-map-shell__toolbar\"\n [controller]=\"controller()\"\n [actions]=\"resolvedToolbarActions()\"\n [(checkedMap)]=\"checkedMap\"\n (actionClick)=\"onToolbarAction($event)\"\n (actionToggle)=\"onToolbarToggle($event)\"\n />\n\n <div class=\"geo-map-shell__panels\">\n <geo-map-search\n [(open)]=\"searchOpen\"\n [results]=\"searchResults()\"\n (search)=\"onSearch($event)\"\n (reset)=\"onSearchReset()\"\n (resultSelect)=\"onResultSelect($event)\"\n />\n <geo-map-admin-filter\n [(open)]=\"adminFilterOpen\"\n title=\"Chuy\u1EC3n v\u1ECB tr\u00ED\"\n [nodes]=\"adminNodes()\"\n [selectionMode]=\"adminSelectionMode()\"\n [(checkedKeys)]=\"adminCheckedKeys\"\n [(expandedKeys)]=\"adminExpandedKeys\"\n (apply)=\"onAdminApply($event)\"\n (reset)=\"adminCheckedKeys.set([])\"\n (fitProvince)=\"onFitProvince()\"\n (closed)=\"onAdminClosed()\"\n />\n <geo-map-parcel-popup\n [(open)]=\"parcelOpen\"\n [parcel]=\"selectedParcel()\"\n [audience]=\"parcelAudience()\"\n (exportClick)=\"parcelExport.emit($event)\"\n (back)=\"onParcelBack()\"\n (closed)=\"onParcelClosed()\"\n />\n <geo-map-layers-drawer\n [controller]=\"controller()\"\n [(open)]=\"layersOpen\"\n [(layers)]=\"managedLayers\"\n />\n <geo-map-legend\n [(open)]=\"legendOpen\"\n [items]=\"legendItems()\"\n [catalogMissing]=\"legendCatalogMissing()\"\n />\n </div>\n </div>\n\n <!-- Headless bridges: zoom/fullscreen + snapshot + locate (driven by toolbar actions). -->\n <geo-map-zoom\n class=\"geo-map-shell__zoom-bridge\"\n [controller]=\"controller()\"\n [showNav]=\"showNav()\"\n [provinceExtent]=\"provinceExtent()\"\n />\n <geo-map-snapshot\n class=\"geo-map-shell__snapshot-bridge\"\n [controller]=\"controller()\"\n (captured)=\"snapshotCaptured.emit()\"\n (captureError)=\"snapshotError.emit($event)\"\n />\n <geo-map-locate\n class=\"geo-map-shell__locate-bridge\"\n [controller]=\"controller()\"\n (located)=\"located.emit($event)\"\n (denied)=\"locateDenied.emit()\"\n (locateError)=\"locateError.emit($event)\"\n />\n\n <div class=\"geo-map-shell__top-right\">\n <ng-content select=\"[geoMapShellTopRight]\" />\n </div>\n\n <div class=\"geo-map-shell__bottom-right\">\n <geo-map-basemap-switcher\n [options]=\"basemapOptions()\"\n [(selectedId)]=\"basemapId\"\n (basemapChange)=\"onBasemapChange($event)\"\n />\n </div>\n\n <div class=\"geo-map-shell__status\">\n @if (locationLabel()) {\n <geo-map-location-chip [label]=\"locationLabel()\" />\n }\n <geo-map-measure\n [controller]=\"controller()\"\n [(mode)]=\"measureMode\"\n />\n @if (measureMode() !== 'none' && measureDisclaimer()) {\n <p class=\"geo-map-shell__measure-disclaimer\" role=\"note\">\n {{ measureDisclaimer() }}\n </p>\n }\n </div>\n\n <geo-map-swipe\n [controller]=\"controller()\"\n [(active)]=\"swipeActive\"\n />\n\n <geo-map-help [(open)]=\"helpOpen\" />\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-shell-host{display:block;min-height:360px}.geo-map-shell{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen,.geo-map-shell:-webkit-full-screen{width:100%;height:100%;min-height:100%;border:0;border-radius:0;background:var(--geo-color-neutral-100)}.geo-map-shell:fullscreen>.cdk-overlay-container,.geo-map-shell:-webkit-full-screen>.cdk-overlay-container{z-index:1200}.geo-map-shell__map{display:block;width:100%;height:100%}.geo-map-shell__chrome-left{position:absolute;top:16px;left:16px;z-index:6;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 32px);max-height:calc(100% - 172px);overflow:visible;pointer-events:none}.geo-map-shell__chrome-left>*{pointer-events:auto}.geo-map-shell__toolbar{flex-shrink:0}.geo-map-shell__panels{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:min(420px,100%);min-height:0;overflow:visible;pointer-events:none}.geo-map-shell__panels>*{pointer-events:auto}.geo-map-shell__panels .geo-map-search,.geo-map-shell__panels .geo-map-admin-filter,.geo-map-shell__panels .geo-map-parcel-popup,.geo-map-shell__panels .geo-map-layers-drawer,.geo-map-shell__panels .geo-map-legend{max-height:min(640px,100dvh - 100px);overflow:auto}.geo-map-shell__snapshot-bridge,.geo-map-shell__zoom-bridge,.geo-map-shell__locate-bridge{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;opacity:0}.geo-map-shell__bottom-left{position:absolute;left:16px;bottom:72px;z-index:5;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:min(300px,100% - 120px);pointer-events:none}.geo-map-shell__bottom-left>*{pointer-events:auto}.geo-map-shell__top-right{position:absolute;top:16px;right:16px;z-index:7;display:flex;align-items:center;justify-content:flex-end;height:48px;max-width:min(360px,100% - 32px);pointer-events:none}.geo-map-shell__top-right>*{pointer-events:auto}.geo-map-shell__bottom-right{position:absolute;right:16px;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.geo-map-shell__bottom-right>*{pointer-events:auto}.geo-map-shell__status{position:absolute;left:50%;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(480px,100% - 32px);transform:translate(-50%);pointer-events:none}.geo-map-shell__status>*{pointer-events:auto}.geo-map-shell__measure-disclaimer{margin:0;padding:6px 12px;border-radius:var(--geo-radius);background:var(--geo-color-neutral-white);border:1px solid var(--geo-color-border-default);font-size:var(--geo-font-size-caption);color:var(--geo-color-neutral-700);text-align:center}.geo-map-shell .geo-map__mouse-position,.geo-map-shell .ol-scale-line{display:none!important}.geo-map-shell .ol-attribution{display:none}\n"] }]
595
595
  }], ctorParameters: () => [] });
596
596
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1zaGVsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tbWFwL2Nocm9tZS9nZW8tbWFwLXNoZWxsL2dlby1tYXAtc2hlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zaGVsbC9nZW8tbWFwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4Qix1QkFBdUIsR0FDeEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixP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QUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5QixxQkFBcUI7cUJBQ3RCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLGdCQUFnQixFQUFFLFVBQVU7cUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgR0VPX01BUF9ERUZBVUxUX0JBU0VNQVBfT1BUSU9OUyxcbiAgR0VPX01BUF9ERUZBVUxUX0NFTlRFUixcbiAgR0VPX01BUF9ERUZBVUxUX1BST1ZJTkNFX0VYVEVOVF80MzI2LFxuICBHRU9fTUFQX0RFRkFVTFRfVE9PTEJBUl9BQ1RJT05TLFxuICBHRU9fTUFQX0RFRkFVTFRfWk9PTSxcbiAgR0VPX01BUF9ERU1PX0FETUlOX05PREVTLFxuICBHRU9fTUFQX0RFTU9fTEVHRU5EX0lURU1TLFxuICBHRU9fTUFQX0RFTU9fUEFSQ0VMX0RFVEFJTCxcbiAgR0VPX01BUF9ERU1PX1RIRU1BVElDX0xBWUVSUyxcbiAgR0VPX01BUF9UUkFGRklDX0xBWUVSX0lELFxuICBHRU9fTUFQX1RSQUZGSUNfT1ZFUkxBWSxcbn0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgR2VvTWFwQWRtaW5GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tbWFwLWFkbWluLWZpbHRlci9nZW8tbWFwLWFkbWluLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwQmFzZW1hcFN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLW1hcC1iYXNlbWFwLXN3aXRjaGVyL2dlby1tYXAtYmFzZW1hcC1zd2l0Y2hlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwSGVscENvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtaGVscC9nZW8tbWFwLWhlbHAuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb01hcExheWVyc0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtbGF5ZXJzLWRyYXdlci9nZW8tbWFwLWxheWVycy1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb01hcExlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtbGVnZW5kL2dlby1tYXAtbGVnZW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9NYXBMb2NhdGVDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tbWFwLWxvY2F0ZS9nZW8tbWFwLWxvY2F0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwTG9jYXRpb25DaGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLW1hcC1sb2NhdGlvbi1jaGlwL2dlby1tYXAtbG9jYXRpb24tY2hpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwTWVhc3VyZUNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtbWVhc3VyZS9nZW8tbWFwLW1lYXN1cmUuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb01hcFBhcmNlbFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLW1hcC1wYXJjZWwtcG9wdXAvZ2VvLW1hcC1wYXJjZWwtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb01hcFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtc2VhcmNoL2dlby1tYXAtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9NYXBTbmFwc2hvdENvbXBvbmVudCB9IGZyb20gJy4uL2dlby1tYXAtc25hcHNob3QvZ2VvLW1hcC1zbmFwc2hvdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwU3dpcGVDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tbWFwLXN3aXBlL2dlby1tYXAtc3dpcGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb01hcFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tbWFwLXRvb2xiYXIvZ2VvLW1hcC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9NYXBab29tQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLW1hcC16b29tL2dlby1tYXAtem9vbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VvTWFwQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2dlby1tYXAuY29udHJvbGxlcic7XG5pbXBvcnQgdHlwZSB7IEdlb1RyZWVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vZ2VvLXRyZWUvZ2VvLXRyZWUudHlwZXMnO1xuaW1wb3J0IHR5cGUge1xuICBHZW9NYXBCYXNlbWFwLFxuICBHZW9NYXBCYXNlbWFwT3B0aW9uLFxuICBHZW9NYXBDbGlja0V2ZW50LFxuICBHZW9NYXBMYXllckNvbmZpZyxcbiAgR2VvTWFwTGVnZW5kSXRlbSxcbiAgR2VvTWFwTG9jYXRlRXJyb3JSZWFzb24sXG4gIEdlb01hcE1lYXN1cmVNb2RlLFxuICBHZW9NYXBQYXJjZWxBdWRpZW5jZSxcbiAgR2VvTWFwUGFyY2VsRGV0YWlsLFxuICBHZW9NYXBTZWFyY2hRdWVyeSxcbiAgR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSxcbiAgR2VvTWFwVG9vbGJhckFjdGlvbixcbn0gZnJvbSAnLi4vLi4vZ2VvLW1hcC50eXBlcyc7XG5cbi8qKlxuICogTWFwIHZpZXdwb3J0ICsgcG9ydGFsIGNocm9tZSAodG9vbGJhciwgbGF5ZXJzIGRyYXdlciwgbGVnZW5kLCBoZWxwLCBzd2lwZSwg4oCmKS5cbiAqXG4gKiBAc3VtbWFyeSBDb21wb3NlZCBtYXAgc2hlbGwgd2l0aCBjaHJvbWUgdG9vbHMgZm9yIFN0b3J5Ym9vayAvIHBvcnRhbC5cbiAqIEB3aGVuVG9Vc2UgUHVibGljIG1hcCBwYWdlIGNocm9tZSAoY+G7lW5nIGPDtG5nIGtoYWkpLlxuICogQGRvTm90VXNlV2hlbiBOZWVkIG9ubHkgdGhlIHJhdyBPTCBob3N0IOKAlCB1c2UgZ2VvLW1hcC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLW1hcC1zaGVsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBHZW9NYXBDb21wb25lbnQsXG4gICAgR2VvTWFwVG9vbGJhckNvbXBvbmVudCxcbiAgICBHZW9NYXBab29tQ29tcG9uZW50LFxuICAgIEdlb01hcFNuYXBzaG90Q29tcG9uZW50LFxuICAgIEdlb01hcE1lYXN1cmVDb21wb25lbnQsXG4gICAgR2VvTWFwTGF5ZXJzRHJhd2VyQ29tcG9uZW50LFxuICAgIEdlb01hcExlZ2VuZENvbXBvbmVudCxcbiAgICBHZW9NYXBIZWxwQ29tcG9uZW50LFxuICAgIEdlb01hcFN3aXBlQ29tcG9uZW50LFxuICAgIEdlb01hcFNlYXJjaENvbXBvbmVudCxcbiAgICBHZW9NYXBBZG1pbkZpbHRlckNvbXBvbmVudCxcbiAgICBHZW9NYXBQYXJjZWxQb3B1cENvbXBvbmVudCxcbiAgICBHZW9NYXBMb2NhdGlvbkNoaXBDb21wb25lbnQsXG4gICAgR2VvTWFwQmFzZW1hcFN3aXRjaGVyQ29tcG9uZW50LFxuICAgIEdlb01hcExvY2F0ZUNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1tYXAtc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW1hcC1zaGVsbC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdnZW8tbWFwLXNoZWxsLWhvc3QnLFxuICAgICdbc3R5bGUuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb01hcFNoZWxsQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNuYXBzaG90UmVmID0gdmlld0NoaWxkKEdlb01hcFNuYXBzaG90Q29tcG9uZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSB6b29tUmVmID0gdmlld0NoaWxkKEdlb01hcFpvb21Db21wb25lbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0ZVJlZiA9IHZpZXdDaGlsZChHZW9NYXBMb2NhdGVDb21wb25lbnQpO1xuXG4gIHJlYWRvbmx5IGNlbnRlciA9IGlucHV0PG51bWJlcltdPihbLi4uR0VPX01BUF9ERUZBVUxUX0NFTlRFUl0pO1xuICByZWFkb25seSB6b29tID0gaW5wdXQoR0VPX01BUF9ERUZBVUxUX1pPT00pO1xuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dCgnNTYwcHgnKTtcbiAgcmVhZG9ubHkgc2hvd01vdXNlUG9zaXRpb24gPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGJhc2VtYXBPcHRpb25zID0gaW5wdXQ8R2VvTWFwQmFzZW1hcE9wdGlvbltdPihcbiAgICBHRU9fTUFQX0RFRkFVTFRfQkFTRU1BUF9PUFRJT05TLFxuICApO1xuICByZWFkb25seSB0b29sYmFyQWN0aW9ucyA9IGlucHV0PEdlb01hcFRvb2xiYXJBY3Rpb25bXT4oXG4gICAgR0VPX01BUF9ERUZBVUxUX1RPT0xCQVJfQUNUSU9OUyxcbiAgKTtcbiAgLyoqIEV4dHJhIG92ZXJsYXlzIG1lcmdlZCBhZnRlciBkZW1vIHRoZW1hdGljICsgdHJhZmZpYy4gKi9cbiAgcmVhZG9ubHkgbGF5ZXJzID0gaW5wdXQ8R2VvTWFwTGF5ZXJDb25maWdbXT4oW10pO1xuICByZWFkb25seSBsZWdlbmRJdGVtcyA9IGlucHV0PEdlb01hcExlZ2VuZEl0ZW1bXT4oR0VPX01BUF9ERU1PX0xFR0VORF9JVEVNUyk7XG4gIHJlYWRvbmx5IHNob3dOYXYgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgaW5jbHVkZURlbW9MYXllcnMgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgYWRtaW5Ob2RlcyA9IGlucHV0PEdlb1RyZWVOb2RlW10+KEdFT19NQVBfREVNT19BRE1JTl9OT0RFUyk7XG4gIC8qKiBgc2luZ2xlYCDigJQgY2jhu41uIMSRw7puZyAxIHjDoy9waMaw4budbmcgKEJSLTA2LTAzKTsgYG11bHRpYCDigJQgY2hlY2tib3ggbmhp4buBdSBj4bqlcCAobeG6t2MgxJHhu4tuaCkuICovXG4gIHJlYWRvbmx5IGFkbWluU2VsZWN0aW9uTW9kZSA9IGlucHV0PCdzaW5nbGUnIHwgJ211bHRpJz4oJ211bHRpJyk7XG4gIHJlYWRvbmx5IGxvY2F0aW9uTGFiZWwgPSBpbnB1dCgnUGjGsOG7nW5nIDEg4oCUIFRQIMSQw6AgTOG6oXQsIEzDom0gxJDhu5NuZycpO1xuICAvKipcbiAgICogR2hpIGNow7ogcGjDoXAgbMO9IGhp4buDbiB0aOG7iyBraGkgxJFhbmcgxJFvIChCUi0xMC0wMykuIGBudWxsYCDhuqluIGdoaSBjaMO6IOKAlFxuICAgKiBt4bq3YyDEkeG7i25oIGdp4buvIG5ndXnDqm4gY8OidSBjaOG7ryDEkcOjIGTDuW5nIOG7nyBgcWgtbWFwLXNoZWxsYC5cbiAgICovXG4gIHJlYWRvbmx5IG1lYXN1cmVEaXNjbGFpbWVyID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4oXG4gICAgJ0dpw6EgdHLhu4sgdGhhbSBraOG6o28gdHLDqm4gYuG6o24gxJHhu5MsIGtow7RuZyBjw7MgZ2nDoSB0cuG7iyBwaMOhcCBsw70uIERp4buHbiB0w61jaCBwaMOhcCBsw70gY+G7p2EgdGjhu61hIMSR4bqldCBs4bqleSB0aGVvIGjhu5Mgc8ahIMSR4buLYSBjaMOtbmguJyxcbiAgKTtcbiAgLyoqIFRydWUga2hpIGRhbmggbeG7pWMgY2jDuiBnaeG6o2kga2jDtG5nIHThuqNpIMSRxrDhu6NjIChgRVJSX01BUF9MRUdFTkRfQ0FUQUxPR19NSVNTSU5HYCkuICovXG4gIHJlYWRvbmx5IGxlZ2VuZENhdGFsb2dNaXNzaW5nID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBwYXJjZWxBdWRpZW5jZSA9IGlucHV0PEdlb01hcFBhcmNlbEF1ZGllbmNlPignY2l0aXplbicpO1xuICByZWFkb25seSBwcm92aW5jZUV4dGVudCA9IGlucHV0PHJlYWRvbmx5IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdPihcbiAgICBHRU9fTUFQX0RFRkFVTFRfUFJPVklOQ0VfRVhURU5UXzQzMjYsXG4gICk7XG4gIC8qKiBXaGVuIHRydWUsIHNoZWxsIHNlZWRzIG1vY2sgc2VhcmNoIHJlc3VsdHMgKFN0b3J5Ym9vayAvIGRlbW9zKS4gKi9cbiAgcmVhZG9ubHkgZGVtb1NlYXJjaCA9IGlucHV0KHRydWUpO1xuICAvKipcbiAgICogYGxvY2F0aW9uYCDigJQgSG9tZSBvcGVucyDEkFZIQyBmaWx0ZXIgKGRlZmF1bHQpLlxuICAgKiBgZW1pdGAg4oCUIEhvbWUgb25seSBlbWl0cyBgYWN0aW9uQ2xpY2tgIChlLmcuIHBvcnRhbCBuYXZpZ2F0ZXMgdG8gbG9naW4vZGFzaGJvYXJkKS5cbiAgICovXG4gIHJlYWRvbmx5IGhvbWVNb2RlID0gaW5wdXQ8J2xvY2F0aW9uJyB8ICdlbWl0Jz4oJ2xvY2F0aW9uJyk7XG5cbiAgcmVhZG9ubHkgYmFzZW1hcElkID0gbW9kZWwoJ29zbScpO1xuICByZWFkb25seSBtZWFzdXJlTW9kZSA9IG1vZGVsPEdlb01hcE1lYXN1cmVNb2RlPignbm9uZScpO1xuICByZWFkb25seSBjaGVja2VkTWFwID0gbW9kZWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHsgdHJhZmZpYzogZmFsc2UgfSk7XG4gIHJlYWRvbmx5IGxheWVyc09wZW4gPSBtb2RlbChmYWxzZSk7XG4gIHJlYWRvbmx5IGxlZ2VuZE9wZW4gPSBtb2RlbChmYWxzZSk7XG4gIHJlYWRvbmx5IGhlbHBPcGVuID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSBzd2lwZUFjdGl2ZSA9IG1vZGVsKGZhbHNlKTtcbiAgcmVhZG9ubHkgc2VhcmNoT3BlbiA9IG1vZGVsKGZhbHNlKTtcbiAgcmVhZG9ubHkgYWRtaW5GaWx0ZXJPcGVuID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSBwYXJjZWxPcGVuID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSBtYW5hZ2VkTGF5ZXJzID0gbW9kZWw8R2VvTWFwTGF5ZXJDb25maWdbXT4oW10pO1xuICByZWFkb25seSBzZWFyY2hSZXN1bHRzID0gbW9kZWw8R2VvTWFwU2VhcmNoUmVzdWx0SXRlbVtdPihbXSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUGFyY2VsID0gbW9kZWw8R2VvTWFwUGFyY2VsRGV0YWlsIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFkbWluQ2hlY2tlZEtleXMgPSBtb2RlbDxBcnJheTxzdHJpbmcgfCBudW1iZXI+PihbXSk7XG4gIHJlYWRvbmx5IGFkbWluRXhwYW5kZWRLZXlzID0gbW9kZWw8QXJyYXk8c3RyaW5nIHwgbnVtYmVyPj4oWydsYW0tZG9uZyddKTtcblxuICByZWFkb25seSBtYXBSZWFkeSA9IG91dHB1dDxHZW9NYXBDb250cm9sbGVyPigpO1xuICByZWFkb25seSBtYXBDbGljayA9IG91dHB1dDxHZW9NYXBDbGlja0V2ZW50PigpO1xuICByZWFkb25seSBsb2NhdGVkID0gb3V0cHV0PFtudW1iZXIsIG51bWJlcl0+KCk7XG4gIHJlYWRvbmx5IGxvY2F0ZURlbmllZCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBsb2NhdGVFcnJvciA9IG91dHB1dDx7IHJlYXNvbjogR2VvTWFwTG9jYXRlRXJyb3JSZWFzb247IG1lc3NhZ2U/OiBzdHJpbmcgfT4oKTtcbiAgcmVhZG9ubHkgYWN0aW9uQ2xpY2sgPSBvdXRwdXQ8R2VvTWFwVG9vbGJhckFjdGlvbj4oKTtcbiAgcmVhZG9ubHkgc2VhcmNoID0gb3V0cHV0PEdlb01hcFNlYXJjaFF1ZXJ5PigpO1xuICByZWFkb25seSBzZWFyY2hSZXNldCA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSByZXN1bHRTZWxlY3QgPSBvdXRwdXQ8R2VvTWFwU2VhcmNoUmVzdWx0SXRlbT4oKTtcbiAgcmVhZG9ubHkgcGFyY2VsRXhwb3J0ID0gb3V0cHV0PEdlb01hcFBhcmNlbERldGFpbD4oKTtcbiAgcmVhZG9ubHkgYWRtaW5BcHBseSA9IG91dHB1dDxBcnJheTxzdHJpbmcgfCBudW1iZXI+PigpO1xuICByZWFkb25seSBzbmFwc2hvdENhcHR1cmVkID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IHNuYXBzaG90RXJyb3IgPSBvdXRwdXQ8dW5rbm93bj4oKTtcblxuICByZWFkb25seSBjb250cm9sbGVyID0gc2lnbmFsPEdlb01hcENvbnRyb2xsZXIgfCBudWxsPihudWxsKTtcbiAgLyoqIEFjdGl2ZSBtYXAgcG9pbnRlciB0b29sIChgbm9uZWAgPSBkZWZhdWx0IGFycm93IGN1cnNvcikuICovXG4gIHJlYWRvbmx5IHRvb2xNb2RlID0gc2lnbmFsPCdub25lJyB8ICdwYW4nIHwgJ2Rpc3RhbmNlJyB8ICdhcmVhJz4oJ25vbmUnKTtcbiAgLyoqIFdoZW4gdHJ1ZSwgcGFyY2VsIEJhY2sgcmV0dXJucyB0byBzZWFyY2ggcG9wb3Zlci4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwYXJjZWxGcm9tU2VhcmNoID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBwYW5DdXJzb3JCb3VuZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uUGFuUG9pbnRlckRvd24gPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMudG9vbE1vZGUoKSA9PT0gJ3BhbicpIHtcbiAgICAgIHRoaXMuc2V0TWFwQ3Vyc29yKCdncmFiYmluZycpO1xuICAgIH1cbiAgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBvblBhblBvaW50ZXJVcCA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy50b29sTW9kZSgpID09PSAncGFuJykge1xuICAgICAgdGhpcy5zZXRNYXBDdXJzb3IoJ2dyYWInKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gRW5mb3JjZSBhIHNpbmdsZSBsZWZ0IGNocm9tZSBwb3BvdmVyIChzZWFyY2ggLyDEkFZIQyAvIHBhcmNlbCAvIGxheWVycyAvIGxlZ2VuZCkuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoT3BlbigpO1xuICAgICAgY29uc3QgYWRtaW4gPSB0aGlzLmFkbWluRmlsdGVyT3BlbigpO1xuICAgICAgY29uc3QgcGFyY2VsID0gdGhpcy5wYXJjZWxPcGVuKCk7XG4gICAgICBjb25zdCBsYXllcnMgPSB0aGlzLmxheWVyc09wZW4oKTtcbiAgICAgIGNvbnN0IGxlZ2VuZCA9IHRoaXMubGVnZW5kT3BlbigpO1xuICAgICAgY29uc3Qgb3BlbkNvdW50ID1cbiAgICAgICAgTnVtYmVyKHNlYXJjaCkgK1xuICAgICAgICBOdW1iZXIoYWRtaW4pICtcbiAgICAgICAgTnVtYmVyKHBhcmNlbCkgK1xuICAgICAgICBOdW1iZXIobGF5ZXJzKSArXG4gICAgICAgIE51bWJlcihsZWdlbmQpO1xuICAgICAgaWYgKG9wZW5Db3VudCA8PSAxKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmIChwYXJjZWwpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWxzRXhjZXB0KCdwYXJjZWwnKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXllcnMpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWxzRXhjZXB0KCdsYXllcnMnKTtcbiAgICAgICAgfSBlbHNlIGlmIChsZWdlbmQpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWxzRXhjZXB0KCdsZWdlbmQnKTtcbiAgICAgICAgfSBlbHNlIGlmIChzZWFyY2gpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWxzRXhjZXB0KCdzZWFyY2gnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGFuZWxzRXhjZXB0KCdhZG1pbicpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuXG4gICAgLy8gV2hlbiBtZWFzdXJlIGZpbmlzaGVzIC8gY2FuY2VscywgcmV0dXJuIHRvIGlkbGUgKyBkZWZhdWx0IGN1cnNvci5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbW9kZSA9IHRoaXMubWVhc3VyZU1vZGUoKTtcbiAgICAgIGlmIChtb2RlICE9PSAnbm9uZScpIHtcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRvb2xNb2RlLnNldChtb2RlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvb2wgPSB0aGlzLnRvb2xNb2RlKCk7XG4gICAgICAgIGlmICh0b29sID09PSAnZGlzdGFuY2UnIHx8IHRvb2wgPT09ICdhcmVhJykge1xuICAgICAgICAgIHRoaXMudG9vbE1vZGUuc2V0KCdub25lJyk7XG4gICAgICAgICAgdGhpcy5zZXRNYXBDdXJzb3IobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHRoaXMudW5iaW5kUGFuQ3Vyc29yKCkpO1xuICB9XG5cbiAgcmVhZG9ubHkgYmFzZW1hcCA9IGNvbXB1dGVkPEdlb01hcEJhc2VtYXA+KCgpID0+IHtcbiAgICBjb25zdCBpZCA9IHRoaXMuYmFzZW1hcElkKCk7XG4gICAgY29uc3Qgb3B0aW9uID0gdGhpcy5iYXNlbWFwT3B0aW9ucygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKTtcbiAgICByZXR1cm4gb3B0aW9uPy5iYXNlbWFwID8/ICdvc20nO1xuICB9KTtcblxuICByZWFkb25seSByZXNvbHZlZFRvb2xiYXJBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1vZGUgPSB0aGlzLm1lYXN1cmVNb2RlKCk7XG4gICAgY29uc3QgdG9vbCA9IHRoaXMudG9vbE1vZGUoKTtcbiAgICBjb25zdCBzd2lwZSA9IHRoaXMuc3dpcGVBY3RpdmUoKTtcbiAgICBjb25zdCBsYXllcnNPcGVuID0gdGhpcy5sYXllcnNPcGVuKCk7XG4gICAgY29uc3QgbGVnZW5kT3BlbiA9IHRoaXMubGVnZW5kT3BlbigpO1xuICAgIGNvbnN0IHNlYXJjaE9wZW4gPSB0aGlzLnNlYXJjaE9wZW4oKTtcbiAgICBjb25zdCBhZG1pbk9wZW4gPSB0aGlzLmFkbWluRmlsdGVyT3BlbigpO1xuICAgIGNvbnN0IGZ1bGxzY3JlZW4gPSB0aGlzLnpvb21SZWYoKT8uaXNGdWxsc2NyZWVuKCkgPz8gZmFsc2U7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhckFjdGlvbnMoKS5tYXAoKGFjdGlvbikgPT4ge1xuICAgICAgaWYgKGFjdGlvbi5pZCA9PT0gJ2hvbWUnICYmIHRoaXMuaG9tZU1vZGUoKSA9PT0gJ2VtaXQnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWN0aW9uLFxuICAgICAgICAgIGxhYmVsOiAnVHJhbmcgY2jhu6cnLFxuICAgICAgICAgIHRvb2x0aXA6ICdW4buBIHRyYW5nIGNo4bunIC8gxJHEg25nIG5o4bqtcCcsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLmlkID09PSAncGFuJykge1xuICAgICAgICByZXR1cm4geyAuLi5hY3Rpb24sIGFjdGl2ZTogdG9vbCA9PT0gJ3BhbicgJiYgbW9kZSA9PT0gJ25vbmUnIH07XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLmlkID09PSAnbWVhc3VyZS1kaXN0YW5jZScpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWN0aW9uLCBhY3RpdmU6IG1vZGUgPT09ICdkaXN0YW5jZScgfTtcbiAgICAgIH1cbiAgICAgIGlmIChhY3Rpb24uaWQgPT09ICdtZWFzdXJlLWFyZWEnKSB7XG4gICAgICAgIHJldHVybiB7IC4uLmFjdGlvbiwgYWN0aXZlOiBtb2RlID09PSAnYXJlYScgfTtcbiAgICAgIH1cbiAgICAgIGlmIChhY3Rpb24uaWQgPT09ICdzd2lwZScpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWN0aW9uLCBhY3RpdmU6IHN3aXBlIH07XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLmlkID09PSAnbGF5ZXJzJykge1xuICAgICAgICByZXR1cm4geyAuLi5hY3Rpb24sIGFjdGl2ZTogbGF5ZXJzT3BlbiB9O1xuICAgICAgfVxuICAgICAgaWYgKGFjdGlvbi5pZCA9PT0gJ2xlZ2VuZCcpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uYWN0aW9uLCBhY3RpdmU6IGxlZ2VuZE9wZW4gfTtcbiAgICAgIH1cbiAgICAgIGlmIChhY3Rpb24uaWQgPT09ICdzZWFyY2gnKSB7XG4gICAgICAgIHJldHVybiB7IC4uLmFjdGlvbiwgYWN0aXZlOiBzZWFyY2hPcGVuIH07XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLmlkID09PSAnYWRtaW4tZmlsdGVyJykge1xuICAgICAgICByZXR1cm4geyAuLi5hY3Rpb24sIGFjdGl2ZTogYWRtaW5PcGVuIH07XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLmlkID09PSAnZnVsbHNjcmVlbicpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY3Rpb24sXG4gICAgICAgICAgYWN0aXZlOiBmdWxsc2NyZWVuLFxuICAgICAgICAgIGljb246IGZ1bGxzY3JlZW4gPyAnZnVsbHNjcmVlbi1leGl0JyA6ICdmdWxsc2NyZWVuJyxcbiAgICAgICAgICBpY29uU3JjOiBmdWxsc2NyZWVuID8gdW5kZWZpbmVkIDogYWN0aW9uLmljb25TcmMsXG4gICAgICAgICAgdG9vbHRpcDogZnVsbHNjcmVlbiA/ICdUaG/DoXQgdG/DoG4gbcOgbiBow6xuaCcgOiAnWGVtIHRvw6BuIGLhuqNuIMSR4buTJyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkTGF5ZXJzID0gY29tcHV0ZWQ8R2VvTWFwTGF5ZXJDb25maWdbXT4oKCkgPT4ge1xuICAgIGNvbnN0IHRyYWZmaWNPbiA9ICEhdGhpcy5jaGVja2VkTWFwKClbJ3RyYWZmaWMnXTtcbiAgICBjb25zdCB0cmFmZmljOiBHZW9NYXBMYXllckNvbmZpZyA9IHtcbiAgICAgIC4uLkdFT19NQVBfVFJBRkZJQ19PVkVSTEFZLFxuICAgICAgdmlzaWJsZTogdHJhZmZpY09uLFxuICAgIH07XG4gICAgY29uc3QgbWFuYWdlZCA9IHRoaXMubWFuYWdlZExheWVycygpO1xuICAgIGlmIChtYW5hZ2VkLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFsuLi5tYW5hZ2VkLCB0cmFmZmljXTtcbiAgICB9XG4gICAgY29uc3QgZGVtbyA9IHRoaXMuaW5jbHVkZURlbW9MYXllcnMoKSA/IEdFT19NQVBfREVNT19USEVNQVRJQ19MQVlFUlMgOiBbXTtcbiAgICByZXR1cm4gWy4uLmRlbW8sIHRyYWZmaWMsIC4uLnRoaXMubGF5ZXJzKCldO1xuICB9KTtcblxuICBvbk1hcFJlYWR5KGN0cmw6IEdlb01hcENvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIuc2V0KGN0cmwpO1xuICAgIGlmICghdGhpcy5tYW5hZ2VkTGF5ZXJzKCkubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzZWVkID0gdGhpcy5pbmNsdWRlRGVtb0xheWVycygpXG4gICAgICAgID8gR0VPX01BUF9ERU1PX1RIRU1BVElDX0xBWUVSUy5tYXAoKGxheWVyKSA9PiAoeyAuLi5sYXllciB9KSlcbiAgICAgICAgOiB0aGlzLmxheWVycygpLm1hcCgobGF5ZXIpID0+ICh7IC4uLmxheWVyIH0pKTtcbiAgICAgIHRoaXMubWFuYWdlZExheWVycy5zZXQoc2VlZCk7XG4gICAgfVxuICAgIHRoaXMuYmluZFBhbkN1cnNvcihjdHJsKTtcbiAgICBpZiAodGhpcy50b29sTW9kZSgpID09PSAncGFuJykge1xuICAgICAgdGhpcy5hcHBseVBhbkN1cnNvcigpO1xuICAgIH1cbiAgICB0aGlzLm1hcFJlYWR5LmVtaXQoY3RybCk7XG4gIH1cblxuICBvbk1hcENsaWNrKGV2ZW50OiBHZW9NYXBDbGlja0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wYXJjZWxGcm9tU2VhcmNoLnNldChmYWxzZSk7XG4gICAgdGhpcy5tYXBDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmFzZW1hcENoYW5nZShiYXNlbWFwOiBHZW9NYXBCYXNlbWFwKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyKCk/LnNldEJhc2VtYXAoYmFzZW1hcCk7XG4gIH1cblxuICBvblRvb2xiYXJBY3Rpb24oYWN0aW9uOiBHZW9NYXBUb29sYmFyQWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGFjdGlvbik7XG4gICAgc3dpdGNoIChhY3Rpb24uaWQpIHtcbiAgICAgIGNhc2UgJ2hvbWUnOlxuICAgICAgICBpZiAodGhpcy5ob21lTW9kZSgpID09PSAnbG9jYXRpb24nKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYWRtaW5GaWx0ZXJPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuYWRtaW5GaWx0ZXJPcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLnpvb21SZWYoKT8uZml0UHJvdmluY2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuUGFuZWwoJ2FkbWluJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWRtaW4tZmlsdGVyJzpcbiAgICAgICAgaWYgKHRoaXMuYWRtaW5GaWx0ZXJPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLmFkbWluRmlsdGVyT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuem9vbVJlZigpPy5maXRQcm92aW5jZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3BlblBhbmVsKCdhZG1pbicpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZml0LXByb3ZpbmNlJzpcbiAgICAgICAgdGhpcy56b29tUmVmKCk/LmZpdFByb3ZpbmNlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFuJzpcbiAgICAgICAgaWYgKHRoaXMudG9vbE1vZGUoKSA9PT0gJ3BhbicpIHtcbiAgICAgICAgICB0aGlzLmV4aXRUb29sTW9kZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZW50ZXJQYW5Nb2RlKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd6b29tLWluJzpcbiAgICAgICAgdGhpcy56b29tUmVmKCk/Lnpvb21JbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3pvb20tb3V0JzpcbiAgICAgICAgdGhpcy56b29tUmVmKCk/Lnpvb21PdXQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmdWxsc2NyZWVuJzpcbiAgICAgICAgdGhpcy56b29tUmVmKCk/LnRvZ2dsZUZ1bGxzY3JlZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWFyY2gnOlxuICAgICAgICBpZiAodGhpcy5zZWFyY2hPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLnNlYXJjaE9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5QYW5lbCgnc2VhcmNoJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsYXllcnMnOlxuICAgICAgICBpZiAodGhpcy5sYXllcnNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLmxheWVyc09wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5QYW5lbCgnbGF5ZXJzJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsZWdlbmQnOlxuICAgICAgICBpZiAodGhpcy5sZWdlbmRPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLmxlZ2VuZE9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5QYW5lbCgnbGVnZW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdoZWxwJzpcbiAgICAgICAgdGhpcy5oZWxwT3Blbi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3dpcGUnOlxuICAgICAgICB0aGlzLm1lYXN1cmVNb2RlLnNldCgnbm9uZScpO1xuICAgICAgICB0aGlzLnRvb2xNb2RlLnNldCgnbm9uZScpO1xuICAgICAgICB0aGlzLnpvb21SZWYoKT8ucmVzZXRJbnRlcmFjdGlvbk1vZGUoKTtcbiAgICAgICAgdGhpcy5zZXRNYXBDdXJzb3IobnVsbCk7XG4gICAgICAgIHRoaXMuc3dpcGVBY3RpdmUudXBkYXRlKCh2KSA9PiAhdik7XG4gICAgICAgIGlmICh0aGlzLnN3aXBlQWN0aXZlKCkpIHtcbiAgICAgICAgICB0aGlzLmVuc3VyZVN3aXBlT3ZlcmxheVZpc2libGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21lYXN1cmUtZGlzdGFuY2UnOlxuICAgICAgICB0aGlzLnN3aXBlQWN0aXZlLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuem9vbVJlZigpPy5yZXNldEludGVyYWN0aW9uTW9kZSgpO1xuICAgICAgICBpZiAodGhpcy5tZWFzdXJlTW9kZSgpID09PSAnZGlzdGFuY2UnKSB7XG4gICAgICAgICAgdGhpcy5leGl0VG9vbE1vZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRvb2xNb2RlLnNldCgnZGlzdGFuY2UnKTtcbiAgICAgICAgICB0aGlzLm1lYXN1cmVNb2RlLnNldCgnZGlzdGFuY2UnKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21lYXN1cmUtYXJlYSc6XG4gICAgICAgIHRoaXMuc3dpcGVBY3RpdmUuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy56b29tUmVmKCk/LnJlc2V0SW50ZXJhY3Rpb25Nb2RlKCk7XG4gICAgICAgIGlmICh0aGlzLm1lYXN1cmVNb2RlKCkgPT09ICdhcmVhJykge1xuICAgICAgICAgIHRoaXMuZXhpdFRvb2xNb2RlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50b29sTW9kZS5zZXQoJ2FyZWEnKTtcbiAgICAgICAgICB0aGlzLm1lYXN1cmVNb2RlLnNldCgnYXJlYScpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc25hcHNob3QnOlxuICAgICAgICB0aGlzLnNuYXBzaG90UmVmKCk/LmNhcHR1cmUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsb2NhdGUnOlxuICAgICAgICB0aGlzLmxvY2F0ZVJlZigpPy5sb2NhdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBvblRvb2xiYXJUb2dnbGUoZXZlbnQ6IHtcbiAgICBhY3Rpb246IEdlb01hcFRvb2xiYXJBY3Rpb247XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbiAgfSk6IHZvaWQge1xuICAgIGlmIChldmVudC5hY3Rpb24uaWQgPT09ICd0cmFmZmljJykge1xuICAgICAgdGhpcy5jb250cm9sbGVyKCk/LnNldExheWVyVmlzaWJpbGl0eShcbiAgICAgICAgR0VPX01BUF9UUkFGRklDX0xBWUVSX0lELFxuICAgICAgICBldmVudC5jaGVja2VkLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaChxdWVyeTogR2VvTWFwU2VhcmNoUXVlcnkpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHF1ZXJ5KTtcbiAgICBpZiAoIXRoaXMuZGVtb1NlYXJjaCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGRlbW8gPSB0aGlzLmJ1aWxkRGVtb1NlYXJjaFJlc3VsdHMocXVlcnkpO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5zZXQoZGVtbyk7XG4gICAgY29uc3QgZ2VvanNvbkNvbGxlY3Rpb24gPSB7XG4gICAgICB0eXBlOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxuICAgICAgZmVhdHVyZXM6IGRlbW9cbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5nZW9qc29uKVxuICAgICAgICAuZmlsdGVyKChpdGVtKTogaXRlbSBpcyBvYmplY3QgPT4gISFpdGVtKSxcbiAgICB9O1xuICAgIGlmIChnZW9qc29uQ29sbGVjdGlvbi5mZWF0dXJlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY29udHJvbGxlcigpPy5zZXRIaWdobGlnaHRGcm9tR2VvSnNvbihnZW9qc29uQ29sbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hSZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHMuc2V0KFtdKTtcbiAgICB0aGlzLnNlbGVjdGVkUGFyY2VsLnNldChudWxsKTtcbiAgICB0aGlzLnBhcmNlbE9wZW4uc2V0KGZhbHNlKTtcbiAgICB0aGlzLmNvbnRyb2xsZXIoKT8uY2xlYXJIaWdobGlnaHQoKTtcbiAgICB0aGlzLnNlYXJjaFJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIG9uUGFyY2VsQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMucGFyY2VsRnJvbVNlYXJjaC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuc2VsZWN0ZWRQYXJjZWwuc2V0KG51bGwpO1xuICAgIHRoaXMuY29udHJvbGxlcigpPy5jbGVhckhpZ2hsaWdodCgpO1xuICB9XG5cbiAgb25QYXJjZWxCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21TZWFyY2ggPSB0aGlzLnBhcmNlbEZyb21TZWFyY2goKTtcbiAgICB0aGlzLnBhcmNlbE9wZW4uc2V0KGZhbHNlKTtcbiAgICBpZiAoZnJvbVNlYXJjaCkge1xuICAgICAgdGhpcy5wYXJjZWxGcm9tU2VhcmNoLnNldChmYWxzZSk7XG4gICAgICB0aGlzLm9wZW5QYW5lbCgnc2VhcmNoJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRQYXJjZWwuc2V0KG51bGwpO1xuICAgIHRoaXMuY29udHJvbGxlcigpPy5jbGVhckhpZ2hsaWdodCgpO1xuICB9XG5cbiAgb25SZXN1bHRTZWxlY3QoaXRlbTogR2VvTWFwU2VhcmNoUmVzdWx0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0U2VsZWN0LmVtaXQoaXRlbSk7XG4gICAgaWYgKGl0ZW0uZ2VvanNvbikge1xuICAgICAgdGhpcy5jb250cm9sbGVyKCk/LnNldEhpZ2hsaWdodEZyb21HZW9Kc29uKGl0ZW0uZ2VvanNvbik7XG4gICAgfSBlbHNlIGlmIChpdGVtLmV4dGVudDQzMjYpIHtcbiAgICAgIHRoaXMuY29udHJvbGxlcigpPy5maXRMb25MYXRFeHRlbnQoaXRlbS5leHRlbnQ0MzI2KTtcbiAgICB9XG4gICAgaWYgKGl0ZW0ucGFyY2VsKSB7XG4gICAgICB0aGlzLnBhcmNlbEZyb21TZWFyY2guc2V0KHRydWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZFBhcmNlbC5zZXQoaXRlbS5wYXJjZWwpO1xuICAgICAgdGhpcy5vcGVuUGFuZWwoJ3BhcmNlbCcpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWRtaW5BcHBseShrZXlzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KTogdm9pZCB7XG4gICAgdGhpcy5hZG1pbkFwcGx5LmVtaXQoa2V5cyk7XG4gICAgLy8gRGVtbzogZml0IGEgc2FtcGxlIHdhcmQgYmJveCB3aGVuIGEgbGVhZiBpcyBzZWxlY3RlZC5cbiAgICBpZiAodGhpcy5kZW1vU2VhcmNoKCkgJiYga2V5cy5zb21lKChrZXkpID0+IFN0cmluZyhrZXkpLnN0YXJ0c1dpdGgoJ3hhLScpKSkge1xuICAgICAgdGhpcy5jb250cm9sbGVyKCk/LmZpdExvbkxhdEV4dGVudChbMTA4LjQyLCAxMS45MiwgMTA4LjUsIDExLjk4XSwge1xuICAgICAgICBtYXhab29tOiAxNCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uRml0UHJvdmluY2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyKCk/LmZpdFByb3ZpbmNlKHRoaXMucHJvdmluY2VFeHRlbnQoKSk7XG4gIH1cblxuICBvbkFkbWluQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuem9vbVJlZigpPy5maXRQcm92aW5jZSgpO1xuICB9XG5cbiAgLyoqIE9wZW4gb25lIGxlZnQgY2hyb21lIHBvcG92ZXI7IGNsb3NlIHRoZSBvdGhlcnMgdG8gYXZvaWQgc3RhY2tlZCBzY3JvbGwuICovXG4gIHByaXZhdGUgb3BlblBhbmVsKFxuICAgIHBhbmVsOiAnc2VhcmNoJyB8ICdhZG1pbicgfCAncGFyY2VsJyB8ICdsYXllcnMnIHwgJ2xlZ2VuZCcsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VQYW5lbHNFeGNlcHQocGFuZWwpO1xuICAgIGlmIChwYW5lbCA9PT0gJ3NlYXJjaCcpIHtcbiAgICAgIHRoaXMuc2VhcmNoT3Blbi5zZXQodHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChwYW5lbCA9PT0gJ2FkbWluJykge1xuICAgICAgdGhpcy5hZG1pbkZpbHRlck9wZW4uc2V0KHRydWUpO1xuICAgIH0gZWxzZSBpZiAocGFuZWwgPT09ICdwYXJjZWwnKSB7XG4gICAgICB0aGlzLnBhcmNlbE9wZW4uc2V0KHRydWUpO1xuICAgIH0gZWxzZSBpZiAocGFuZWwgPT09ICdsYXllcnMnKSB7XG4gICAgICB0aGlzLmxheWVyc09wZW4uc2V0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxlZ2VuZE9wZW4uc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VQYW5lbHNFeGNlcHQoXG4gICAga2VlcDogJ3NlYXJjaCcgfCAnYWRtaW4nIHwgJ3BhcmNlbCcgfCAnbGF5ZXJzJyB8ICdsZWdlbmQnLFxuICApOiB2b2lkIHtcbiAgICBpZiAoa2VlcCAhPT0gJ3NlYXJjaCcgJiYgdGhpcy5zZWFyY2hPcGVuKCkpIHtcbiAgICAgIHRoaXMuc2VhcmNoT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAoa2VlcCAhPT0gJ2FkbWluJyAmJiB0aGlzLmFkbWluRmlsdGVyT3BlbigpKSB7XG4gICAgICB0aGlzLmFkbWluRmlsdGVyT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAoa2VlcCAhPT0gJ3BhcmNlbCcgJiYgdGhpcy5wYXJjZWxPcGVuKCkpIHtcbiAgICAgIHRoaXMucGFyY2VsT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAoa2VlcCAhPT0gJ2xheWVycycgJiYgdGhpcy5sYXllcnNPcGVuKCkpIHtcbiAgICAgIHRoaXMubGF5ZXJzT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAoa2VlcCAhPT0gJ2xlZ2VuZCcgJiYgdGhpcy5sZWdlbmRPcGVuKCkpIHtcbiAgICAgIHRoaXMubGVnZW5kT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW50ZXJQYW5Nb2RlKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbE1vZGUuc2V0KCdwYW4nKTtcbiAgICB0aGlzLm1lYXN1cmVNb2RlLnNldCgnbm9uZScpO1xuICAgIHRoaXMuc3dpcGVBY3RpdmUuc2V0KGZhbHNlKTtcbiAgICB0aGlzLnpvb21SZWYoKT8ucmVzZXRJbnRlcmFjdGlvbk1vZGUoKTtcbiAgICB0aGlzLmFwcGx5UGFuQ3Vyc29yKCk7XG4gIH1cblxuICBwcml2YXRlIGV4aXRUb29sTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2xNb2RlLnNldCgnbm9uZScpO1xuICAgIHRoaXMubWVhc3VyZU1vZGUuc2V0KCdub25lJyk7XG4gICAgdGhpcy5zd2lwZUFjdGl2ZS5zZXQoZmFsc2UpO1xuICAgIHRoaXMuem9vbVJlZigpPy5yZXNldEludGVyYWN0aW9uTW9kZSgpO1xuICAgIHRoaXMuc2V0TWFwQ3Vyc29yKG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVBhbkN1cnNvcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b29sTW9kZSgpICE9PSAncGFuJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldE1hcEN1cnNvcignZ3JhYicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRNYXBDdXJzb3IoY3Vyc29yOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLmNvbnRyb2xsZXIoKT8uZ2V0TWFwKCk/LmdldFRhcmdldEVsZW1lbnQoKTtcbiAgICBpZiAoIWVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsLnN0eWxlLmN1cnNvciA9IGN1cnNvciA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgYmluZFBhbkN1cnNvcihjdHJsOiBHZW9NYXBDb250cm9sbGVyKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSBjdHJsLmdldE1hcCgpPy5nZXRUYXJnZXRFbGVtZW50KCk7XG4gICAgaWYgKCFlbCB8fCB0aGlzLnBhbkN1cnNvckJvdW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgdGhpcy5vblBhblBvaW50ZXJEb3duKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLm9uUGFuUG9pbnRlclVwKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCB0aGlzLm9uUGFuUG9pbnRlclVwKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyY2FuY2VsJywgdGhpcy5vblBhblBvaW50ZXJVcCk7XG4gICAgdGhpcy5wYW5DdXJzb3JCb3VuZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHVuYmluZFBhbkN1cnNvcigpOiB2b2lkIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udHJvbGxlcigpPy5nZXRNYXAoKT8uZ2V0VGFyZ2V0RWxlbWVudCgpO1xuICAgIGlmICghZWwgfHwgIXRoaXMucGFuQ3Vyc29yQm91bmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCB0aGlzLm9uUGFuUG9pbnRlckRvd24pO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMub25QYW5Qb2ludGVyVXApO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScsIHRoaXMub25QYW5Qb2ludGVyVXApO1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJjYW5jZWwnLCB0aGlzLm9uUGFuUG9pbnRlclVwKTtcbiAgICB0aGlzLnBhbkN1cnNvckJvdW5kID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRGVtb1NlYXJjaFJlc3VsdHMoXG4gICAgcXVlcnk6IEdlb01hcFNlYXJjaFF1ZXJ5LFxuICApOiBHZW9NYXBTZWFyY2hSZXN1bHRJdGVtW10ge1xuICAgIGNvbnN0IHBhcmNlbExheWVyID0gR0VPX01BUF9ERU1PX1RIRU1BVElDX0xBWUVSUy5maW5kKFxuICAgICAgKGxheWVyKSA9PiBsYXllci5pZCA9PT0gJ2RlbW8tcGFyY2VsJyAmJiBsYXllci50eXBlID09PSAnZ2VvanNvbicsXG4gICAgKTtcbiAgICBjb25zdCBmZWF0dXJlID1cbiAgICAgIHBhcmNlbExheWVyICYmIHBhcmNlbExheWVyLnR5cGUgPT09ICdnZW9qc29uJ1xuICAgICAgICA/IChwYXJjZWxMYXllci5kYXRhIGFzIHsgZmVhdHVyZXM/OiBvYmplY3RbXSB9KS5mZWF0dXJlcz8uWzBdXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGtleXdvcmQgPSBPYmplY3QudmFsdWVzKHF1ZXJ5LnZhbHVlcylcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKCcgJylcbiAgICAgIC50cmltKCk7XG4gICAgY29uc3QgbGFiZWwgPSBrZXl3b3JkIHx8ICdUaOG7rWEgMTIg4oCUIFThu50gNDUnO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnZGVtby1wYXJjZWwtMTInLFxuICAgICAgICB0aXRsZTogYFRo4butYSAxMiAvIFThu50gNDVgLFxuICAgICAgICBzdWJ0aXRsZTogbGFiZWwsXG4gICAgICAgIGV4dGVudDQzMjY6IFsxMDguNDUsIDExLjk0LCAxMDguNDY1LCAxMS45NTJdLFxuICAgICAgICBnZW9qc29uOiBmZWF0dXJlID8/IHtcbiAgICAgICAgICB0eXBlOiAnRmVhdHVyZScsXG4gICAgICAgICAgcHJvcGVydGllczogeyBwYXJjZWw6ICcxMicsIHNoZWV0OiAnNDUnIH0sXG4gICAgICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgICAgIHR5cGU6ICdQb2x5Z29uJyxcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBbXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBbMTA4LjQ1LCAxMS45NF0sXG4gICAgICAgICAgICAgICAgWzEwOC40NjUsIDExLjk0XSxcbiAgICAgICAgICAgICAgICBbMTA4LjQ2NSwgMTEuOTUyXSxcbiAgICAgICAgICAgICAgICBbMTA4LjQ1LCAxMS45NTJdLFxuICAgICAgICAgICAgICAgIFsxMDguNDUsIDExLjk0XSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGFyY2VsOiB7IC4uLkdFT19NQVBfREVNT19QQVJDRUxfREVUQUlMIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGVuc3VyZVN3aXBlT3ZlcmxheVZpc2libGUoKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMubWFuYWdlZExheWVycygpO1xuICAgIGlmICghbGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYW55VmlzaWJsZSA9IGxpc3Quc29tZSgobGF5ZXIpID0+IGxheWVyLnZpc2libGUgIT09IGZhbHNlKTtcbiAgICBpZiAoYW55VmlzaWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXh0ID0gbGlzdC5tYXAoKGxheWVyLCBpbmRleCkgPT5cbiAgICAgIGluZGV4ID09PSAwID8geyAuLi5sYXllciwgdmlzaWJsZTogdHJ1ZSB9IDogbGF5ZXIsXG4gICAgKTtcbiAgICB0aGlzLm1hbmFnZWRMYXllcnMuc2V0KG5leHQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zaGVsbFwiPlxuICA8Z2VvLW1hcFxuICAgIGNsYXNzPVwiZ2VvLW1hcC1zaGVsbF9fbWFwXCJcbiAgICBbY2VudGVyXT1cImNlbnRlcigpXCJcbiAgICBbem9vbV09XCJ6b29tKClcIlxuICAgIFtoZWlnaHRdPVwiJzEwMCUnXCJcbiAgICBbYmFzZW1hcF09XCJiYXNlbWFwKClcIlxuICAgIFtsYXllcnNdPVwicmVzb2x2ZWRMYXllcnMoKVwiXG4gICAgW3Nob3dNb3VzZVBvc2l0aW9uXT1cInNob3dNb3VzZVBvc2l0aW9uKClcIlxuICAgIFtzaG93Wm9vbUNvbnRyb2xdPVwiZmFsc2VcIlxuICAgIChtYXBSZWFkeSk9XCJvbk1hcFJlYWR5KCRldmVudClcIlxuICAgIChtYXBDbGljayk9XCJvbk1hcENsaWNrKCRldmVudClcIlxuICAvPlxuXG4gIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNoZWxsX19jaHJvbWUtbGVmdFwiPlxuICAgIDxnZW8tbWFwLXRvb2xiYXJcbiAgICAgIGNsYXNzPVwiZ2VvLW1hcC1zaGVsbF9fdG9vbGJhclwiXG4gICAgICBbY29udHJvbGxlcl09XCJjb250cm9sbGVyKClcIlxuICAgICAgW2FjdGlvbnNdPVwicmVzb2x2ZWRUb29sYmFyQWN0aW9ucygpXCJcbiAgICAgIFsoY2hlY2tlZE1hcCldPVwiY2hlY2tlZE1hcFwiXG4gICAgICAoYWN0aW9uQ2xpY2spPVwib25Ub29sYmFyQWN0aW9uKCRldmVudClcIlxuICAgICAgKGFjdGlvblRvZ2dsZSk9XCJvblRvb2xiYXJUb2dnbGUoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNoZWxsX19wYW5lbHNcIj5cbiAgICAgIDxnZW8tbWFwLXNlYXJjaFxuICAgICAgICBbKG9wZW4pXT1cInNlYXJjaE9wZW5cIlxuICAgICAgICBbcmVzdWx0c109XCJzZWFyY2hSZXN1bHRzKClcIlxuICAgICAgICAoc2VhcmNoKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgICAgICAocmVzZXQpPVwib25TZWFyY2hSZXNldCgpXCJcbiAgICAgICAgKHJlc3VsdFNlbGVjdCk9XCJvblJlc3VsdFNlbGVjdCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8Z2VvLW1hcC1hZG1pbi1maWx0ZXJcbiAgICAgICAgWyhvcGVuKV09XCJhZG1pbkZpbHRlck9wZW5cIlxuICAgICAgICB0aXRsZT1cIkNodXnhu4NuIHbhu4sgdHLDrVwiXG4gICAgICAgIFtub2Rlc109XCJhZG1pbk5vZGVzKClcIlxuICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCJhZG1pblNlbGVjdGlvbk1vZGUoKVwiXG4gICAgICAgIFsoY2hlY2tlZEtleXMpXT1cImFkbWluQ2hlY2tlZEtleXNcIlxuICAgICAgICBbKGV4cGFuZGVkS2V5cyldPVwiYWRtaW5FeHBhbmRlZEtleXNcIlxuICAgICAgICAoYXBwbHkpPVwib25BZG1pbkFwcGx5KCRldmVudClcIlxuICAgICAgICAocmVzZXQpPVwiYWRtaW5DaGVja2VkS2V5cy5zZXQoW10pXCJcbiAgICAgICAgKGZpdFByb3ZpbmNlKT1cIm9uRml0UHJvdmluY2UoKVwiXG4gICAgICAgIChjbG9zZWQpPVwib25BZG1pbkNsb3NlZCgpXCJcbiAgICAgIC8+XG4gICAgICA8Z2VvLW1hcC1wYXJjZWwtcG9wdXBcbiAgICAgICAgWyhvcGVuKV09XCJwYXJjZWxPcGVuXCJcbiAgICAgICAgW3BhcmNlbF09XCJzZWxlY3RlZFBhcmNlbCgpXCJcbiAgICAgICAgW2F1ZGllbmNlXT1cInBhcmNlbEF1ZGllbmNlKClcIlxuICAgICAgICAoZXhwb3J0Q2xpY2spPVwicGFyY2VsRXhwb3J0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChiYWNrKT1cIm9uUGFyY2VsQmFjaygpXCJcbiAgICAgICAgKGNsb3NlZCk9XCJvblBhcmNlbENsb3NlZCgpXCJcbiAgICAgIC8+XG4gICAgICA8Z2VvLW1hcC1sYXllcnMtZHJhd2VyXG4gICAgICAgIFtjb250cm9sbGVyXT1cImNvbnRyb2xsZXIoKVwiXG4gICAgICAgIFsob3BlbildPVwibGF5ZXJzT3BlblwiXG4gICAgICAgIFsobGF5ZXJzKV09XCJtYW5hZ2VkTGF5ZXJzXCJcbiAgICAgIC8+XG4gICAgICA8Z2VvLW1hcC1sZWdlbmRcbiAgICAgICAgWyhvcGVuKV09XCJsZWdlbmRPcGVuXCJcbiAgICAgICAgW2l0ZW1zXT1cImxlZ2VuZEl0ZW1zKClcIlxuICAgICAgICBbY2F0YWxvZ01pc3NpbmddPVwibGVnZW5kQ2F0YWxvZ01pc3NpbmcoKVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEhlYWRsZXNzIGJyaWRnZXM6IHpvb20vZnVsbHNjcmVlbiArIHNuYXBzaG90ICsgbG9jYXRlIChkcml2ZW4gYnkgdG9vbGJhciBhY3Rpb25zKS4gLS0+XG4gIDxnZW8tbWFwLXpvb21cbiAgICBjbGFzcz1cImdlby1tYXAtc2hlbGxfX3pvb20tYnJpZGdlXCJcbiAgICBbY29udHJvbGxlcl09XCJjb250cm9sbGVyKClcIlxuICAgIFtzaG93TmF2XT1cInNob3dOYXYoKVwiXG4gICAgW3Byb3ZpbmNlRXh0ZW50XT1cInByb3ZpbmNlRXh0ZW50KClcIlxuICAvPlxuICA8Z2VvLW1hcC1zbmFwc2hvdFxuICAgIGNsYXNzPVwiZ2VvLW1hcC1zaGVsbF9fc25hcHNob3QtYnJpZGdlXCJcbiAgICBbY29udHJvbGxlcl09XCJjb250cm9sbGVyKClcIlxuICAgIChjYXB0dXJlZCk9XCJzbmFwc2hvdENhcHR1cmVkLmVtaXQoKVwiXG4gICAgKGNhcHR1cmVFcnJvcik9XCJzbmFwc2hvdEVycm9yLmVtaXQoJGV2ZW50KVwiXG4gIC8+XG4gIDxnZW8tbWFwLWxvY2F0ZVxuICAgIGNsYXNzPVwiZ2VvLW1hcC1zaGVsbF9fbG9jYXRlLWJyaWRnZVwiXG4gICAgW2NvbnRyb2xsZXJdPVwiY29udHJvbGxlcigpXCJcbiAgICAobG9jYXRlZCk9XCJsb2NhdGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgKGRlbmllZCk9XCJsb2NhdGVEZW5pZWQuZW1pdCgpXCJcbiAgICAobG9jYXRlRXJyb3IpPVwibG9jYXRlRXJyb3IuZW1pdCgkZXZlbnQpXCJcbiAgLz5cblxuICA8ZGl2IGNsYXNzPVwiZ2VvLW1hcC1zaGVsbF9fdG9wLXJpZ2h0XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2dlb01hcFNoZWxsVG9wUmlnaHRdXCIgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdlby1tYXAtc2hlbGxfX2JvdHRvbS1yaWdodFwiPlxuICAgIDxnZW8tbWFwLWJhc2VtYXAtc3dpdGNoZXJcbiAgICAgIFtvcHRpb25zXT1cImJhc2VtYXBPcHRpb25zKClcIlxuICAgICAgWyhzZWxlY3RlZElkKV09XCJiYXNlbWFwSWRcIlxuICAgICAgKGJhc2VtYXBDaGFuZ2UpPVwib25CYXNlbWFwQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnZW8tbWFwLXNoZWxsX19zdGF0dXNcIj5cbiAgICBAaWYgKGxvY2F0aW9uTGFiZWwoKSkge1xuICAgICAgPGdlby1tYXAtbG9jYXRpb24tY2hpcCBbbGFiZWxdPVwibG9jYXRpb25MYWJlbCgpXCIgLz5cbiAgICB9XG4gICAgPGdlby1tYXAtbWVhc3VyZVxuICAgICAgW2NvbnRyb2xsZXJdPVwiY29udHJvbGxlcigpXCJcbiAgICAgIFsobW9kZSldPVwibWVhc3VyZU1vZGVcIlxuICAgIC8+XG4gICAgQGlmIChtZWFzdXJlTW9kZSgpICE9PSAnbm9uZScgJiYgbWVhc3VyZURpc2NsYWltZXIoKSkge1xuICAgICAgPHAgY2xhc3M9XCJnZW8tbWFwLXNoZWxsX19tZWFzdXJlLWRpc2NsYWltZXJcIiByb2xlPVwibm90ZVwiPlxuICAgICAgICB7eyBtZWFzdXJlRGlzY2xhaW1lcigpIH19XG4gICAgICA8L3A+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8Z2VvLW1hcC1zd2lwZVxuICAgIFtjb250cm9sbGVyXT1cImNvbnRyb2xsZXIoKVwiXG4gICAgWyhhY3RpdmUpXT1cInN3aXBlQWN0aXZlXCJcbiAgLz5cblxuICA8Z2VvLW1hcC1oZWxwIFsob3BlbildPVwiaGVscE9wZW5cIiAvPlxuPC9kaXY+XG4iXX0=
@@ -84,10 +84,10 @@ export class GeoMapSnapshotComponent {
84
84
  map.renderSync();
85
85
  }
86
86
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapSnapshotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: GeoMapSnapshotComponent, isStandalone: true, selector: "geo-map-snapshot", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, filename: { classPropertyName: "filename", publicName: "filename", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { captured: "captured", captureError: "captureError" }, host: { classAttribute: "geo-map-snapshot-host" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"geo-map-snapshot__btn\"\n [nz-tooltip]=\"label()\"\n nzTooltipPlacement=\"left\"\n [attr.aria-label]=\"label()\"\n [disabled]=\"!controller() || busy()\"\n (click)=\"capture()\"\n>\n <geo-icon type=\"camera\" size=\"md\" />\n</button>\n", styles: ["@charset \"UTF-8\";.geo-map-snapshot-host{display:block}.geo-map-snapshot__btn{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:48px;min-height:48px;padding:0}.geo-map-snapshot__btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn:active:not(:disabled){transform:scale(.98)}.geo-map-snapshot__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-snapshot__btn--active,.geo-map-snapshot__btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn--icon-only{width:40px;padding:0}\n"], dependencies: [{ kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "ngmodule", type: NzToolTipModule }, { kind: "directive", type: i1.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: GeoMapSnapshotComponent, isStandalone: true, selector: "geo-map-snapshot", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, filename: { classPropertyName: "filename", publicName: "filename", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { captured: "captured", captureError: "captureError" }, host: { classAttribute: "geo-map-snapshot-host" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"geo-map-snapshot__btn\"\n [nz-tooltip]=\"label()\"\n nzTooltipPlacement=\"left\"\n [attr.aria-label]=\"label()\"\n [disabled]=\"!controller() || busy()\"\n (click)=\"capture()\"\n>\n <geo-icon type=\"camera\" size=\"sm\" />\n</button>\n", styles: ["@charset \"UTF-8\";.geo-map-snapshot-host{display:block}.geo-map-snapshot__btn{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-height:32px;padding:0}.geo-map-snapshot__btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn:active:not(:disabled){transform:scale(.98)}.geo-map-snapshot__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-snapshot__btn--active,.geo-map-snapshot__btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn--icon-only{width:32px;padding:0}\n"], dependencies: [{ kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "ngmodule", type: NzToolTipModule }, { kind: "directive", type: i1.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
88
  }
89
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapSnapshotComponent, decorators: [{
90
90
  type: Component,
91
- args: [{ selector: 'geo-map-snapshot', standalone: true, imports: [GeoIconComponent, NzToolTipModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'geo-map-snapshot-host' }, template: "<button\n type=\"button\"\n class=\"geo-map-snapshot__btn\"\n [nz-tooltip]=\"label()\"\n nzTooltipPlacement=\"left\"\n [attr.aria-label]=\"label()\"\n [disabled]=\"!controller() || busy()\"\n (click)=\"capture()\"\n>\n <geo-icon type=\"camera\" size=\"md\" />\n</button>\n", styles: ["@charset \"UTF-8\";.geo-map-snapshot-host{display:block}.geo-map-snapshot__btn{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:48px;min-height:48px;padding:0}.geo-map-snapshot__btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn:active:not(:disabled){transform:scale(.98)}.geo-map-snapshot__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-snapshot__btn--active,.geo-map-snapshot__btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn--icon-only{width:40px;padding:0}\n"] }]
91
+ args: [{ selector: 'geo-map-snapshot', standalone: true, imports: [GeoIconComponent, NzToolTipModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'geo-map-snapshot-host' }, template: "<button\n type=\"button\"\n class=\"geo-map-snapshot__btn\"\n [nz-tooltip]=\"label()\"\n nzTooltipPlacement=\"left\"\n [attr.aria-label]=\"label()\"\n [disabled]=\"!controller() || busy()\"\n (click)=\"capture()\"\n>\n <geo-icon type=\"camera\" size=\"sm\" />\n</button>\n", styles: ["@charset \"UTF-8\";.geo-map-snapshot-host{display:block}.geo-map-snapshot__btn{border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated);box-shadow:var(--geo-shadow-sm);display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;border:0;border-radius:var(--geo-radius);background:transparent;color:var(--geo-color-neutral-700);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .1s ease;width:32px;min-height:32px;padding:0}.geo-map-snapshot__btn:hover:not(:disabled){background:var(--geo-color-primary-soft-hover);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn:active:not(:disabled){transform:scale(.98)}.geo-map-snapshot__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-snapshot__btn--active,.geo-map-snapshot__btn--checked{background:var(--geo-color-primary-soft-active);color:var(--geo-color-primary-default)}.geo-map-snapshot__btn--icon-only{width:32px;padding:0}\n"] }]
92
92
  }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1zbmFwc2hvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tbWFwL2Nocm9tZS9nZW8tbWFwLXNuYXBzaG90L2dlby1tYXAtc25hcHNob3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zbmFwc2hvdC9nZW8tbWFwLXNuYXBzaG90LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUd4RTs7Ozs7O0dBTUc7QUFXSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFVBQVUsR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBQ2xELEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRS9CLFFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUMxQixZQUFZLEdBQUcsTUFBTSxFQUFXLENBQUM7SUFFakMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5Qiw0RUFBNEU7SUFDNUUsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxJ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QUUsZUFBZSxDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelRvb2xUaXBNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Rvb2x0aXAnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9NYXBDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb250cm9sbGVyJztcblxuLyoqXG4gKiBFeHBvcnQgY3VycmVudCBtYXAgdmlldyBhcyBQTkcgZG93bmxvYWQuXG4gKlxuICogQHN1bW1hcnkgRXhwb3J0IGN1cnJlbnQgbWFwIHZpZXcgYXMgUE5HIGRvd25sb2FkLlxuICogQHdoZW5Ub1VzZSBDaOG7pXAg4bqjbmggYuG6o24gxJHhu5MuXG4gKiBAZG9Ob3RVc2VXaGVuIFNlcnZlci1zaWRlIHByaW50L1BERiBwaXBlbGluZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1tYXAtc25hcHNob3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2VvSWNvbkNvbXBvbmVudCwgTnpUb29sVGlwTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1tYXAtc25hcHNob3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW1hcC1zbmFwc2hvdC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnZ2VvLW1hcC1zbmFwc2hvdC1ob3N0JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9NYXBTbmFwc2hvdENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbnB1dDxHZW9NYXBDb250cm9sbGVyIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQoJ0No4bulcCDhuqNuaCBi4bqjbiDEkeG7kycpO1xuICByZWFkb25seSBmaWxlbmFtZSA9IGlucHV0KCdiYW4tZG8ucG5nJyk7XG5cbiAgcmVhZG9ubHkgY2FwdHVyZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgY2FwdHVyZUVycm9yID0gb3V0cHV0PHVua25vd24+KCk7XG5cbiAgcmVhZG9ubHkgYnVzeSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIFB1YmxpYyBzbyBzaGVsbC90b29sYmFyIGNhbiB0cmlnZ2VyIGNhcHR1cmUgd2l0aG91dCBhIHZpc2libGUgYnV0dG9uLiAqL1xuICBjYXB0dXJlKCk6IHZvaWQge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuY29udHJvbGxlcigpPy5nZXRNYXAoKTtcbiAgICBpZiAoIW1hcCB8fCB0aGlzLmJ1c3koKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG4gICAgbWFwLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWFwQ2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBtYXAuZ2V0U2l6ZSgpO1xuICAgICAgICBpZiAoIXNpemUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hcCBzaXplIHVuYXZhaWxhYmxlJyk7XG4gICAgICAgIH1cbiAgICAgICAgbWFwQ2FudmFzLndpZHRoID0gc2l6ZVswXTtcbiAgICAgICAgbWFwQ2FudmFzLmhlaWdodCA9IHNpemVbMV07XG4gICAgICAgIGNvbnN0IGN0eCA9IG1hcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBpZiAoIWN0eCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FudmFzIDJEIHVuYXZhaWxhYmxlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXllcnMgPSBtYXBcbiAgICAgICAgICAuZ2V0Vmlld3BvcnQoKVxuICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcub2wtbGF5ZXIgY2FudmFzLCBjYW52YXMub2wtbGF5ZXInKTtcbiAgICAgICAgbGF5ZXJzLmZvckVhY2goKGNhbnZhcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsID0gY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgICAgICAgIGlmIChlbC53aWR0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSBOdW1iZXIoZWwucGFyZW50RWxlbWVudD8uc3R5bGUub3BhY2l0eSB8fCAnMScpO1xuICAgICAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gTnVtYmVyLmlzRmluaXRlKG9wYWNpdHkpID8gb3BhY2l0eSA6IDE7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBlbC5zdHlsZS50cmFuc2Zvcm07XG4gICAgICAgICAgICBjb25zdCBtYXRyaXggPSB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgLm1hdGNoKC9ebWF0cml4XFwoKFteKV0qKVxcKSQvKT8uWzFdXG4gICAgICAgICAgICAgID8uc3BsaXQoJywnKVxuICAgICAgICAgICAgICAubWFwKE51bWJlcik7XG4gICAgICAgICAgICBpZiAobWF0cml4ICYmIG1hdHJpeC5sZW5ndGggPT09IDYpIHtcbiAgICAgICAgICAgICAgY3R4LnNldFRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBtYXRyaXhbMF0sXG4gICAgICAgICAgICAgICAgbWF0cml4WzFdLFxuICAgICAgICAgICAgICAgIG1hdHJpeFsyXSxcbiAgICAgICAgICAgICAgICBtYXRyaXhbM10sXG4gICAgICAgICAgICAgICAgbWF0cml4WzRdLFxuICAgICAgICAgICAgICAgIG1hdHJpeFs1XSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdHguZHJhd0ltYWdlKGVsLCAwLCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjdHguc2V0VHJhbnNmb3JtKDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAxO1xuXG4gICAgICAgIG1hcENhbnZhcy50b0Jsb2IoKGJsb2IpID0+IHtcbiAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgICBpZiAoIWJsb2IpIHtcbiAgICAgICAgICAgIHRoaXMuY2FwdHVyZUVycm9yLmVtaXQobmV3IEVycm9yKCdLaMO0bmcgdOG6oW8gxJHGsOG7o2Mg4bqjbmggUE5HLicpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICBjb25zdCBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgYW5jaG9yLmhyZWYgPSB1cmw7XG4gICAgICAgICAgYW5jaG9yLmRvd25sb2FkID0gdGhpcy5maWxlbmFtZSgpO1xuICAgICAgICAgIGFuY2hvci5jbGljaygpO1xuICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICAgICAgICB0aGlzLmNhcHR1cmVkLmVtaXQoKTtcbiAgICAgICAgfSwgJ2ltYWdlL3BuZycpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNhcHR1cmVFcnJvci5lbWl0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgbWFwLnJlbmRlclN5bmMoKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJnZW8tbWFwLXNuYXBzaG90X19idG5cIlxuICBbbnotdG9vbHRpcF09XCJsYWJlbCgpXCJcbiAgbnpUb29sdGlwUGxhY2VtZW50PVwibGVmdFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gIFtkaXNhYmxlZF09XCIhY29udHJvbGxlcigpIHx8IGJ1c3koKVwiXG4gIChjbGljayk9XCJjYXB0dXJlKClcIlxuPlxuICA8Z2VvLWljb24gdHlwZT1cImNhbWVyYVwiIHNpemU9XCJtZFwiIC8+XG48L2J1dHRvbj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1zbmFwc2hvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tbWFwL2Nocm9tZS9nZW8tbWFwLXNuYXBzaG90L2dlby1tYXAtc25hcHNob3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC1zbmFwc2hvdC9nZW8tbWFwLXNuYXBzaG90LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUd4RTs7Ozs7O0dBTUc7QUFXSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFVBQVUsR0FBRyxLQUFLLENBQTBCLElBQUksQ0FBQyxDQUFDO0lBQ2xELEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRS9CLFFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUMxQixZQUFZLEdBQUcsTUFBTSxFQUFXLENBQUM7SUFFakMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5Qiw0RUFBNEU7SUFDNUUsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxJ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QUUsZUFBZSxDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelRvb2xUaXBNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Rvb2x0aXAnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9NYXBDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb250cm9sbGVyJztcblxuLyoqXG4gKiBFeHBvcnQgY3VycmVudCBtYXAgdmlldyBhcyBQTkcgZG93bmxvYWQuXG4gKlxuICogQHN1bW1hcnkgRXhwb3J0IGN1cnJlbnQgbWFwIHZpZXcgYXMgUE5HIGRvd25sb2FkLlxuICogQHdoZW5Ub1VzZSBDaOG7pXAg4bqjbmggYuG6o24gxJHhu5MuXG4gKiBAZG9Ob3RVc2VXaGVuIFNlcnZlci1zaWRlIHByaW50L1BERiBwaXBlbGluZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1tYXAtc25hcHNob3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2VvSWNvbkNvbXBvbmVudCwgTnpUb29sVGlwTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1tYXAtc25hcHNob3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW1hcC1zbmFwc2hvdC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnZ2VvLW1hcC1zbmFwc2hvdC1ob3N0JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9NYXBTbmFwc2hvdENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbnB1dDxHZW9NYXBDb250cm9sbGVyIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQoJ0No4bulcCDhuqNuaCBi4bqjbiDEkeG7kycpO1xuICByZWFkb25seSBmaWxlbmFtZSA9IGlucHV0KCdiYW4tZG8ucG5nJyk7XG5cbiAgcmVhZG9ubHkgY2FwdHVyZWQgPSBvdXRwdXQ8dm9pZD4oKTtcbiAgcmVhZG9ubHkgY2FwdHVyZUVycm9yID0gb3V0cHV0PHVua25vd24+KCk7XG5cbiAgcmVhZG9ubHkgYnVzeSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqIFB1YmxpYyBzbyBzaGVsbC90b29sYmFyIGNhbiB0cmlnZ2VyIGNhcHR1cmUgd2l0aG91dCBhIHZpc2libGUgYnV0dG9uLiAqL1xuICBjYXB0dXJlKCk6IHZvaWQge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuY29udHJvbGxlcigpPy5nZXRNYXAoKTtcbiAgICBpZiAoIW1hcCB8fCB0aGlzLmJ1c3koKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG4gICAgbWFwLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWFwQ2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgIGNvbnN0IHNpemUgPSBtYXAuZ2V0U2l6ZSgpO1xuICAgICAgICBpZiAoIXNpemUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hcCBzaXplIHVuYXZhaWxhYmxlJyk7XG4gICAgICAgIH1cbiAgICAgICAgbWFwQ2FudmFzLndpZHRoID0gc2l6ZVswXTtcbiAgICAgICAgbWFwQ2FudmFzLmhlaWdodCA9IHNpemVbMV07XG4gICAgICAgIGNvbnN0IGN0eCA9IG1hcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBpZiAoIWN0eCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2FudmFzIDJEIHVuYXZhaWxhYmxlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXllcnMgPSBtYXBcbiAgICAgICAgICAuZ2V0Vmlld3BvcnQoKVxuICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcub2wtbGF5ZXIgY2FudmFzLCBjYW52YXMub2wtbGF5ZXInKTtcbiAgICAgICAgbGF5ZXJzLmZvckVhY2goKGNhbnZhcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsID0gY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50O1xuICAgICAgICAgIGlmIChlbC53aWR0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSBOdW1iZXIoZWwucGFyZW50RWxlbWVudD8uc3R5bGUub3BhY2l0eSB8fCAnMScpO1xuICAgICAgICAgICAgY3R4Lmdsb2JhbEFscGhhID0gTnVtYmVyLmlzRmluaXRlKG9wYWNpdHkpID8gb3BhY2l0eSA6IDE7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBlbC5zdHlsZS50cmFuc2Zvcm07XG4gICAgICAgICAgICBjb25zdCBtYXRyaXggPSB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgLm1hdGNoKC9ebWF0cml4XFwoKFteKV0qKVxcKSQvKT8uWzFdXG4gICAgICAgICAgICAgID8uc3BsaXQoJywnKVxuICAgICAgICAgICAgICAubWFwKE51bWJlcik7XG4gICAgICAgICAgICBpZiAobWF0cml4ICYmIG1hdHJpeC5sZW5ndGggPT09IDYpIHtcbiAgICAgICAgICAgICAgY3R4LnNldFRyYW5zZm9ybShcbiAgICAgICAgICAgICAgICBtYXRyaXhbMF0sXG4gICAgICAgICAgICAgICAgbWF0cml4WzFdLFxuICAgICAgICAgICAgICAgIG1hdHJpeFsyXSxcbiAgICAgICAgICAgICAgICBtYXRyaXhbM10sXG4gICAgICAgICAgICAgICAgbWF0cml4WzRdLFxuICAgICAgICAgICAgICAgIG1hdHJpeFs1XSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGN0eC5zZXRUcmFuc2Zvcm0oMSwgMCwgMCwgMSwgMCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjdHguZHJhd0ltYWdlKGVsLCAwLCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjdHguc2V0VHJhbnNmb3JtKDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICBjdHguZ2xvYmFsQWxwaGEgPSAxO1xuXG4gICAgICAgIG1hcENhbnZhcy50b0Jsb2IoKGJsb2IpID0+IHtcbiAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgICBpZiAoIWJsb2IpIHtcbiAgICAgICAgICAgIHRoaXMuY2FwdHVyZUVycm9yLmVtaXQobmV3IEVycm9yKCdLaMO0bmcgdOG6oW8gxJHGsOG7o2Mg4bqjbmggUE5HLicpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgICBjb25zdCBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgYW5jaG9yLmhyZWYgPSB1cmw7XG4gICAgICAgICAgYW5jaG9yLmRvd25sb2FkID0gdGhpcy5maWxlbmFtZSgpO1xuICAgICAgICAgIGFuY2hvci5jbGljaygpO1xuICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICAgICAgICB0aGlzLmNhcHR1cmVkLmVtaXQoKTtcbiAgICAgICAgfSwgJ2ltYWdlL3BuZycpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuYnVzeS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNhcHR1cmVFcnJvci5lbWl0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgbWFwLnJlbmRlclN5bmMoKTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJnZW8tbWFwLXNuYXBzaG90X19idG5cIlxuICBbbnotdG9vbHRpcF09XCJsYWJlbCgpXCJcbiAgbnpUb29sdGlwUGxhY2VtZW50PVwibGVmdFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gIFtkaXNhYmxlZF09XCIhY29udHJvbGxlcigpIHx8IGJ1c3koKVwiXG4gIChjbGljayk9XCJjYXB0dXJlKClcIlxuPlxuICA8Z2VvLWljb24gdHlwZT1cImNhbWVyYVwiIHNpemU9XCJzbVwiIC8+XG48L2J1dHRvbj5cbiJdfQ==
@@ -53,12 +53,12 @@ export class GeoMapToolbarComponent {
53
53
  this.actionClick.emit(action);
54
54
  }
55
55
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapToolbarComponent, isStandalone: true, selector: "geo-map-toolbar", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, checkedMap: { classPropertyName: "checkedMap", publicName: "checkedMap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedMap: "checkedMapChange", actionClick: "actionClick", actionToggle: "actionToggle" }, host: { classAttribute: "geo-map-toolbar-host" }, ngImport: i0, template: "<div\n class=\"geo-map-toolbar\"\n [class.geo-map-toolbar--compact]=\"compact()\"\n role=\"toolbar\"\n aria-label=\"Thao t\u00E1c b\u1EA3n \u0111\u1ED3\"\n>\n @for (action of resolvedActions(); track action.id) {\n <span\n class=\"geo-map-toolbar__tip\"\n [nz-tooltip]=\"tooltipOf(action)\"\n nzTooltipPlacement=\"bottom\"\n >\n <button\n type=\"button\"\n class=\"geo-map-toolbar__btn\"\n [class.geo-map-toolbar__btn--icon-only]=\"\n action.iconOnly || !action.label || compact()\n \"\n [class.geo-map-toolbar__btn--active]=\"action.active\"\n [class.geo-map-toolbar__btn--checked]=\"isChecked(action)\"\n [class.geo-map-toolbar__btn--primary]=\"action.variant === 'primary'\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"tooltipOf(action)\"\n [attr.aria-pressed]=\"isToggleAction(action) ? isChecked(action) : null\"\n (click)=\"onActionClick(action)\"\n >\n @if (action.iconSrc) {\n <img\n class=\"geo-map-toolbar__icon-img\"\n [class.geo-map-toolbar__icon-img--home]=\"action.variant === 'primary'\"\n [src]=\"action.iconSrc\"\n alt=\"\"\n draggable=\"false\"\n />\n } @else if (action.icon) {\n <geo-icon [type]=\"action.icon\" size=\"md\" />\n }\n @if (action.label && !action.iconOnly && !compact()) {\n <span class=\"geo-map-toolbar__label\">{{ action.label }}</span>\n }\n </button>\n </span>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-toolbar-host{display:block;pointer-events:none}.geo-map-toolbar{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:18px;min-height:64px;padding:7px 12px;overflow:visible;pointer-events:auto;border:0;border-radius:var(--geo-radius-md);background:var(--geo-color-neutral-white, #fff);box-shadow:var(--geo-shadow-sm)}.geo-map-toolbar__tip{display:inline-flex}.geo-map-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;padding:5px;border:1px solid var(--geo-color-primary-default);border-radius:var(--geo-radius-xs);background:var(--geo-color-neutral-white, #fff);color:var(--geo-color-primary-default);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;box-shadow:0 0 2px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-toolbar__btn:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-default) 14%,var(--geo-color-neutral-white))}.geo-map-toolbar__btn:active:not(:disabled){transform:scale(.98)}.geo-map-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-toolbar__btn--icon-only{width:40px;padding:5px}.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--checked{background:color-mix(in srgb,var(--geo-color-primary-light) 58%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--active:hover:not(:disabled),.geo-map-toolbar__btn--checked:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-light) 68%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--primary{width:50px;min-width:50px;min-height:50px;padding:0;border:0;border-radius:50%;background:var(--geo-color-primary-light);box-shadow:0 4px 4px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);margin-right:-3px}.geo-map-toolbar__btn--primary:hover:not(:disabled){background:var(--geo-color-primary-default);filter:none}.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--checked{background:var(--geo-color-primary-light)}.geo-map-toolbar__icon-img{display:block;width:25px;height:25px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-map-toolbar__icon-img--home{width:22px;height:20px}.geo-map-toolbar__label{white-space:nowrap}.geo-map-toolbar--compact .geo-map-toolbar__label{display:none}\n"], dependencies: [{ kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "ngmodule", type: NzToolTipModule }, { kind: "directive", type: i1.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoMapToolbarComponent, isStandalone: true, selector: "geo-map-toolbar", inputs: { controller: { classPropertyName: "controller", publicName: "controller", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, checkedMap: { classPropertyName: "checkedMap", publicName: "checkedMap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedMap: "checkedMapChange", actionClick: "actionClick", actionToggle: "actionToggle" }, host: { classAttribute: "geo-map-toolbar-host" }, ngImport: i0, template: "<div\n class=\"geo-map-toolbar\"\n [class.geo-map-toolbar--compact]=\"compact()\"\n role=\"toolbar\"\n aria-label=\"Thao t\u00E1c b\u1EA3n \u0111\u1ED3\"\n>\n @for (action of resolvedActions(); track action.id) {\n <span\n class=\"geo-map-toolbar__tip\"\n [nz-tooltip]=\"tooltipOf(action)\"\n nzTooltipPlacement=\"bottom\"\n >\n <button\n type=\"button\"\n class=\"geo-map-toolbar__btn\"\n [class.geo-map-toolbar__btn--icon-only]=\"\n action.iconOnly || !action.label || compact()\n \"\n [class.geo-map-toolbar__btn--active]=\"action.active\"\n [class.geo-map-toolbar__btn--checked]=\"isChecked(action)\"\n [class.geo-map-toolbar__btn--primary]=\"action.variant === 'primary'\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"tooltipOf(action)\"\n [attr.aria-pressed]=\"isToggleAction(action) ? isChecked(action) : null\"\n (click)=\"onActionClick(action)\"\n >\n @if (action.iconSrc) {\n <img\n class=\"geo-map-toolbar__icon-img\"\n [class.geo-map-toolbar__icon-img--home]=\"action.variant === 'primary'\"\n [src]=\"action.iconSrc\"\n alt=\"\"\n draggable=\"false\"\n />\n } @else if (action.icon) {\n <geo-icon [type]=\"action.icon\" size=\"sm\" />\n }\n @if (action.label && !action.iconOnly && !compact()) {\n <span class=\"geo-map-toolbar__label\">{{ action.label }}</span>\n }\n </button>\n </span>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-toolbar-host{display:block;pointer-events:none}.geo-map-toolbar{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:12px;min-height:48px;padding:6px 10px;overflow:visible;pointer-events:auto;border:0;border-radius:var(--geo-radius-md);background:var(--geo-color-neutral-white, #fff);box-shadow:var(--geo-shadow-sm)}.geo-map-toolbar__tip{display:inline-flex}.geo-map-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;padding:4px;border:1px solid var(--geo-color-primary-default);border-radius:var(--geo-radius-xs);background:var(--geo-color-neutral-white, #fff);color:var(--geo-color-primary-default);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;box-shadow:0 0 2px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-toolbar__btn:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-default) 14%,var(--geo-color-neutral-white))}.geo-map-toolbar__btn:active:not(:disabled){transform:scale(.98)}.geo-map-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-toolbar__btn--icon-only{width:32px;padding:4px}.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--checked{background:color-mix(in srgb,var(--geo-color-primary-light) 58%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--active:hover:not(:disabled),.geo-map-toolbar__btn--checked:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-light) 68%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--primary{width:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:var(--geo-color-primary-light);box-shadow:0 4px 4px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);margin-right:-2px}.geo-map-toolbar__btn--primary:hover:not(:disabled){background:var(--geo-color-primary-default);filter:none}.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--checked{background:var(--geo-color-primary-light)}.geo-map-toolbar__icon-img{display:block;width:18px;height:18px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-map-toolbar__icon-img--home{width:16px;height:14px}.geo-map-toolbar__label{white-space:nowrap}.geo-map-toolbar--compact .geo-map-toolbar__label{display:none}\n"], dependencies: [{ kind: "component", type: GeoIconComponent, selector: "geo-icon", inputs: ["type", "theme", "spin", "size", "color"] }, { kind: "ngmodule", type: NzToolTipModule }, { kind: "directive", type: i1.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoMapToolbarComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'geo-map-toolbar', standalone: true, imports: [GeoIconComponent, NzToolTipModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
61
61
  class: 'geo-map-toolbar-host',
62
- }, template: "<div\n class=\"geo-map-toolbar\"\n [class.geo-map-toolbar--compact]=\"compact()\"\n role=\"toolbar\"\n aria-label=\"Thao t\u00E1c b\u1EA3n \u0111\u1ED3\"\n>\n @for (action of resolvedActions(); track action.id) {\n <span\n class=\"geo-map-toolbar__tip\"\n [nz-tooltip]=\"tooltipOf(action)\"\n nzTooltipPlacement=\"bottom\"\n >\n <button\n type=\"button\"\n class=\"geo-map-toolbar__btn\"\n [class.geo-map-toolbar__btn--icon-only]=\"\n action.iconOnly || !action.label || compact()\n \"\n [class.geo-map-toolbar__btn--active]=\"action.active\"\n [class.geo-map-toolbar__btn--checked]=\"isChecked(action)\"\n [class.geo-map-toolbar__btn--primary]=\"action.variant === 'primary'\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"tooltipOf(action)\"\n [attr.aria-pressed]=\"isToggleAction(action) ? isChecked(action) : null\"\n (click)=\"onActionClick(action)\"\n >\n @if (action.iconSrc) {\n <img\n class=\"geo-map-toolbar__icon-img\"\n [class.geo-map-toolbar__icon-img--home]=\"action.variant === 'primary'\"\n [src]=\"action.iconSrc\"\n alt=\"\"\n draggable=\"false\"\n />\n } @else if (action.icon) {\n <geo-icon [type]=\"action.icon\" size=\"md\" />\n }\n @if (action.label && !action.iconOnly && !compact()) {\n <span class=\"geo-map-toolbar__label\">{{ action.label }}</span>\n }\n </button>\n </span>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-toolbar-host{display:block;pointer-events:none}.geo-map-toolbar{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:18px;min-height:64px;padding:7px 12px;overflow:visible;pointer-events:auto;border:0;border-radius:var(--geo-radius-md);background:var(--geo-color-neutral-white, #fff);box-shadow:var(--geo-shadow-sm)}.geo-map-toolbar__tip{display:inline-flex}.geo-map-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;padding:5px;border:1px solid var(--geo-color-primary-default);border-radius:var(--geo-radius-xs);background:var(--geo-color-neutral-white, #fff);color:var(--geo-color-primary-default);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;box-shadow:0 0 2px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-toolbar__btn:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-default) 14%,var(--geo-color-neutral-white))}.geo-map-toolbar__btn:active:not(:disabled){transform:scale(.98)}.geo-map-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-toolbar__btn--icon-only{width:40px;padding:5px}.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--checked{background:color-mix(in srgb,var(--geo-color-primary-light) 58%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--active:hover:not(:disabled),.geo-map-toolbar__btn--checked:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-light) 68%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--primary{width:50px;min-width:50px;min-height:50px;padding:0;border:0;border-radius:50%;background:var(--geo-color-primary-light);box-shadow:0 4px 4px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);margin-right:-3px}.geo-map-toolbar__btn--primary:hover:not(:disabled){background:var(--geo-color-primary-default);filter:none}.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--checked{background:var(--geo-color-primary-light)}.geo-map-toolbar__icon-img{display:block;width:25px;height:25px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-map-toolbar__icon-img--home{width:22px;height:20px}.geo-map-toolbar__label{white-space:nowrap}.geo-map-toolbar--compact .geo-map-toolbar__label{display:none}\n"] }]
62
+ }, template: "<div\n class=\"geo-map-toolbar\"\n [class.geo-map-toolbar--compact]=\"compact()\"\n role=\"toolbar\"\n aria-label=\"Thao t\u00E1c b\u1EA3n \u0111\u1ED3\"\n>\n @for (action of resolvedActions(); track action.id) {\n <span\n class=\"geo-map-toolbar__tip\"\n [nz-tooltip]=\"tooltipOf(action)\"\n nzTooltipPlacement=\"bottom\"\n >\n <button\n type=\"button\"\n class=\"geo-map-toolbar__btn\"\n [class.geo-map-toolbar__btn--icon-only]=\"\n action.iconOnly || !action.label || compact()\n \"\n [class.geo-map-toolbar__btn--active]=\"action.active\"\n [class.geo-map-toolbar__btn--checked]=\"isChecked(action)\"\n [class.geo-map-toolbar__btn--primary]=\"action.variant === 'primary'\"\n [disabled]=\"action.disabled\"\n [attr.aria-label]=\"tooltipOf(action)\"\n [attr.aria-pressed]=\"isToggleAction(action) ? isChecked(action) : null\"\n (click)=\"onActionClick(action)\"\n >\n @if (action.iconSrc) {\n <img\n class=\"geo-map-toolbar__icon-img\"\n [class.geo-map-toolbar__icon-img--home]=\"action.variant === 'primary'\"\n [src]=\"action.iconSrc\"\n alt=\"\"\n draggable=\"false\"\n />\n } @else if (action.icon) {\n <geo-icon [type]=\"action.icon\" size=\"sm\" />\n }\n @if (action.label && !action.iconOnly && !compact()) {\n <span class=\"geo-map-toolbar__label\">{{ action.label }}</span>\n }\n </button>\n </span>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.geo-map-toolbar-host{display:block;pointer-events:none}.geo-map-toolbar{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:12px;min-height:48px;padding:6px 10px;overflow:visible;pointer-events:auto;border:0;border-radius:var(--geo-radius-md);background:var(--geo-color-neutral-white, #fff);box-shadow:var(--geo-shadow-sm)}.geo-map-toolbar__tip{display:inline-flex}.geo-map-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:32px;min-height:32px;padding:4px;border:1px solid var(--geo-color-primary-default);border-radius:var(--geo-radius-xs);background:var(--geo-color-neutral-white, #fff);color:var(--geo-color-primary-default);font:inherit;font-size:var(--geo-font-size-body-small);font-weight:var(--geo-font-weight-medium);line-height:1;cursor:pointer;box-shadow:0 0 2px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.geo-map-toolbar__btn:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-default) 14%,var(--geo-color-neutral-white))}.geo-map-toolbar__btn:active:not(:disabled){transform:scale(.98)}.geo-map-toolbar__btn:disabled{opacity:.45;cursor:not-allowed}.geo-map-toolbar__btn--icon-only{width:32px;padding:4px}.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--checked{background:color-mix(in srgb,var(--geo-color-primary-light) 58%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--active:hover:not(:disabled),.geo-map-toolbar__btn--checked:hover:not(:disabled){background:color-mix(in srgb,var(--geo-color-primary-light) 68%,var(--geo-color-neutral-white));color:var(--geo-color-primary-default)}.geo-map-toolbar__btn--primary{width:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:var(--geo-color-primary-light);box-shadow:0 4px 4px color-mix(in srgb,var(--geo-color-neutral-900) 25%,transparent);margin-right:-2px}.geo-map-toolbar__btn--primary:hover:not(:disabled){background:var(--geo-color-primary-default);filter:none}.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--active,.geo-map-toolbar__btn--primary.geo-map-toolbar__btn--checked{background:var(--geo-color-primary-light)}.geo-map-toolbar__icon-img{display:block;width:18px;height:18px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.geo-map-toolbar__icon-img--home{width:16px;height:14px}.geo-map-toolbar__label{white-space:nowrap}.geo-map-toolbar--compact .geo-map-toolbar__label{display:none}\n"] }]
63
63
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1tYXAvY2hyb21lL2dlby1tYXAtdG9vbGJhci9nZW8tbWFwLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC10b29sYmFyL2dlby1tYXAtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBSTFFOzs7Ozs7R0FNRztBQWFILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsVUFBVSxHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7SUFDM0QsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsMkVBQTJFO0lBQ2xFLFVBQVUsR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBRWhELFdBQVcsR0FBRyxNQUFNLEVBQXVCLENBQUM7SUFDNUMsWUFBWSxHQUFHLE1BQU0sRUFHMUIsQ0FBQztJQUVJLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsT0FBTyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQTJCO1FBQ3hDLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6RCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBMkI7UUFDdkMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQW5EVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiwwdkJDbENuQyxnakRBNENBLGtsRkRuQlksZ0JBQWdCLHdHQUFFLGVBQWU7OzRGQVNoQyxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelRvb2xUaXBNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Rvb2x0aXAnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHRU9fTUFQX0RFRkFVTFRfVE9PTEJBUl9BQ1RJT05TIH0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgR2VvTWFwQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2dlby1tYXAuY29udHJvbGxlcic7XG5pbXBvcnQgdHlwZSB7IEdlb01hcFRvb2xiYXJBY3Rpb24gfSBmcm9tICcuLi8uLi9nZW8tbWFwLnR5cGVzJztcblxuLyoqXG4gKiBGbG9hdGluZyBwaWxsIGFjdGlvbiBiYXIgZm9yIG1hcCBjaHJvbWUgKG1lYXN1cmUgLyBzbmFwc2hvdCAvIOKApikuXG4gKlxuICogQHN1bW1hcnkgRmxvYXRpbmcgcGlsbCBhY3Rpb24gYmFyIChtZWFzdXJlLCB0cmFmZmljLCDigKYpLlxuICogQHdoZW5Ub1VzZSBUb3AtY2VudGVyIG1hcCBjaHJvbWUgbGlrZSBj4buVbmcgY8O0bmcga2hhaTsgcGFzcyBhY3Rpb25zICsgKGFjdGlvbkNsaWNrKS5cbiAqIEBkb05vdFVzZVdoZW4gTmVlZCBvbmx5IG9uZSB0b29sIOKAlCB1c2UgaW5kaXZpZHVhbCBnZW8tbWFwLSogY29tcG9uZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLW1hcC10b29sYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0dlb0ljb25Db21wb25lbnQsIE56VG9vbFRpcE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tbWFwLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW1hcC10b29sYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1tYXAtdG9vbGJhci1ob3N0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvTWFwVG9vbGJhckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbnB1dDxHZW9NYXBDb250cm9sbGVyIHwgbnVsbD4obnVsbCk7XG4gIC8qKiBXaGVuIGVtcHR5LCB1c2VzIGJ1aWx0LWluIHBvcnRhbCBhY3Rpb24gc2V0LiAqL1xuICByZWFkb25seSBhY3Rpb25zID0gaW5wdXQ8R2VvTWFwVG9vbGJhckFjdGlvbltdPihbXSk7XG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dChmYWxzZSk7XG4gIC8qKiBUd28td2F5IGNoZWNrZWQgbWFwIGtleWVkIGJ5IGFjdGlvbiBpZCAoZm9yIGNoZWNrYm94LXN0eWxlIGFjdGlvbnMpLiAqL1xuICByZWFkb25seSBjaGVja2VkTWFwID0gbW9kZWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHt9KTtcblxuICByZWFkb25seSBhY3Rpb25DbGljayA9IG91dHB1dDxHZW9NYXBUb29sYmFyQWN0aW9uPigpO1xuICByZWFkb25seSBhY3Rpb25Ub2dnbGUgPSBvdXRwdXQ8e1xuICAgIGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbjtcbiAgICBjaGVja2VkOiBib29sZWFuO1xuICB9PigpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdXBwbGllZCA9IHRoaXMuYWN0aW9ucygpO1xuICAgIHJldHVybiBzdXBwbGllZC5sZW5ndGggPyBzdXBwbGllZCA6IEdFT19NQVBfREVGQVVMVF9UT09MQkFSX0FDVElPTlM7XG4gIH0pO1xuXG4gIHRvb2x0aXBPZihhY3Rpb246IEdlb01hcFRvb2xiYXJBY3Rpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBhY3Rpb24udG9vbHRpcCB8fCBhY3Rpb24ubGFiZWwgfHwgYWN0aW9uLmlkO1xuICB9XG5cbiAgaXNUb2dnbGVBY3Rpb24oYWN0aW9uOiBHZW9NYXBUb29sYmFyQWN0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKGFjdGlvbi5jaGVja2VkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuY2hlY2tlZE1hcCgpLCBhY3Rpb24uaWQpO1xuICB9XG5cbiAgaXNDaGVja2VkKGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuY2hlY2tlZE1hcCgpO1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWFwLCBhY3Rpb24uaWQpKSB7XG4gICAgICByZXR1cm4gISFtYXBbYWN0aW9uLmlkXTtcbiAgICB9XG4gICAgcmV0dXJuICEhYWN0aW9uLmNoZWNrZWQ7XG4gIH1cblxuICBvbkFjdGlvbkNsaWNrKGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbik6IHZvaWQge1xuICAgIGlmIChhY3Rpb24uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1RvZ2dsZUFjdGlvbihhY3Rpb24pKSB7XG4gICAgICBjb25zdCBuZXh0ID0gIXRoaXMuaXNDaGVja2VkKGFjdGlvbik7XG4gICAgICB0aGlzLmNoZWNrZWRNYXAudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCBbYWN0aW9uLmlkXTogbmV4dCB9KSk7XG4gICAgICB0aGlzLmFjdGlvblRvZ2dsZS5lbWl0KHsgYWN0aW9uLCBjaGVja2VkOiBuZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChhY3Rpb24pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZ2VvLW1hcC10b29sYmFyXCJcbiAgW2NsYXNzLmdlby1tYXAtdG9vbGJhci0tY29tcGFjdF09XCJjb21wYWN0KClcIlxuICByb2xlPVwidG9vbGJhclwiXG4gIGFyaWEtbGFiZWw9XCJUaGFvIHTDoWMgYuG6o24gxJHhu5NcIlxuPlxuICBAZm9yIChhY3Rpb24gb2YgcmVzb2x2ZWRBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbi5pZCkge1xuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImdlby1tYXAtdG9vbGJhcl9fdGlwXCJcbiAgICAgIFtuei10b29sdGlwXT1cInRvb2x0aXBPZihhY3Rpb24pXCJcbiAgICAgIG56VG9vbHRpcFBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXRvb2xiYXJfX2J0blwiXG4gICAgICAgIFtjbGFzcy5nZW8tbWFwLXRvb2xiYXJfX2J0bi0taWNvbi1vbmx5XT1cIlxuICAgICAgICAgIGFjdGlvbi5pY29uT25seSB8fCAhYWN0aW9uLmxhYmVsIHx8IGNvbXBhY3QoKVxuICAgICAgICBcIlxuICAgICAgICBbY2xhc3MuZ2VvLW1hcC10b29sYmFyX19idG4tLWFjdGl2ZV09XCJhY3Rpb24uYWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9fYnRuLS1jaGVja2VkXT1cImlzQ2hlY2tlZChhY3Rpb24pXCJcbiAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9fYnRuLS1wcmltYXJ5XT1cImFjdGlvbi52YXJpYW50ID09PSAncHJpbWFyeSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sdGlwT2YoYWN0aW9uKVwiXG4gICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc1RvZ2dsZUFjdGlvbihhY3Rpb24pID8gaXNDaGVja2VkKGFjdGlvbikgOiBudWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoYWN0aW9uLmljb25TcmMpIHtcbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtdG9vbGJhcl9faWNvbi1pbWdcIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9faWNvbi1pbWctLWhvbWVdPVwiYWN0aW9uLnZhcmlhbnQgPT09ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbc3JjXT1cImFjdGlvbi5pY29uU3JjXCJcbiAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICA8Z2VvLWljb24gW3R5cGVdPVwiYWN0aW9uLmljb25cIiBzaXplPVwibWRcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYWN0aW9uLmxhYmVsICYmICFhY3Rpb24uaWNvbk9ubHkgJiYgIWNvbXBhY3QoKSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2VvLW1hcC10b29sYmFyX19sYWJlbFwiPnt7IGFjdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuICB9XG48L2Rpdj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1tYXAvY2hyb21lL2dlby1tYXAtdG9vbGJhci9nZW8tbWFwLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW1hcC9jaHJvbWUvZ2VvLW1hcC10b29sYmFyL2dlby1tYXAtdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBSTFFOzs7Ozs7R0FNRztBQWFILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsVUFBVSxHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7SUFDM0QsbURBQW1EO0lBQzFDLE9BQU8sR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsMkVBQTJFO0lBQ2xFLFVBQVUsR0FBRyxLQUFLLENBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBRWhELFdBQVcsR0FBRyxNQUFNLEVBQXVCLENBQUM7SUFDNUMsWUFBWSxHQUFHLE1BQU0sRUFHMUIsQ0FBQztJQUVJLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsT0FBTyxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQTJCO1FBQ3hDLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6RCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBMkI7UUFDdkMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQW5EVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiwwdkJDbENuQyxnakRBNENBLGtsRkRuQlksZ0JBQWdCLHdHQUFFLGVBQWU7OzRGQVNoQyxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelRvb2xUaXBNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3Rvb2x0aXAnO1xuaW1wb3J0IHsgR2VvSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dlby1pY29uL2dlby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHRU9fTUFQX0RFRkFVTFRfVE9PTEJBUl9BQ1RJT05TIH0gZnJvbSAnLi4vLi4vZ2VvLW1hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgR2VvTWFwQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2dlby1tYXAuY29udHJvbGxlcic7XG5pbXBvcnQgdHlwZSB7IEdlb01hcFRvb2xiYXJBY3Rpb24gfSBmcm9tICcuLi8uLi9nZW8tbWFwLnR5cGVzJztcblxuLyoqXG4gKiBGbG9hdGluZyBwaWxsIGFjdGlvbiBiYXIgZm9yIG1hcCBjaHJvbWUgKG1lYXN1cmUgLyBzbmFwc2hvdCAvIOKApikuXG4gKlxuICogQHN1bW1hcnkgRmxvYXRpbmcgcGlsbCBhY3Rpb24gYmFyIChtZWFzdXJlLCB0cmFmZmljLCDigKYpLlxuICogQHdoZW5Ub1VzZSBUb3AtY2VudGVyIG1hcCBjaHJvbWUgbGlrZSBj4buVbmcgY8O0bmcga2hhaTsgcGFzcyBhY3Rpb25zICsgKGFjdGlvbkNsaWNrKS5cbiAqIEBkb05vdFVzZVdoZW4gTmVlZCBvbmx5IG9uZSB0b29sIOKAlCB1c2UgaW5kaXZpZHVhbCBnZW8tbWFwLSogY29tcG9uZW50cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLW1hcC10b29sYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0dlb0ljb25Db21wb25lbnQsIE56VG9vbFRpcE1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tbWFwLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW1hcC10b29sYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1tYXAtdG9vbGJhci1ob3N0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvTWFwVG9vbGJhckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbnB1dDxHZW9NYXBDb250cm9sbGVyIHwgbnVsbD4obnVsbCk7XG4gIC8qKiBXaGVuIGVtcHR5LCB1c2VzIGJ1aWx0LWluIHBvcnRhbCBhY3Rpb24gc2V0LiAqL1xuICByZWFkb25seSBhY3Rpb25zID0gaW5wdXQ8R2VvTWFwVG9vbGJhckFjdGlvbltdPihbXSk7XG4gIHJlYWRvbmx5IGNvbXBhY3QgPSBpbnB1dChmYWxzZSk7XG4gIC8qKiBUd28td2F5IGNoZWNrZWQgbWFwIGtleWVkIGJ5IGFjdGlvbiBpZCAoZm9yIGNoZWNrYm94LXN0eWxlIGFjdGlvbnMpLiAqL1xuICByZWFkb25seSBjaGVja2VkTWFwID0gbW9kZWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHt9KTtcblxuICByZWFkb25seSBhY3Rpb25DbGljayA9IG91dHB1dDxHZW9NYXBUb29sYmFyQWN0aW9uPigpO1xuICByZWFkb25seSBhY3Rpb25Ub2dnbGUgPSBvdXRwdXQ8e1xuICAgIGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbjtcbiAgICBjaGVja2VkOiBib29sZWFuO1xuICB9PigpO1xuXG4gIHJlYWRvbmx5IHJlc29sdmVkQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdXBwbGllZCA9IHRoaXMuYWN0aW9ucygpO1xuICAgIHJldHVybiBzdXBwbGllZC5sZW5ndGggPyBzdXBwbGllZCA6IEdFT19NQVBfREVGQVVMVF9UT09MQkFSX0FDVElPTlM7XG4gIH0pO1xuXG4gIHRvb2x0aXBPZihhY3Rpb246IEdlb01hcFRvb2xiYXJBY3Rpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBhY3Rpb24udG9vbHRpcCB8fCBhY3Rpb24ubGFiZWwgfHwgYWN0aW9uLmlkO1xuICB9XG5cbiAgaXNUb2dnbGVBY3Rpb24oYWN0aW9uOiBHZW9NYXBUb29sYmFyQWN0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKGFjdGlvbi5jaGVja2VkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuY2hlY2tlZE1hcCgpLCBhY3Rpb24uaWQpO1xuICB9XG5cbiAgaXNDaGVja2VkKGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuY2hlY2tlZE1hcCgpO1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWFwLCBhY3Rpb24uaWQpKSB7XG4gICAgICByZXR1cm4gISFtYXBbYWN0aW9uLmlkXTtcbiAgICB9XG4gICAgcmV0dXJuICEhYWN0aW9uLmNoZWNrZWQ7XG4gIH1cblxuICBvbkFjdGlvbkNsaWNrKGFjdGlvbjogR2VvTWFwVG9vbGJhckFjdGlvbik6IHZvaWQge1xuICAgIGlmIChhY3Rpb24uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1RvZ2dsZUFjdGlvbihhY3Rpb24pKSB7XG4gICAgICBjb25zdCBuZXh0ID0gIXRoaXMuaXNDaGVja2VkKGFjdGlvbik7XG4gICAgICB0aGlzLmNoZWNrZWRNYXAudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCBbYWN0aW9uLmlkXTogbmV4dCB9KSk7XG4gICAgICB0aGlzLmFjdGlvblRvZ2dsZS5lbWl0KHsgYWN0aW9uLCBjaGVja2VkOiBuZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChhY3Rpb24pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZ2VvLW1hcC10b29sYmFyXCJcbiAgW2NsYXNzLmdlby1tYXAtdG9vbGJhci0tY29tcGFjdF09XCJjb21wYWN0KClcIlxuICByb2xlPVwidG9vbGJhclwiXG4gIGFyaWEtbGFiZWw9XCJUaGFvIHTDoWMgYuG6o24gxJHhu5NcIlxuPlxuICBAZm9yIChhY3Rpb24gb2YgcmVzb2x2ZWRBY3Rpb25zKCk7IHRyYWNrIGFjdGlvbi5pZCkge1xuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImdlby1tYXAtdG9vbGJhcl9fdGlwXCJcbiAgICAgIFtuei10b29sdGlwXT1cInRvb2x0aXBPZihhY3Rpb24pXCJcbiAgICAgIG56VG9vbHRpcFBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJnZW8tbWFwLXRvb2xiYXJfX2J0blwiXG4gICAgICAgIFtjbGFzcy5nZW8tbWFwLXRvb2xiYXJfX2J0bi0taWNvbi1vbmx5XT1cIlxuICAgICAgICAgIGFjdGlvbi5pY29uT25seSB8fCAhYWN0aW9uLmxhYmVsIHx8IGNvbXBhY3QoKVxuICAgICAgICBcIlxuICAgICAgICBbY2xhc3MuZ2VvLW1hcC10b29sYmFyX19idG4tLWFjdGl2ZV09XCJhY3Rpb24uYWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9fYnRuLS1jaGVja2VkXT1cImlzQ2hlY2tlZChhY3Rpb24pXCJcbiAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9fYnRuLS1wcmltYXJ5XT1cImFjdGlvbi52YXJpYW50ID09PSAncHJpbWFyeSdcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b29sdGlwT2YoYWN0aW9uKVwiXG4gICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc1RvZ2dsZUFjdGlvbihhY3Rpb24pID8gaXNDaGVja2VkKGFjdGlvbikgOiBudWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uQ2xpY2soYWN0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoYWN0aW9uLmljb25TcmMpIHtcbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBjbGFzcz1cImdlby1tYXAtdG9vbGJhcl9faWNvbi1pbWdcIlxuICAgICAgICAgICAgW2NsYXNzLmdlby1tYXAtdG9vbGJhcl9faWNvbi1pbWctLWhvbWVdPVwiYWN0aW9uLnZhcmlhbnQgPT09ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbc3JjXT1cImFjdGlvbi5pY29uU3JjXCJcbiAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICBkcmFnZ2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfSBAZWxzZSBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICA8Z2VvLWljb24gW3R5cGVdPVwiYWN0aW9uLmljb25cIiBzaXplPVwic21cIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYWN0aW9uLmxhYmVsICYmICFhY3Rpb24uaWNvbk9ubHkgJiYgIWNvbXBhY3QoKSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2VvLW1hcC10b29sYmFyX19sYWJlbFwiPnt7IGFjdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuICB9XG48L2Rpdj5cbiJdfQ==