@smarterplan/ngx-smarterplan-locations 0.4.19 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/components/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/components/chevron/chevron.component.mjs +3 -3
- package/esm2022/lib/components/detail-location/detail-location.component.mjs +40 -4
- package/esm2022/lib/components/form-location/form-location.component.mjs +3 -3
- package/esm2022/lib/components/images/images.component.mjs +3 -3
- package/esm2022/lib/components/landmark-picker/landmark-picker.component.mjs +3 -3
- package/esm2022/lib/components/locations/locations.component.mjs +19 -4
- package/esm2022/lib/components/locations/map/map-popup/map-popup.component.mjs +3 -3
- package/esm2022/lib/components/locations/map/map.component.mjs +3 -3
- package/esm2022/lib/components/models3d/models3d.component.mjs +295 -0
- package/esm2022/lib/components/plan-legend/plan-legend.component.mjs +3 -3
- package/esm2022/lib/components/plans/calibration/calibration.component.mjs +3 -3
- package/esm2022/lib/components/plans/edit-plan/edit-plan.component.mjs +3 -3
- package/esm2022/lib/components/plans/plans.component.mjs +3 -3
- package/esm2022/lib/components/tab-navigation/tab-navigation.component.mjs +3 -3
- package/esm2022/lib/components/visits/visits.component.mjs +45 -12
- package/esm2022/lib/components/zones/add-audio-zone/add-audio-zone.component.mjs +3 -3
- package/esm2022/lib/components/zones/add-zone/add-zone.component.mjs +3 -3
- package/esm2022/lib/components/zones/add-zone/selection/selection.component.mjs +3 -3
- package/esm2022/lib/components/zones/add-zone/sweep-plan-selection/sweep-plan-selection.component.mjs +3 -3
- package/esm2022/lib/components/zones/zones.component.mjs +3 -3
- package/esm2022/lib/helper.service.mjs +1 -1
- package/esm2022/lib/ngx-smarterplan-location-routing.module.mjs +3 -1
- package/esm2022/lib/ngx-smarterplan-locations.module.mjs +4 -1
- package/esm2022/lib/ngx-smarterplan-locations.service.mjs +1 -1
- package/esm2022/lib/pipes/count-audio-sweeps.pipe.mjs +1 -1
- package/esm2022/lib/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/smarterplan-ngx-smarterplan-locations.mjs +424 -56
- package/fesm2022/smarterplan-ngx-smarterplan-locations.mjs.map +1 -1
- package/lib/components/detail-location/detail-location.component.d.ts +13 -0
- package/lib/components/locations/locations.component.d.ts +10 -0
- package/lib/components/locations/map/map.component.d.ts +2 -2
- package/lib/components/models3d/models3d.component.d.ts +84 -0
- package/lib/components/visits/visits.component.d.ts +8 -3
- package/lib/components/zones/add-zone/sweep-plan-selection/sweep-plan-selection.component.d.ts +0 -1
- package/lib/ngx-smarterplan-locations.module.d.ts +27 -26
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
-
import { LevelStatus, enumToArray, SearchObjectType } from '@smarterplan/ngx-smarterplan-core';
|
|
2
|
+
import { LevelStatus, enumToArray, SearchObjectType, CaptureViewer } from '@smarterplan/ngx-smarterplan-core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@smarterplan/ngx-smarterplan-core";
|
|
5
5
|
import * as i2 from "@angular/router";
|
|
@@ -115,6 +115,21 @@ export class LocationsComponent {
|
|
|
115
115
|
}
|
|
116
116
|
this.setupMenuItems();
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* The visits shown under a location.
|
|
120
|
+
*
|
|
121
|
+
* Everyone gets the first one, which is the location's main entry point. Managers also get the
|
|
122
|
+
* rest, so a site carrying both a Matterport tour and one or more 3D models can be opened in
|
|
123
|
+
* either without going through the admin screens.
|
|
124
|
+
*/
|
|
125
|
+
visitsToShow(loc) {
|
|
126
|
+
const visits = loc.visits ?? [];
|
|
127
|
+
return this.isManagerForSpace(loc.id) ? visits : visits.slice(0, 1);
|
|
128
|
+
}
|
|
129
|
+
/** True when this visit opens in the Three.js viewer rather than Matterport. */
|
|
130
|
+
isThreeJsVisit(visit) {
|
|
131
|
+
return visit?.viewer === CaptureViewer.THREEJS;
|
|
132
|
+
}
|
|
118
133
|
async onVisitClick(loc, visit) {
|
|
119
134
|
if (!this.userService.userHasAccessToAllZonesInSpace(loc.id)) {
|
|
120
135
|
// get allowed sweep for the user
|
|
@@ -147,10 +162,10 @@ export class LocationsComponent {
|
|
|
147
162
|
this.router.navigate(["dashboard/localisation", spaceID]);
|
|
148
163
|
}
|
|
149
164
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocationsComponent, deps: [{ token: i1.SpaceService }, { token: i2.Router }, { token: i1.BaseUserService }, { token: i1.ViewerService }, { token: i1.NavigationService }, { token: i1.NavigatorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LocationsComponent, selector: "lib-locations", ngImport: i0, template: "<div class=\"dashboard-tab\">\
|
|
165
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LocationsComponent, selector: "lib-locations", ngImport: i0, template: "<div class=\"dashboard-tab\">\n <div class=\"header-dashboard-tab\">\n <div class=\"m-3\">\n <lib-tab-navigation (onGoBack)=\"onFormChange(null)\" [menuItems]='menuItems'></lib-tab-navigation>\n <span class=\"ml-3 refreshIcon\" (click)=\"refresh()\" *ngIf=\"!(isAdding)\" ngbTooltip=\"Refresh list\">\n <span class=\"iconify refreshIcon\" data-icon=\"ion:refresh-circle\" data-width=\"35\" data-rotate=\"90deg\"></span>\n </span>\n </div> \n <lib-search-bar *ngIf=\"!isAdding && !isMuseumUser\" [searchable]=\"locations\" [objectType]=\"getSearchType()\"\n (searchEvent)=\"applyResultsSearchBar($event)\"></lib-search-bar>\n \n <div class=\"col-md-8\">\n <div class=\"sp-row\" *ngIf=\"!isAdding && isManager\">\n <button data-testid=\"new-location-btn\" class=\"btn btn-outline-primary rounded-pill add-location\" (click)=\"onAddLocation()\">\n {{'Add location' | translate}}</button>\n <!-- <div class=\"outer_circle\">\n <button id='btn-icon' (click)=\"onAddLocation()\"></button>\n </div> -->\n </div>\n </div>\n </div>\n <hr>\n <div class=\"row\" *ngIf=\"isAdding\">\n <div class=\"col-md-6\">\n <h4>{{'New location' | translate}}</h4>\n </div>\n </div>\n <section *ngIf=\"!isAdding\">\n <div class=\"row\">\n <div class=\"col-sm-12 col-md-12 col-lg-6\" *ngIf=\"filteredLocations\">\n <ul data-testid=\"location-list-container\" class=\"list-group list-group-flush\">\n <li class=\"d-flex justify-content-between list-group-item\"\n *ngFor=\"let loc of filteredLocations; index as index\">\n <div class=\"d-flex\">\n <div class=\"col-md-5 img-main-container\">\n <div id=\"img_container\">\n <img class=\"location-img\" *ngIf=\"loc.annexes; else elseBlock\" [src]=\"loc.annexes\">\n <ng-template #elseBlock><img class=\"location-img\"\n src=\"./../../../../assets/images/visuel-off-big.jpg\" />\n </ng-template>\n <button [ngClass]=\"['open-btn-'+getStringNoSpace(loc.name)]\" *ngIf=\"isManagerForSpace(loc.id)\" class=\"btn-details\" (click)=\"onDetailViewClick(loc.id)\">\n {{'View details' | translate}}</button>\n </div>\n \n </div>\n <div class=\"col-md-7 location-info\">\n <p>{{loc.name}}</p>\n <p>{{loc.addresses}}</p>\n <!-- One entry per visit, labelled with the name the admin gave it. Everyone sees\n the first; managers also see the others, plus an icon telling the viewers\n apart - a visitor opens whichever they are given and does not need to know. -->\n <p [ngClass]=\"['view-btn-'+getStringNoSpace(loc.name)]\" *ngFor=\"let visit of visitsToShow(loc)\"\n (click)=\"onVisitClick(loc, visit)\" class=\"visit-name\" [style.cursor]=\"'pointer'\"\n [ngbTooltip]=\"isManagerForSpace(loc.id)\n ? (isThreeJsVisit(visit) ? ('3D model' | translate) : ('Matterport tour' | translate))\n : ''\">\n <span class=\"iconify visit-viewer-icon\" *ngIf=\"isManagerForSpace(loc.id)\"\n [attr.data-icon]=\"isThreeJsVisit(visit) ? 'mdi:cube-scan' : 'mdi:rotate-360'\"\n data-inline=\"false\"></span>\n {{ visit.name ? visit.name : loc.name }}\n </p>\n </div>\n </div>\n </li>\n \n </ul>\n </div>\n <div class=\"col-sm-12 col-md-12 col-lg-6\">\n <lib-map [spaces]=\"filteredLocations\"></lib-map>\n </div>\n </div>\n </section>\n <lib-form-location *ngIf=\"isAdding\" (onChange)=\"onFormChange($event)\"></lib-form-location>\n</div>\n", styles: [".searchbar{margin-bottom:10px}input[type=file]{display:none}.form-control{border-radius:var(--form-control-border-radius)}.custom-select{border-color:var(--smarterplan-primary);width:auto}.form-new-loc{background-color:#d3d3d3;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.btn-outline-primary{background-color:#fff}h4{color:var(--smarterplan-primary)}section .list-group{margin-top:15px}section .list-group-item{padding:5px 0}section .location-info{font-size:1.1em}section .location-img{width:100%;object-fit:cover;object-position:center bottom;height:165px}#img_container{position:relative;display:inline-block;text-align:center;width:250px}.img-main-container{max-width:250px;width:250px!important;margin-right:10px}.visit-name{color:var(--smarterplan-primary);font-weight:600}.visit-viewer-icon{margin-right:6px;vertical-align:-2px;opacity:.75}.btn-details{background-color:var(--smarterplan-primary-transparent);position:absolute;color:#fff;bottom:0;right:0;width:100%;height:30%;border:none;font-size:1em;text-transform:lowercase}#btn-icon{width:30px;height:30px;background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23565656;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A');border:none;vertical-align:middle}#btn-icon:hover{background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%234BA4A8;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A')}#btn-icon[disabled]:hover{background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23565656;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A')}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px;margin-left:5px}.refreshIcon{color:var(--smarterplan-primary);cursor:pointer}.refreshIcon svg{vertical-align:middle!important}.add-location{width:fit-content}.sp-row{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.SearchBarComponent, selector: "lib-search-bar", inputs: ["searchable", "objectType"], outputs: ["searchEvent"] }, { kind: "component", type: i5.TabNavigationComponent, selector: "lib-tab-navigation", inputs: ["menuItems"], outputs: ["onGoBack"] }, { kind: "component", type: i6.MapComponent, selector: "lib-map", inputs: ["spaces"] }, { kind: "component", type: i7.FormLocationComponent, selector: "lib-form-location", inputs: ["location"], outputs: ["onChange"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
151
166
|
}
|
|
152
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LocationsComponent, decorators: [{
|
|
153
168
|
type: Component,
|
|
154
|
-
args: [{ selector: 'lib-locations', template: "<div class=\"dashboard-tab\">\
|
|
169
|
+
args: [{ selector: 'lib-locations', template: "<div class=\"dashboard-tab\">\n <div class=\"header-dashboard-tab\">\n <div class=\"m-3\">\n <lib-tab-navigation (onGoBack)=\"onFormChange(null)\" [menuItems]='menuItems'></lib-tab-navigation>\n <span class=\"ml-3 refreshIcon\" (click)=\"refresh()\" *ngIf=\"!(isAdding)\" ngbTooltip=\"Refresh list\">\n <span class=\"iconify refreshIcon\" data-icon=\"ion:refresh-circle\" data-width=\"35\" data-rotate=\"90deg\"></span>\n </span>\n </div> \n <lib-search-bar *ngIf=\"!isAdding && !isMuseumUser\" [searchable]=\"locations\" [objectType]=\"getSearchType()\"\n (searchEvent)=\"applyResultsSearchBar($event)\"></lib-search-bar>\n \n <div class=\"col-md-8\">\n <div class=\"sp-row\" *ngIf=\"!isAdding && isManager\">\n <button data-testid=\"new-location-btn\" class=\"btn btn-outline-primary rounded-pill add-location\" (click)=\"onAddLocation()\">\n {{'Add location' | translate}}</button>\n <!-- <div class=\"outer_circle\">\n <button id='btn-icon' (click)=\"onAddLocation()\"></button>\n </div> -->\n </div>\n </div>\n </div>\n <hr>\n <div class=\"row\" *ngIf=\"isAdding\">\n <div class=\"col-md-6\">\n <h4>{{'New location' | translate}}</h4>\n </div>\n </div>\n <section *ngIf=\"!isAdding\">\n <div class=\"row\">\n <div class=\"col-sm-12 col-md-12 col-lg-6\" *ngIf=\"filteredLocations\">\n <ul data-testid=\"location-list-container\" class=\"list-group list-group-flush\">\n <li class=\"d-flex justify-content-between list-group-item\"\n *ngFor=\"let loc of filteredLocations; index as index\">\n <div class=\"d-flex\">\n <div class=\"col-md-5 img-main-container\">\n <div id=\"img_container\">\n <img class=\"location-img\" *ngIf=\"loc.annexes; else elseBlock\" [src]=\"loc.annexes\">\n <ng-template #elseBlock><img class=\"location-img\"\n src=\"./../../../../assets/images/visuel-off-big.jpg\" />\n </ng-template>\n <button [ngClass]=\"['open-btn-'+getStringNoSpace(loc.name)]\" *ngIf=\"isManagerForSpace(loc.id)\" class=\"btn-details\" (click)=\"onDetailViewClick(loc.id)\">\n {{'View details' | translate}}</button>\n </div>\n \n </div>\n <div class=\"col-md-7 location-info\">\n <p>{{loc.name}}</p>\n <p>{{loc.addresses}}</p>\n <!-- One entry per visit, labelled with the name the admin gave it. Everyone sees\n the first; managers also see the others, plus an icon telling the viewers\n apart - a visitor opens whichever they are given and does not need to know. -->\n <p [ngClass]=\"['view-btn-'+getStringNoSpace(loc.name)]\" *ngFor=\"let visit of visitsToShow(loc)\"\n (click)=\"onVisitClick(loc, visit)\" class=\"visit-name\" [style.cursor]=\"'pointer'\"\n [ngbTooltip]=\"isManagerForSpace(loc.id)\n ? (isThreeJsVisit(visit) ? ('3D model' | translate) : ('Matterport tour' | translate))\n : ''\">\n <span class=\"iconify visit-viewer-icon\" *ngIf=\"isManagerForSpace(loc.id)\"\n [attr.data-icon]=\"isThreeJsVisit(visit) ? 'mdi:cube-scan' : 'mdi:rotate-360'\"\n data-inline=\"false\"></span>\n {{ visit.name ? visit.name : loc.name }}\n </p>\n </div>\n </div>\n </li>\n \n </ul>\n </div>\n <div class=\"col-sm-12 col-md-12 col-lg-6\">\n <lib-map [spaces]=\"filteredLocations\"></lib-map>\n </div>\n </div>\n </section>\n <lib-form-location *ngIf=\"isAdding\" (onChange)=\"onFormChange($event)\"></lib-form-location>\n</div>\n", styles: [".searchbar{margin-bottom:10px}input[type=file]{display:none}.form-control{border-radius:var(--form-control-border-radius)}.custom-select{border-color:var(--smarterplan-primary);width:auto}.form-new-loc{background-color:#d3d3d3;padding-top:10px;padding-bottom:10px;margin-bottom:15px}.btn-outline-primary{background-color:#fff}h4{color:var(--smarterplan-primary)}section .list-group{margin-top:15px}section .list-group-item{padding:5px 0}section .location-info{font-size:1.1em}section .location-img{width:100%;object-fit:cover;object-position:center bottom;height:165px}#img_container{position:relative;display:inline-block;text-align:center;width:250px}.img-main-container{max-width:250px;width:250px!important;margin-right:10px}.visit-name{color:var(--smarterplan-primary);font-weight:600}.visit-viewer-icon{margin-right:6px;vertical-align:-2px;opacity:.75}.btn-details{background-color:var(--smarterplan-primary-transparent);position:absolute;color:#fff;bottom:0;right:0;width:100%;height:30%;border:none;font-size:1em;text-transform:lowercase}#btn-icon{width:30px;height:30px;background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23565656;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A');border:none;vertical-align:middle}#btn-icon:hover{background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%234BA4A8;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A')}#btn-icon[disabled]:hover{background:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Calque_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 60 60\" style=\"enable-background:new 0 0 60 60;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23565656;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M30,47.6c-0.7,0-1.2-0.2-1.6-0.6c-0.4-0.4-0.6-1-0.6-1.6V32.3h-13c-0.7,0-1.2-0.2-1.6-0.6%0A%09%09c-0.4-0.4-0.6-1-0.6-1.6c0-0.7,0.2-1.2,0.6-1.6s1-0.6,1.6-0.6h13V14.6c0-0.7,0.2-1.2,0.6-1.6c0.4-0.4,1-0.6,1.6-0.6%0A%09%09c0.7,0,1.3,0.2,1.7,0.6c0.4,0.4,0.6,1,0.6,1.6v13.1h13c0.7,0,1.2,0.2,1.6,0.6c0.4,0.4,0.6,1,0.6,1.6c0,0.7-0.2,1.2-0.6,1.6%0A%09%09c-0.4,0.4-1,0.6-1.6,0.6h-13v13.1c0,0.7-0.2,1.2-0.6,1.6C31.2,47.4,30.7,47.6,30,47.6z\"/>%0A</g>%0A</svg>%0A')}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px;margin-left:5px}.refreshIcon{color:var(--smarterplan-primary);cursor:pointer}.refreshIcon svg{vertical-align:middle!important}.add-location{width:fit-content}.sp-row{display:flex;flex-direction:row}\n"] }]
|
|
155
170
|
}], ctorParameters: () => [{ type: i1.SpaceService }, { type: i2.Router }, { type: i1.BaseUserService }, { type: i1.ViewerService }, { type: i1.NavigationService }, { type: i1.NavigatorService }] });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9sb2NhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWxvY2F0aW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYXRpb25zL2xvY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQTRGLFdBQVcsRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7OztBQVExTSxNQUFNLE9BQU8sa0JBQWtCO0lBNEJmO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQS9CWixVQUFVLENBQW1CO0lBRTdCLE1BQU0sQ0FBcUI7SUFFM0IsYUFBYSxDQUFPO0lBRXBCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsaUJBQWlCLEdBQVksRUFBRSxDQUFDO0lBRWhDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFbEIsWUFBWSxHQUFHLElBQUksQ0FBQztJQUVwQixTQUFTLEdBQVksRUFBRSxDQUFDO0lBRXhCLFNBQVMsR0FBZSxFQUFFLENBQUM7SUFFM0IsZUFBZSxDQUFlO0lBRTlCLHNCQUFzQixDQUFlO0lBRXJDLGtHQUFrRztJQUNsRyxvQkFBb0IsR0FBWSxFQUFFLENBQUM7SUFFbkMsWUFDWSxZQUEwQixFQUMxQixNQUFjLEVBQ2QsV0FBNEIsRUFDNUIsYUFBNEIsRUFDNUIsaUJBQW9DLEVBQ3BDLGdCQUFrQztRQUxsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qs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QWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsd0VBQXdFO0lBQy9ILENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQUk7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBZTtRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsMENBQTBDO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTVLUSxrQkFBa0I7NEZBQWxCLGtCQUFrQixxRENYL0IsK3lHQStEQTs7NEZEcERhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTGV2ZWxTdGF0dXMsIFNwYWNlLCBTcGFjZVNlcnZpY2UsIEJhc2VVc2VyU2VydmljZSwgVmlld2VyU2VydmljZSwgTmF2aWdhdGlvblNlcnZpY2UsIE5hdmlnYXRvclNlcnZpY2UsIGVudW1Ub0FycmF5LCBWaXNpdCwgTWVudUl0ZW0sIFNlYXJjaE9iamVjdFR5cGUgfSBmcm9tICdAc21hcnRlcnBsYW4vbmd4LXNtYXJ0ZXJwbGFuLWNvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItbG9jYXRpb25zJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2NhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9jYXRpb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2F0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgY3JlYXRlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgICBsZXZlbHM6IEFycmF5PExldmVsU3RhdHVzPjtcclxuXHJcbiAgICBpbWFnZVRvVXBsb2FkOiBGaWxlO1xyXG5cclxuICAgIGlzQWRkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgZmlsdGVyZWRMb2NhdGlvbnM6IFNwYWNlW10gPSBbXTtcclxuXHJcbiAgICBpc01hbmFnZXIgPSBmYWxzZTtcclxuXHJcbiAgICBpc011c2V1bVVzZXIgPSB0cnVlO1xyXG5cclxuICAgIGxvY2F0aW9uczogU3BhY2VbXSA9IFtdO1xyXG5cclxuICAgIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIHVzZXJTdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIGxvY2F0aW9uSURTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICAvKiogTGFzdCBmaWx0ZXJlZCBMb2NhdGlvbnMsIHVzZWQgd2hlbiB3ZSBnbyBiYWNrIG9uIGFsbCBsb2NhdGlvbnMgZnJvbSB0aGUgc2VhcmNoIGJhciBsb2NhdGlvbiAqL1xyXG4gICAgbGFzdEZpbHRyZWRMb2NhdGlvbnM6IFNwYWNlW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHNwYWNlU2VydmljZTogU3BhY2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogQmFzZVVzZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgdmlld2VyU2VydmljZTogVmlld2VyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBOYXZpZ2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG5hdmlnYXRvclNlcnZpY2U6IE5hdmlnYXRvclNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmxldmVscyA9IGVudW1Ub0FycmF5KExldmVsU3RhdHVzKTtcclxuICAgICAgICB0aGlzLnVzZXJTdWJjcmlwdGlvbiA9IHRoaXMudXNlclNlcnZpY2UuaXNDaGFuZ2VkLnN1YnNjcmliZSgoaXNDb25uZWN0ZWQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzQ29ubmVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmxvY2F0aW9uSURTdWJzY3JpcHRpb24gPVxyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubG9jYXRpb25JRENoYW5nZS5zdWJzY3JpYmUoKGlkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlbGVjdGVkTG9jYXRpb24oaWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cE1lbnVJdGVtcygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy51c2VyU2VydmljZS5jdSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0TGlzdCgpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJSaWdodHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXR1cE1lbnVJdGVtcygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBmaW5kU3BhY2VCeUlkKGlkOiBzdHJpbmcpOiBTcGFjZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zLmZpbmQoKGxvYykgPT4gbG9jLmlkID09PSBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGUgd2hlbiB3ZSBjaGFuZ2UgdGhlIHNlbGVjdGVkIGxvY2F0aW9uIGluIGZpbHRlciAoc2VhcmNoIGJhcilcclxuICAgICAqIEBwYXJhbSBpZCBmb3IgYSBsb2NhdGlvbiwgaWYgbnVsbCBkaXNwbGF5IGFsbCBsYXN0IGZpbHRyZWQgbG9jYXRpb25cclxuICAgICAqL1xyXG4gICAgY2hhbmdlU2VsZWN0ZWRMb2NhdGlvbihpZD86IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHNwYWNlID0gaWQgPyB0aGlzLmZpbmRTcGFjZUJ5SWQoaWQpIDogbnVsbDtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkTG9jYXRpb25zID0gc3BhY2UgPyBbc3BhY2VdIDogdGhpcy5sYXN0RmlsdHJlZExvY2F0aW9uczsgLy8gTmV3IHNlbGVjdGVkIHNwYWNlIG9yIGxhc3QgZmlsdGVyZWQgbG9jYXRpb25cclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVXNlclJpZ2h0cygpO1xyXG4gICAgICAgIHRoaXMucmVzZXRMaXN0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMudXNlclN1YmNyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbklEU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBNZW51SXRlbXMoKSB7XHJcbiAgICAgICAgdGhpcy5tZW51SXRlbXMgPSBbeyBsYWJlbDogXCJBbGwgTG9jYXRpb25zXCIsIHVybDogXCIvbG9jYWxpc2F0aW9uXCIgfV07XHJcbiAgICAgICAgaWYgKHRoaXMuaXNBZGRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51SXRlbXMucHVzaCh7IGxhYmVsOiBcIk5ld1wiIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5maWx0ZXJlZExvY2F0aW9ucy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRMb2MgPSB0aGlzLmZpbHRlcmVkTG9jYXRpb25zWzBdO1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtcy5wdXNoKHsgbGFiZWw6IHNlbGVjdGVkTG9jLm5hbWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVVzZXJSaWdodHMoKSB7XHJcbiAgICAgICAgdGhpcy5pc01hbmFnZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmhhc01hbmFnZXJSb2xlSW5BbnlNaXNzaW9uKCk7XHJcbiAgICAgICAgdGhpcy5pc011c2V1bVVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmhhc09ubHlNdXNldW1Sb2xlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNNYW5hZ2VyRm9yU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5pc01hbmFnZXIoc3BhY2VJRCkgfHxcclxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5pc0d1aWRlKHNwYWNlSUQpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXNldExpc3QoKSB7XHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbnMgPSBhd2FpdCB0aGlzLnNwYWNlU2VydmljZS5nZXRMb2NhdGlvbnNGb3JDdXJyZW50VXNlcigpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRMb2NhdGlvbnMgPSB0aGlzLmxvY2F0aW9ucztcclxuICAgICAgICB0aGlzLmxhc3RGaWx0cmVkTG9jYXRpb25zID0gdGhpcy5sb2NhdGlvbnM7XHJcbiAgICAgICAgdGhpcy5pc0FkZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRMb2NhdGlvbihcclxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmN1cnJlbnROYXZCYXJMb2NhdGlvbklELFxyXG4gICAgICAgICk7IC8vIFNldCBmb3IgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgbG9jYXRpb25cclxuICAgICAgICB0aGlzLnNldHVwTWVudUl0ZW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25BZGRMb2NhdGlvbigpIHtcclxuICAgICAgICB0aGlzLmlzQWRkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNldHVwTWVudUl0ZW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlSW1hZ2VJbnB1dChmaWxlczogRmlsZUxpc3QpIHtcclxuICAgICAgICB0aGlzLmltYWdlVG9VcGxvYWQgPSBmaWxlcy5pdGVtKDApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRm9ybUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmxvY2F0aW9uSURDaGFuZ2UubmV4dChcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICApOyAvKiogUmVtb3ZlIHNlbGVjdGVkIGxvY2F0aW9uICovXHJcbiAgICAgICAgdGhpcy5pc0FkZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0TGlzdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldHVwTWVudUl0ZW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25WaXNpdENsaWNrKGxvYzogU3BhY2UsIHZpc2l0OiBWaXNpdCkge1xyXG4gICAgICAgIGlmICghdGhpcy51c2VyU2VydmljZS51c2VySGFzQWNjZXNzVG9BbGxab25lc0luU3BhY2UobG9jLmlkKSkge1xyXG4gICAgICAgICAgICAvLyBnZXQgYWxsb3dlZCBzd2VlcCBmb3IgdGhlIHVzZXJcclxuICAgICAgICAgICAgY29uc3QgYWxsb3dlZFN3ZWVwcyA9XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldEFsbG93ZWRTd2VlcHNJRHNGb3JVc2VySW5TcGFjZShcclxuICAgICAgICAgICAgICAgICAgICBsb2MuaWQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBmaXJzdFN3ZWVwID0gYWxsb3dlZFN3ZWVwc1swXTtcclxuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFN3ZWVwVG9Nb3ZlKGZpcnN0U3dlZXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy51c2VyU2VydmljZS5pc0d1aWRlKGxvYy5pZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibXVzZXVtXCIsIGxvYy5pZF0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcInZpc2l0XCIsIGxvYy5pZF0sIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHZpc2l0Lm1vZGVsM2QgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5UmVzdWx0c1NlYXJjaEJhcihyZXN1bHRzOiBTcGFjZVtdKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZExvY2F0aW9ucyA9IHJlc3VsdHMgfHwgdGhpcy5sb2NhdGlvbnM7XHJcbiAgICAgICAgdGhpcy5sYXN0RmlsdHJlZExvY2F0aW9ucyA9IHRoaXMuZmlsdGVyZWRMb2NhdGlvbnM7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmxvY2F0aW9uSURDaGFuZ2UubmV4dChudWxsKTsgLy8gV2hlbiB3ZSBzZWFyY2ggd2l0aCBrZXl3b3JkLCB3ZSB3b3VsZCBsaWtlIHRvIHNlYXJjaCBvbiBhbGwgbG9jYXRpb25zXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2VhcmNoVHlwZSgpOiBTZWFyY2hPYmplY3RUeXBlIHtcclxuICAgICAgICByZXR1cm4gU2VhcmNoT2JqZWN0VHlwZS5MT0NBVElPTjtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTdHJpbmdOb1NwYWNlKGRhdGEpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkYXRhLnJlcGxhY2UoL1xccy9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EZXRhaWxWaWV3Q2xpY2soc3BhY2VJRDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmxvY2F0aW9uSURDaGFuZ2UubmV4dChzcGFjZUlEKTsgLy8gU2VuZCB1cGRhdGUgZm9yIHRoZSBsb2NhdGlvbiBmaWx0ZXIgYmFyXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiZGFzaGJvYXJkL2xvY2FsaXNhdGlvblwiLCBzcGFjZUlEXSk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtdGFiXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWRhc2hib2FyZC10YWJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm0tM1wiPlxyXG4gICAgICAgIDxsaWItdGFiLW5hdmlnYXRpb24gKG9uR29CYWNrKT1cIm9uRm9ybUNoYW5nZShudWxsKVwiIFttZW51SXRlbXNdPSdtZW51SXRlbXMnPjwvbGliLXRhYi1uYXZpZ2F0aW9uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMyByZWZyZXNoSWNvblwiIChjbGljayk9XCJyZWZyZXNoKClcIiAqbmdJZj1cIiEoaXNBZGRpbmcpXCIgbmdiVG9vbHRpcD1cIlJlZnJlc2ggbGlzdFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uaWZ5IHJlZnJlc2hJY29uXCIgZGF0YS1pY29uPVwiaW9uOnJlZnJlc2gtY2lyY2xlXCIgZGF0YS13aWR0aD1cIjM1XCIgZGF0YS1yb3RhdGU9XCI5MGRlZ1wiPjwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PiAgXHJcbiAgICAgIDxsaWItc2VhcmNoLWJhciAqbmdJZj1cIiFpc0FkZGluZyAmJiAhaXNNdXNldW1Vc2VyXCIgW3NlYXJjaGFibGVdPVwibG9jYXRpb25zXCIgW29iamVjdFR5cGVdPVwiZ2V0U2VhcmNoVHlwZSgpXCJcclxuICAgICAgICAoc2VhcmNoRXZlbnQpPVwiYXBwbHlSZXN1bHRzU2VhcmNoQmFyKCRldmVudClcIj48L2xpYi1zZWFyY2gtYmFyPlxyXG4gICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNwLXJvd1wiICpuZ0lmPVwiIWlzQWRkaW5nICYmIGlzTWFuYWdlclwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBkYXRhLXRlc3RpZD1cIm5ldy1sb2NhdGlvbi1idG5cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5IHJvdW5kZWQtcGlsbCBhZGQtbG9jYXRpb25cIiAoY2xpY2spPVwib25BZGRMb2NhdGlvbigpXCI+XHJcbiAgICAgICAgICAgIHt7J0FkZCBsb2NhdGlvbicgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwib3V0ZXJfY2lyY2xlXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gaWQ9J2J0bi1pY29uJyAoY2xpY2spPVwib25BZGRMb2NhdGlvbigpXCI+PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aHI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJpc0FkZGluZ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cclxuICAgICAgICA8aDQ+e3snTmV3IGxvY2F0aW9uJyB8IHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzZWN0aW9uICpuZ0lmPVwiIWlzQWRkaW5nXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctNlwiICpuZ0lmPVwiZmlsdGVyZWRMb2NhdGlvbnNcIj5cclxuICAgICAgICAgIDx1bCBkYXRhLXRlc3RpZD1cImxvY2F0aW9uLWxpc3QtY29udGFpbmVyXCIgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtZmx1c2hcIj5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGxpc3QtZ3JvdXAtaXRlbVwiXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxvYyBvZiBmaWx0ZXJlZExvY2F0aW9uczsgaW5kZXggYXMgaW5kZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTUgaW1nLW1haW4tY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJpbWdfY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImxvY2F0aW9uLWltZ1wiICpuZ0lmPVwibG9jLmFubmV4ZXM7IGVsc2UgZWxzZUJsb2NrXCIgW3NyY109XCJsb2MuYW5uZXhlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUJsb2NrPjxpbWcgY2xhc3M9XCJsb2NhdGlvbi1pbWdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIuLy4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvdmlzdWVsLW9mZi1iaWcuanBnXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwiWydvcGVuLWJ0bi0nK2dldFN0cmluZ05vU3BhY2UobG9jLm5hbWUpXVwiICpuZ0lmPVwiaXNNYW5hZ2VyRm9yU3BhY2UobG9jLmlkKVwiIGNsYXNzPVwiYnRuLWRldGFpbHNcIiAoY2xpY2spPVwib25EZXRhaWxWaWV3Q2xpY2sobG9jLmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3snVmlldyBkZXRhaWxzJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTcgbG9jYXRpb24taW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cD57e2xvYy5uYW1lfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgIDxwPnt7bG9jLmFkZHJlc3Nlc319PC9wPlxyXG4gICAgICAgICAgICAgICAgICA8cCBbbmdDbGFzc109XCJbJ3ZpZXctYnRuLScrZ2V0U3RyaW5nTm9TcGFjZShsb2MubmFtZSldXCIgKm5nRm9yPVwibGV0IHZpc2l0IG9mIGxvYy52aXNpdHNcIiAoY2xpY2spPVwib25WaXNpdENsaWNrKGxvYywgdmlzaXQpXCIgY2xhc3M9XCJ2aXNpdC1uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiIG5nYlRvb2x0aXA9XCJWaXNpdFwiPnt7IHZpc2l0Lm5hbWUgPyB2aXNpdC5uYW1lIDogbG9jLm5hbWV9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gIFxyXG4gICAgICAgICAgPC91bD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctNlwiPlxyXG4gICAgICAgICAgPGxpYi1tYXAgW3NwYWNlc109XCJmaWx0ZXJlZExvY2F0aW9uc1wiPjwvbGliLW1hcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8bGliLWZvcm0tbG9jYXRpb24gKm5nSWY9XCJpc0FkZGluZ1wiIChvbkNoYW5nZSk9XCJvbkZvcm1DaGFuZ2UoJGV2ZW50KVwiPjwvbGliLWZvcm0tbG9jYXRpb24+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9sb2NhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWxvY2F0aW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYXRpb25zL2xvY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQTRGLFdBQVcsRUFBbUIsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7QUFRek4sTUFBTSxPQUFPLGtCQUFrQjtJQTRCZjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUEvQlosVUFBVSxDQUFtQjtJQUU3QixNQUFNLENBQXFCO0lBRTNCLGFBQWEsQ0FBTztJQUVwQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLGlCQUFpQixHQUFZLEVBQUUsQ0FBQztJQUVoQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFFcEIsU0FBUyxHQUFZLEVBQUUsQ0FBQztJQUV4QixTQUFTLEdBQWUsRUFBRSxDQUFDO0lBRTNCLGVBQWUsQ0FBZTtJQUU5QixzQkFBc0IsQ0FBZTtJQUVyQyxrR0FBa0c7SUFDbEcsb0JBQW9CLEdBQVksRUFBRSxDQUFDO0lBRW5DLFlBQ1ksWUFBMEIsRUFDMUIsTUFBYyxFQUNkLFdBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxnQkFBa0M7UUFMbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0s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YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNwQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQWdCO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3RUFBd0U7SUFDL0gsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBSTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7d0dBN0xRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHFEQ1gvQixzOEhBMEVBOzs0RkQvRGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMZXZlbFN0YXR1cywgU3BhY2UsIFNwYWNlU2VydmljZSwgQmFzZVVzZXJTZXJ2aWNlLCBWaWV3ZXJTZXJ2aWNlLCBOYXZpZ2F0aW9uU2VydmljZSwgTmF2aWdhdG9yU2VydmljZSwgZW51bVRvQXJyYXksIFZpc2l0LCBNZW51SXRlbSwgU2VhcmNoT2JqZWN0VHlwZSwgQ2FwdHVyZVZpZXdlciB9IGZyb20gJ0BzbWFydGVycGxhbi9uZ3gtc21hcnRlcnBsYW4tY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItbG9jYXRpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9jYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sb2NhdGlvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgY3JlYXRlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIGxldmVsczogQXJyYXk8TGV2ZWxTdGF0dXM+O1xuXG4gICAgaW1hZ2VUb1VwbG9hZDogRmlsZTtcblxuICAgIGlzQWRkaW5nID0gZmFsc2U7XG5cbiAgICBmaWx0ZXJlZExvY2F0aW9uczogU3BhY2VbXSA9IFtdO1xuXG4gICAgaXNNYW5hZ2VyID0gZmFsc2U7XG5cbiAgICBpc011c2V1bVVzZXIgPSB0cnVlO1xuXG4gICAgbG9jYXRpb25zOiBTcGFjZVtdID0gW107XG5cbiAgICBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcblxuICAgIHVzZXJTdWJjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgbG9jYXRpb25JRFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqIExhc3QgZmlsdGVyZWQgTG9jYXRpb25zLCB1c2VkIHdoZW4gd2UgZ28gYmFjayBvbiBhbGwgbG9jYXRpb25zIGZyb20gdGhlIHNlYXJjaCBiYXIgbG9jYXRpb24gKi9cbiAgICBsYXN0RmlsdHJlZExvY2F0aW9uczogU3BhY2VbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc3BhY2VTZXJ2aWNlOiBTcGFjZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IEJhc2VVc2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3ZXJTZXJ2aWNlOiBWaWV3ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0b3JTZXJ2aWNlOiBOYXZpZ2F0b3JTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmxldmVscyA9IGVudW1Ub0FycmF5KExldmVsU3RhdHVzKTtcbiAgICAgICAgdGhpcy51c2VyU3ViY3JpcHRpb24gPSB0aGlzLnVzZXJTZXJ2aWNlLmlzQ2hhbmdlZC5zdWJzY3JpYmUoKGlzQ29ubmVjdGVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sb2NhdGlvbklEU3Vic2NyaXB0aW9uID1cbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlLnN1YnNjcmliZSgoaWQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlbGVjdGVkTG9jYXRpb24oaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBNZW51SXRlbXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy51c2VyU2VydmljZS5jdSkge1xuICAgICAgICAgICAgdGhpcy5yZXNldExpc3QoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVXNlclJpZ2h0cygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0dXBNZW51SXRlbXMoKTtcbiAgICB9XG5cblxuICAgIGZpbmRTcGFjZUJ5SWQoaWQ6IHN0cmluZyk6IFNwYWNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zLmZpbmQoKGxvYykgPT4gbG9jLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHdoZW4gd2UgY2hhbmdlIHRoZSBzZWxlY3RlZCBsb2NhdGlvbiBpbiBmaWx0ZXIgKHNlYXJjaCBiYXIpXG4gICAgICogQHBhcmFtIGlkIGZvciBhIGxvY2F0aW9uLCBpZiBudWxsIGRpc3BsYXkgYWxsIGxhc3QgZmlsdHJlZCBsb2NhdGlvblxuICAgICAqL1xuICAgIGNoYW5nZVNlbGVjdGVkTG9jYXRpb24oaWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc3BhY2UgPSBpZCA/IHRoaXMuZmluZFNwYWNlQnlJZChpZCkgOiBudWxsO1xuICAgICAgICB0aGlzLmZpbHRlcmVkTG9jYXRpb25zID0gc3BhY2UgPyBbc3BhY2VdIDogdGhpcy5sYXN0RmlsdHJlZExvY2F0aW9uczsgLy8gTmV3IHNlbGVjdGVkIHNwYWNlIG9yIGxhc3QgZmlsdGVyZWQgbG9jYXRpb25cbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVVzZXJSaWdodHMoKTtcbiAgICAgICAgdGhpcy5yZXNldExpc3QoKTtcbiAgICB9XG5cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVzZXJTdWJjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmxvY2F0aW9uSURTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzZXR1cE1lbnVJdGVtcygpIHtcbiAgICAgICAgdGhpcy5tZW51SXRlbXMgPSBbeyBsYWJlbDogXCJBbGwgTG9jYXRpb25zXCIsIHVybDogXCIvbG9jYWxpc2F0aW9uXCIgfV07XG4gICAgICAgIGlmICh0aGlzLmlzQWRkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtcy5wdXNoKHsgbGFiZWw6IFwiTmV3XCIgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyZWRMb2NhdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZExvYyA9IHRoaXMuZmlsdGVyZWRMb2NhdGlvbnNbMF07XG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtcy5wdXNoKHsgbGFiZWw6IHNlbGVjdGVkTG9jLm5hbWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVVc2VyUmlnaHRzKCkge1xuICAgICAgICB0aGlzLmlzTWFuYWdlciA9IHRoaXMudXNlclNlcnZpY2UuaGFzTWFuYWdlclJvbGVJbkFueU1pc3Npb24oKTtcbiAgICAgICAgdGhpcy5pc011c2V1bVVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmhhc09ubHlNdXNldW1Sb2xlKCk7XG4gICAgfVxuXG4gICAgaXNNYW5hZ2VyRm9yU3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzTWFuYWdlcihzcGFjZUlEKSB8fFxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5pc0d1aWRlKHNwYWNlSUQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVzZXRMaXN0KCkge1xuICAgICAgICB0aGlzLmxvY2F0aW9ucyA9IGF3YWl0IHRoaXMuc3BhY2VTZXJ2aWNlLmdldExvY2F0aW9uc0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMb2NhdGlvbnMgPSB0aGlzLmxvY2F0aW9ucztcbiAgICAgICAgdGhpcy5sYXN0RmlsdHJlZExvY2F0aW9ucyA9IHRoaXMubG9jYXRpb25zO1xuICAgICAgICB0aGlzLmlzQWRkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRMb2NhdGlvbihcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5jdXJyZW50TmF2QmFyTG9jYXRpb25JRCxcbiAgICAgICAgKTsgLy8gU2V0IGZvciB0aGUgY3VycmVudCBzZWxlY3RlZCBsb2NhdGlvblxuICAgICAgICB0aGlzLnNldHVwTWVudUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25BZGRMb2NhdGlvbigpIHtcbiAgICAgICAgdGhpcy5pc0FkZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0dXBNZW51SXRlbXMoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUlucHV0KGZpbGVzOiBGaWxlTGlzdCkge1xuICAgICAgICB0aGlzLmltYWdlVG9VcGxvYWQgPSBmaWxlcy5pdGVtKDApO1xuICAgIH1cblxuICAgIG9uRm9ybUNoYW5nZShldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMubmF2aWdhdG9yU2VydmljZS5sb2NhdGlvbklEQ2hhbmdlLm5leHQoXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICApOyAvKiogUmVtb3ZlIHNlbGVjdGVkIGxvY2F0aW9uICovXG4gICAgICAgIHRoaXMuaXNBZGRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0TGlzdCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0dXBNZW51SXRlbXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmlzaXRzIHNob3duIHVuZGVyIGEgbG9jYXRpb24uXG4gICAgICpcbiAgICAgKiBFdmVyeW9uZSBnZXRzIHRoZSBmaXJzdCBvbmUsIHdoaWNoIGlzIHRoZSBsb2NhdGlvbidzIG1haW4gZW50cnkgcG9pbnQuIE1hbmFnZXJzIGFsc28gZ2V0IHRoZVxuICAgICAqIHJlc3QsIHNvIGEgc2l0ZSBjYXJyeWluZyBib3RoIGEgTWF0dGVycG9ydCB0b3VyIGFuZCBvbmUgb3IgbW9yZSAzRCBtb2RlbHMgY2FuIGJlIG9wZW5lZCBpblxuICAgICAqIGVpdGhlciB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIGFkbWluIHNjcmVlbnMuXG4gICAgICovXG4gICAgdmlzaXRzVG9TaG93KGxvYzogU3BhY2UpOiBWaXNpdFtdIHtcbiAgICAgICAgY29uc3QgdmlzaXRzID0gbG9jLnZpc2l0cyA/PyBbXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNYW5hZ2VyRm9yU3BhY2UobG9jLmlkKSA/IHZpc2l0cyA6IHZpc2l0cy5zbGljZSgwLCAxKTtcbiAgICB9XG5cbiAgICAvKiogVHJ1ZSB3aGVuIHRoaXMgdmlzaXQgb3BlbnMgaW4gdGhlIFRocmVlLmpzIHZpZXdlciByYXRoZXIgdGhhbiBNYXR0ZXJwb3J0LiAqL1xuICAgIGlzVGhyZWVKc1Zpc2l0KHZpc2l0OiBWaXNpdCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmlzaXQ/LnZpZXdlciA9PT0gQ2FwdHVyZVZpZXdlci5USFJFRUpTO1xuICAgIH1cblxuICAgIGFzeW5jIG9uVmlzaXRDbGljayhsb2M6IFNwYWNlLCB2aXNpdDogVmlzaXQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXJTZXJ2aWNlLnVzZXJIYXNBY2Nlc3NUb0FsbFpvbmVzSW5TcGFjZShsb2MuaWQpKSB7XG4gICAgICAgICAgICAvLyBnZXQgYWxsb3dlZCBzd2VlcCBmb3IgdGhlIHVzZXJcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ZWRTd2VlcHMgPVxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0QWxsb3dlZFN3ZWVwc0lEc0ZvclVzZXJJblNwYWNlKFxuICAgICAgICAgICAgICAgICAgICBsb2MuaWQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0U3dlZXAgPSBhbGxvd2VkU3dlZXBzWzBdO1xuICAgICAgICAgICAgdGhpcy52aWV3ZXJTZXJ2aWNlLnNldFN3ZWVwVG9Nb3ZlKGZpcnN0U3dlZXApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVzZXJTZXJ2aWNlLmlzR3VpZGUobG9jLmlkKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibXVzZXVtXCIsIGxvYy5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1widmlzaXRcIiwgbG9jLmlkXSwge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHZpc2l0Lm1vZGVsM2QgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXBwbHlSZXN1bHRzU2VhcmNoQmFyKHJlc3VsdHM6IFNwYWNlW10pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZExvY2F0aW9ucyA9IHJlc3VsdHMgfHwgdGhpcy5sb2NhdGlvbnM7XG4gICAgICAgIHRoaXMubGFzdEZpbHRyZWRMb2NhdGlvbnMgPSB0aGlzLmZpbHRlcmVkTG9jYXRpb25zO1xuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubG9jYXRpb25JRENoYW5nZS5uZXh0KG51bGwpOyAvLyBXaGVuIHdlIHNlYXJjaCB3aXRoIGtleXdvcmQsIHdlIHdvdWxkIGxpa2UgdG8gc2VhcmNoIG9uIGFsbCBsb2NhdGlvbnNcbiAgICB9XG5cbiAgICBnZXRTZWFyY2hUeXBlKCk6IFNlYXJjaE9iamVjdFR5cGUge1xuICAgICAgICByZXR1cm4gU2VhcmNoT2JqZWN0VHlwZS5MT0NBVElPTjtcbiAgICB9XG5cbiAgICBnZXRTdHJpbmdOb1NwYWNlKGRhdGEpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGF0YS5yZXBsYWNlKC9cXHMvZywgJycpO1xuICAgIH1cblxuICAgIG9uRGV0YWlsVmlld0NsaWNrKHNwYWNlSUQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UubG9jYXRpb25JRENoYW5nZS5uZXh0KHNwYWNlSUQpOyAvLyBTZW5kIHVwZGF0ZSBmb3IgdGhlIGxvY2F0aW9uIGZpbHRlciBiYXJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiZGFzaGJvYXJkL2xvY2FsaXNhdGlvblwiLCBzcGFjZUlEXSk7XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLXRhYlwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZGFzaGJvYXJkLXRhYlwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tM1wiPlxuICAgICAgICA8bGliLXRhYi1uYXZpZ2F0aW9uIChvbkdvQmFjayk9XCJvbkZvcm1DaGFuZ2UobnVsbClcIiBbbWVudUl0ZW1zXT0nbWVudUl0ZW1zJz48L2xpYi10YWItbmF2aWdhdGlvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0zIHJlZnJlc2hJY29uXCIgKGNsaWNrKT1cInJlZnJlc2goKVwiICpuZ0lmPVwiIShpc0FkZGluZylcIiBuZ2JUb29sdGlwPVwiUmVmcmVzaCBsaXN0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uaWZ5IHJlZnJlc2hJY29uXCIgZGF0YS1pY29uPVwiaW9uOnJlZnJlc2gtY2lyY2xlXCIgZGF0YS13aWR0aD1cIjM1XCIgZGF0YS1yb3RhdGU9XCI5MGRlZ1wiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+ICBcbiAgICAgIDxsaWItc2VhcmNoLWJhciAqbmdJZj1cIiFpc0FkZGluZyAmJiAhaXNNdXNldW1Vc2VyXCIgW3NlYXJjaGFibGVdPVwibG9jYXRpb25zXCIgW29iamVjdFR5cGVdPVwiZ2V0U2VhcmNoVHlwZSgpXCJcbiAgICAgICAgKHNlYXJjaEV2ZW50KT1cImFwcGx5UmVzdWx0c1NlYXJjaEJhcigkZXZlbnQpXCI+PC9saWItc2VhcmNoLWJhcj5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcC1yb3dcIiAqbmdJZj1cIiFpc0FkZGluZyAmJiBpc01hbmFnZXJcIj5cbiAgICAgICAgICA8YnV0dG9uIGRhdGEtdGVzdGlkPVwibmV3LWxvY2F0aW9uLWJ0blwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgcm91bmRlZC1waWxsIGFkZC1sb2NhdGlvblwiIChjbGljayk9XCJvbkFkZExvY2F0aW9uKClcIj5cbiAgICAgICAgICAgIHt7J0FkZCBsb2NhdGlvbicgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm91dGVyX2NpcmNsZVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBpZD0nYnRuLWljb24nIChjbGljayk9XCJvbkFkZExvY2F0aW9uKClcIj48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGhyPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImlzQWRkaW5nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGg0Pnt7J05ldyBsb2NhdGlvbicgfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8c2VjdGlvbiAqbmdJZj1cIiFpc0FkZGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctNlwiICpuZ0lmPVwiZmlsdGVyZWRMb2NhdGlvbnNcIj5cbiAgICAgICAgICA8dWwgZGF0YS10ZXN0aWQ9XCJsb2NhdGlvbi1saXN0LWNvbnRhaW5lclwiIGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbGlzdC1ncm91cC1pdGVtXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxvYyBvZiBmaWx0ZXJlZExvY2F0aW9uczsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBpbWctbWFpbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJpbWdfY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJsb2NhdGlvbi1pbWdcIiAqbmdJZj1cImxvYy5hbm5leGVzOyBlbHNlIGVsc2VCbG9ja1wiIFtzcmNdPVwibG9jLmFubmV4ZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+PGltZyBjbGFzcz1cImxvY2F0aW9uLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCIuLy4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvdmlzdWVsLW9mZi1iaWcuanBnXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJbJ29wZW4tYnRuLScrZ2V0U3RyaW5nTm9TcGFjZShsb2MubmFtZSldXCIgKm5nSWY9XCJpc01hbmFnZXJGb3JTcGFjZShsb2MuaWQpXCIgY2xhc3M9XCJidG4tZGV0YWlsc1wiIChjbGljayk9XCJvbkRldGFpbFZpZXdDbGljayhsb2MuaWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3snVmlldyBkZXRhaWxzJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC03IGxvY2F0aW9uLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgIDxwPnt7bG9jLm5hbWV9fTwvcD5cbiAgICAgICAgICAgICAgICAgIDxwPnt7bG9jLmFkZHJlc3Nlc319PC9wPlxuICAgICAgICAgICAgICAgICAgPCEtLSBPbmUgZW50cnkgcGVyIHZpc2l0LCBsYWJlbGxlZCB3aXRoIHRoZSBuYW1lIHRoZSBhZG1pbiBnYXZlIGl0LiBFdmVyeW9uZSBzZWVzXG4gICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaXJzdDsgbWFuYWdlcnMgYWxzbyBzZWUgdGhlIG90aGVycywgcGx1cyBhbiBpY29uIHRlbGxpbmcgdGhlIHZpZXdlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgYXBhcnQgLSBhIHZpc2l0b3Igb3BlbnMgd2hpY2hldmVyIHRoZXkgYXJlIGdpdmVuIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGtub3cuIC0tPlxuICAgICAgICAgICAgICAgICAgPHAgW25nQ2xhc3NdPVwiWyd2aWV3LWJ0bi0nK2dldFN0cmluZ05vU3BhY2UobG9jLm5hbWUpXVwiICpuZ0Zvcj1cImxldCB2aXNpdCBvZiB2aXNpdHNUb1Nob3cobG9jKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblZpc2l0Q2xpY2sobG9jLCB2aXNpdClcIiBjbGFzcz1cInZpc2l0LW5hbWVcIiBbc3R5bGUuY3Vyc29yXT1cIidwb2ludGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cImlzTWFuYWdlckZvclNwYWNlKGxvYy5pZClcbiAgICAgICAgICAgICAgICAgICAgICA/IChpc1RocmVlSnNWaXNpdCh2aXNpdCkgPyAoJzNEIG1vZGVsJyB8IHRyYW5zbGF0ZSkgOiAoJ01hdHRlcnBvcnQgdG91cicgfCB0cmFuc2xhdGUpKVxuICAgICAgICAgICAgICAgICAgICAgIDogJydcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uaWZ5IHZpc2l0LXZpZXdlci1pY29uXCIgKm5nSWY9XCJpc01hbmFnZXJGb3JTcGFjZShsb2MuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWljb25dPVwiaXNUaHJlZUpzVmlzaXQodmlzaXQpID8gJ21kaTpjdWJlLXNjYW4nIDogJ21kaTpyb3RhdGUtMzYwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS1pbmxpbmU9XCJmYWxzZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3sgdmlzaXQubmFtZSA/IHZpc2l0Lm5hbWUgOiBsb2MubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gIFxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctNlwiPlxuICAgICAgICAgIDxsaWItbWFwIFtzcGFjZXNdPVwiZmlsdGVyZWRMb2NhdGlvbnNcIj48L2xpYi1tYXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxsaWItZm9ybS1sb2NhdGlvbiAqbmdJZj1cImlzQWRkaW5nXCIgKG9uQ2hhbmdlKT1cIm9uRm9ybUNoYW5nZSgkZXZlbnQpXCI+PC9saWItZm9ybS1sb2NhdGlvbj5cbjwvZGl2PlxuIl19
|
|
@@ -64,10 +64,10 @@ export class MapPopupComponent {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapPopupComponent, deps: [{ token: i1.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MapPopupComponent, selector: "lib-map-popup", ngImport: i0, template: "<div id=\"map-popup\">\
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MapPopupComponent, selector: "lib-map-popup", ngImport: i0, template: "<div id=\"map-popup\">\n <div class=\"map-popup-header\" (click)=\"onClickVisitFirst()\" [style.cursor]=\"'pointer'\">\n <img [src]=\"space.annexes\" />\n </div>\n <div class=\"map-popup-details\">\n <h1 (click)=\"onClickVisitFirst()\" [style.cursor]=\"'pointer'\">{{space.name}}</h1>\n <span class=\"map-popup-address\">{{space.addresses}}</span>\n <span *ngFor=\"let visit of space.visits\" class=\"map-popup-visit\" (click)=\"onVisitClick(visit)\"\n [style.cursor]=\"'pointer'\">\u27A4 {{ visit.name ? visit.name : space.name}}</span>\n </div>\n</div>\n", styles: [":host{display:none!important}:host-context(.leaflet-popup-content){display:block!important}.map-popup-header{height:120px;overflow:hidden;border-top-right-radius:20px;border-top-left-radius:20px}.map-popup-header img{width:100%;position:relative;top:50%;transform:translateY(-50%)}.map-popup-details{padding:5px 10px 10px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background-color:#fff;color:#000}.map-popup-details{display:flex;flex-direction:column}.map-popup-details h1{font-size:1.5rem;font-weight:700;margin-bottom:0;color:var(--smarterplan-primary)}.map-popup-address{align-self:flex-end;margin-bottom:10px}.map-popup-visit{color:var(--smarterplan-primary);font-size:1.15rem}.map-popup-visit:hover{color:var(--smarterplan-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapPopupComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
|
-
args: [{ selector: 'lib-map-popup', template: "<div id=\"map-popup\">\
|
|
71
|
+
args: [{ selector: 'lib-map-popup', template: "<div id=\"map-popup\">\n <div class=\"map-popup-header\" (click)=\"onClickVisitFirst()\" [style.cursor]=\"'pointer'\">\n <img [src]=\"space.annexes\" />\n </div>\n <div class=\"map-popup-details\">\n <h1 (click)=\"onClickVisitFirst()\" [style.cursor]=\"'pointer'\">{{space.name}}</h1>\n <span class=\"map-popup-address\">{{space.addresses}}</span>\n <span *ngFor=\"let visit of space.visits\" class=\"map-popup-visit\" (click)=\"onVisitClick(visit)\"\n [style.cursor]=\"'pointer'\">\u27A4 {{ visit.name ? visit.name : space.name}}</span>\n </div>\n</div>\n", styles: [":host{display:none!important}:host-context(.leaflet-popup-content){display:block!important}.map-popup-header{height:120px;overflow:hidden;border-top-right-radius:20px;border-top-left-radius:20px}.map-popup-header img{width:100%;position:relative;top:50%;transform:translateY(-50%)}.map-popup-details{padding:5px 10px 10px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background-color:#fff;color:#000}.map-popup-details{display:flex;flex-direction:column}.map-popup-details h1{font-size:1.5rem;font-weight:700;margin-bottom:0;color:var(--smarterplan-primary)}.map-popup-address{align-self:flex-end;margin-bottom:10px}.map-popup-visit{color:var(--smarterplan-primary);font-size:1.15rem}.map-popup-visit:hover{color:var(--smarterplan-primary)}\n"] }]
|
|
72
72
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i0.NgZone }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9tYXAvbWFwLXBvcHVwL21hcC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tbG9jYXRpb25zL3NyYy9saWIvY29tcG9uZW50cy9sb2NhdGlvbnMvbWFwL21hcC1wb3B1cC9tYXAtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxlQUFlLENBQUM7Ozs7QUFVMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVlOO0lBQXdCO0lBVjVDLEtBQUssQ0FBUTtJQUViLE1BQU0sQ0FBUztJQUVmLFNBQVMsQ0FBYztJQUV2QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRWxCLFlBQVksR0FBRyxJQUFJLENBQUM7SUFFcEIsWUFBb0IsTUFBYyxFQUFVLE1BQWM7UUFBdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRS9ELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFnQixDQUFDO1FBRXpFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsc0NBQXNDO1FBQ3RDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFZO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMzQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBcEVRLGlCQUFpQjs0RkFBakIsaUJBQWlCLHFEQ1Y5QiwybEJBV0E7OzRGRERhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgU3BhY2UsIFZpc2l0IH0gZnJvbSAnQHNtYXJ0ZXJwbGFuL25neC1zbWFydGVycGxhbi1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1hcC1wb3B1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcG9wdXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXBQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBzcGFjZTogU3BhY2U7XG5cbiAgICBtYXJrZXI6IE1hcmtlcjtcblxuICAgIHBvcHVwYXJlYTogSFRNTEVsZW1lbnQ7XG5cbiAgICBpc09uUG9wdXAgPSBmYWxzZTtcblxuICAgIGlzTXVzZXVtVXNlciA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm1hcmtlci5vbihcImNsaWNrXCIsICgpID0+IHRoaXMub25DbGlja1Zpc2l0Rmlyc3QoKSk7XG5cbiAgICAgICAgdGhpcy5tYXJrZXIub24oXCJtb3VzZW92ZXJcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09uUG9wdXAgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1hcmtlci5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3BlblBvcHVwKCkge1xuICAgICAgICB0aGlzLm1hcmtlci5vcGVuUG9wdXAoKTtcblxuICAgICAgICB0aGlzLmlzT25Qb3B1cCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBvcHVwYXJlYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIubGVhZmxldC1wb3B1cFwiKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5wb3B1cGFyZWEpIHtcbiAgICAgICAgICAgIHRoaXMucG9wdXBhcmVhLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wb3B1cGFyZWEuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3ZlclwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09uUG9wdXAgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tYXJrZXIub24oXCJtb3VzZW91dFwiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2VQb3B1cCgpIHtcbiAgICAgICAgdGhpcy5pc09uUG9wdXAgPSBmYWxzZTtcbiAgICAgICAgLyoqIFdlIHdhbnQgdG8gd2FpdCB0byBhdm9pZCBnbGl0Y2ggKi9cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPblBvcHVwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrZXIuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAxMDApO1xuICAgIH1cblxuICAgIG9uQ2xpY2tWaXNpdEZpcnN0KCkge1xuICAgICAgICBpZiAodGhpcy5zcGFjZS52aXNpdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIk5vIHNwYWNlIHRvIHZpc2l0ICFcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uVmlzaXRDbGljayh0aGlzLnNwYWNlLnZpc2l0c1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBvblZpc2l0Q2xpY2sodmlzaXQ6IFZpc2l0KSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJ2aXNpdFwiLCB0aGlzLnNwYWNlLmlkXSwge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IG1vZGVsM0Q6IHZpc2l0Lm1vZGVsM2QgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxkaXYgaWQ9XCJtYXAtcG9wdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWFwLXBvcHVwLWhlYWRlclwiIChjbGljayk9XCJvbkNsaWNrVmlzaXRGaXJzdCgpXCIgW3N0eWxlLmN1cnNvcl09XCIncG9pbnRlcidcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInNwYWNlLmFubmV4ZXNcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYXAtcG9wdXAtZGV0YWlsc1wiPlxuICAgIDxoMSAoY2xpY2spPVwib25DbGlja1Zpc2l0Rmlyc3QoKVwiIFtzdHlsZS5jdXJzb3JdPVwiJ3BvaW50ZXInXCI+e3tzcGFjZS5uYW1lfX08L2gxPlxuICAgIDxzcGFuIGNsYXNzPVwibWFwLXBvcHVwLWFkZHJlc3NcIj57e3NwYWNlLmFkZHJlc3Nlc319PC9zcGFuPlxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCB2aXNpdCBvZiBzcGFjZS52aXNpdHNcIiBjbGFzcz1cIm1hcC1wb3B1cC12aXNpdFwiIChjbGljayk9XCJvblZpc2l0Q2xpY2sodmlzaXQpXCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5jdXJzb3JdPVwiJ3BvaW50ZXInXCI+4p6kIHt7IHZpc2l0Lm5hbWUgPyB2aXNpdC5uYW1lIDogc3BhY2UubmFtZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -98,15 +98,15 @@ export class MapComponent {
|
|
|
98
98
|
return comp.location.nativeElement;
|
|
99
99
|
}
|
|
100
100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MapComponent, selector: "lib-map", inputs: { spaces: "spaces" }, viewQueries: [{ propertyName: "popupContainer", first: true, predicate: ["popupContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div [leafletLayers]=\"layers\" [leafletOptions]=\"options\" (leafletMapReady)=\"onMapReady($any($event))\" id=\"map\" leaflet\
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MapComponent, selector: "lib-map", inputs: { spaces: "spaces" }, viewQueries: [{ propertyName: "popupContainer", first: true, predicate: ["popupContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div [leafletLayers]=\"layers\" [leafletOptions]=\"options\" (leafletMapReady)=\"onMapReady($any($event))\" id=\"map\" leaflet\n style=\"height: 500px; margin-top: 30px; z-index: 195\"></div>\n\n<!-- Hidden container for popup components to avoid display leakage and manage lifecycle -->\n<div style=\"display: none\">\n <div #popupContainer></div>\n</div>", styles: [":host ::ng-deep lib-map-popup{display:none!important}:host ::ng-deep .leaflet-popup-content lib-map-popup{display:block!important}\n"], dependencies: [{ kind: "directive", type: i1.LeafletDirective, selector: "[leaflet]", inputs: ["leafletFitBoundsOptions", "leafletPanOptions", "leafletZoomOptions", "leafletZoomPanOptions", "leafletOptions", "leafletZoom", "leafletCenter", "leafletFitBounds", "leafletMaxBounds", "leafletMinZoom", "leafletMaxZoom"], outputs: ["leafletMapReady", "leafletZoomChange", "leafletCenterChange", "leafletClick", "leafletDoubleClick", "leafletMouseDown", "leafletMouseUp", "leafletMouseMove", "leafletMouseOver", "leafletMouseOut", "leafletMapMove", "leafletMapMoveStart", "leafletMapMoveEnd", "leafletMapZoom", "leafletMapZoomStart", "leafletMapZoomEnd"] }, { kind: "directive", type: i1.LeafletLayersDirective, selector: "[leafletLayers]", inputs: ["leafletLayers"] }] });
|
|
102
102
|
}
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MapComponent, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
|
-
args: [{ selector: 'lib-map', template: "<div [leafletLayers]=\"layers\" [leafletOptions]=\"options\" (leafletMapReady)=\"onMapReady($any($event))\" id=\"map\" leaflet\
|
|
105
|
+
args: [{ selector: 'lib-map', template: "<div [leafletLayers]=\"layers\" [leafletOptions]=\"options\" (leafletMapReady)=\"onMapReady($any($event))\" id=\"map\" leaflet\n style=\"height: 500px; margin-top: 30px; z-index: 195\"></div>\n\n<!-- Hidden container for popup components to avoid display leakage and manage lifecycle -->\n<div style=\"display: none\">\n <div #popupContainer></div>\n</div>", styles: [":host ::ng-deep lib-map-popup{display:none!important}:host ::ng-deep .leaflet-popup-content lib-map-popup{display:block!important}\n"] }]
|
|
106
106
|
}], ctorParameters: () => [], propDecorators: { spaces: [{
|
|
107
107
|
type: Input
|
|
108
108
|
}], popupContainer: [{
|
|
109
109
|
type: ViewChild,
|
|
110
110
|
args: ['popupContainer', { read: ViewContainerRef, static: true }]
|
|
111
111
|
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9tYXAvbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9tYXAvbWFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixnQkFBZ0IsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFDSCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEdBQ1AsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRSxNQUFNLGFBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUNsRCxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUN6QyxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQztBQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDckIsYUFBYTtJQUNiLE9BQU87SUFDUCxTQUFTO0lBQ1QsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNsQixVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQixhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztDQUN2QixDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO0FBTTVDLE1BQU0sT0FBTyxZQUFZO0lBRXJCLGdCQUFnQixDQUFDO0lBRVIsTUFBTSxDQUFVO0lBQzhDLGNBQWMsQ0FBbUI7SUFFeEcsT0FBTyxHQUFHO1FBQ04sTUFBTSxFQUFFO1lBQ0osU0FBUyxDQUFDLG1EQUFtRCxFQUFFO2dCQUMzRCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDO1NBQ0w7UUFDRCxJQUFJLEVBQUUsR0FBRztRQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQztLQUNwQyxDQUFDO0lBRUYsTUFBTSxHQUFVLEVBQUUsQ0FBQztJQUVuQixHQUFHLENBQU07SUFDRCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFFbEMsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRWQsK0NBQStDO1FBQy9DLDhFQUE4RTtRQUM5RSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFFRCw4Q0FBOEM7UUFDOUMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUM5QyxPQUFPLENBQUMsR0FBRyxDQUNQLEdBQUcsQ0FBQyxDQUFDLElBQUksNEJBQTRCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FDckQsQ0FBQztnQkFDRixTQUFTO1lBQ2IsQ0FBQztZQUNELHVFQUF1RTtZQUN2RSw4REFBOEQ7WUFDOUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUU1QyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU3QyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1gsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QseUVBQXlFO1FBQ3pFLCtCQUErQjtRQUMvQiwwRUFBMEU7UUFDMUUsV0FBVztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELDBEQUEwRDtJQUUxRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUM5QyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQzt3R0FqR1EsWUFBWTs0RkFBWixZQUFZLDBLQUtnQixnQkFBZ0IsZ0VDdkN6RCx3WEFNTTs7NEZENEJPLFlBQVk7a0JBTHhCLFNBQVM7K0JBQ0ksU0FBUzt3REFRVixNQUFNO3NCQUFkLEtBQUs7Z0JBQ2lFLGNBQWM7c0JBQXBGLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNwYWNlIH0gZnJvbSAnQHNtYXJ0ZXJwbGFuL25neC1zbWFydGVycGxhbi1jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIGxhdExuZyxcclxuICAgIG1hcmtlcixcclxuICAgIHRpbGVMYXllcixcclxuICAgIE1hcCxcclxuICAgIGxhdExuZ0JvdW5kcyxcclxuICAgIHBvaW50LFxyXG4gICAgTWFya2VyLFxyXG4gICAgaWNvbixcclxufSBmcm9tIFwibGVhZmxldFwiO1xyXG5pbXBvcnQgeyBNYXBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBvcHVwL21hcC1wb3B1cC5jb21wb25lbnQnO1xyXG5cclxuXHJcbmNvbnN0IGljb25SZXRpbmFVcmwgPSBcImFzc2V0cy9tYXJrZXItaWNvbi0yeC5wbmdcIjtcclxuY29uc3QgaWNvblVybCA9IFwiYXNzZXRzL21hcmtlci1pY29uLnBuZ1wiO1xyXG5jb25zdCBzaGFkb3dVcmwgPSBcImFzc2V0cy9tYXJrZXItc2hhZG93LnBuZ1wiO1xyXG5jb25zdCBpY29uRGVmYXVsdCA9IGljb24oe1xyXG4gICAgaWNvblJldGluYVVybCxcclxuICAgIGljb25VcmwsXHJcbiAgICBzaGFkb3dVcmwsXHJcbiAgICBpY29uU2l6ZTogWzI1LCA0MV0sXHJcbiAgICBpY29uQW5jaG9yOiBbMTIsIDQxXSxcclxuICAgIHBvcHVwQW5jaG9yOiBbMSwgLTM0XSxcclxuICAgIHRvb2x0aXBBbmNob3I6IFsxNiwgLTI4XSxcclxuICAgIHNoYWRvd1NpemU6IFs0MSwgNDFdLFxyXG59KTtcclxuTWFya2VyLnByb3RvdHlwZS5vcHRpb25zLmljb24gPSBpY29uRGVmYXVsdDtcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi1tYXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9tYXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIEBJbnB1dCgpIHNwYWNlczogU3BhY2VbXTtcclxuICAgIEBWaWV3Q2hpbGQoJ3BvcHVwQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wdXBDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gICAgb3B0aW9ucyA9IHtcclxuICAgICAgICBsYXllcnM6IFtcclxuICAgICAgICAgICAgdGlsZUxheWVyKFwiaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZ1wiLCB7XHJcbiAgICAgICAgICAgICAgICBtYXhab29tOiAxOCxcclxuICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uOiBcIi4uLlwiLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHpvb206IDUuNSxcclxuICAgICAgICBjZW50ZXI6IGxhdExuZyg0Ny4wNjM5NCwgMi43NzczNiksXHJcbiAgICB9O1xyXG5cclxuICAgIGxheWVyczogYW55W10gPSBbXTtcclxuXHJcbiAgICBtYXA6IGFueTtcclxuICAgIHByaXZhdGUgaXNWaWV3SW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc3BhY2VzKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmlld0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlYnVpbGRMYXllcnMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pc1ZpZXdJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZWJ1aWxkTGF5ZXJzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWJ1aWxkTGF5ZXJzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zcGFjZXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgbm0gPSBbXTtcclxuICAgICAgICBjb25zdCBiZCA9IFtdO1xyXG5cclxuICAgICAgICAvLyBDbGVhciBwcmV2aW91cyBjb21wb25lbnRzIHRvIGF2b2lkIGxlYWthZ2UuIFxyXG4gICAgICAgIC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpOyAvLyBSZW1vdmVkIGFzIHdlIHVzZSB0aGUgZGVkaWNhdGVkIGNvbnRhaW5lclxyXG4gICAgICAgIGlmICh0aGlzLnBvcHVwQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEZpbHRlcmluZyBvdXQgc3BhY2VzIHdpdGhvdXQgbGF0L2xvbmdpdHVkZXNcclxuICAgICAgICBmb3IgKGNvbnN0IHMgb2YgdGhpcy5zcGFjZXMpIHtcclxuICAgICAgICAgICAgaWYgKHMubGF0aXR1ZGUgPT09IG51bGwgfHwgcy5sb25naXR1ZGUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICAgICAgICAgIGAke3MubmFtZX0gaGFzIG5vdCBjb29yZGluYXRlcyBmb3IgJHtzLmFkZHJlc3Nlc31gLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFdlIHVzZSB0aGUgcG9wdXAgc3lzdGVtIGZyb20gbGVhZmxldCwgYXMgaXQgcGFja3MgYSBmZXcgaW1wcm92ZW1lbnRzXHJcbiAgICAgICAgICAgIC8vIG9uIHVzaW5nIGJvb3RzdHJhcDogYXV0b2Nsb3NlIG90aGVyIHBvcHVwcywgY2xvc2luZyBvcHRpb24uXHJcbiAgICAgICAgICAgIGNvbnN0IG0gPSBtYXJrZXIoW3MubGF0aXR1ZGUsIHMubG9uZ2l0dWRlXSk7XHJcblxyXG4gICAgICAgICAgICBtLmJpbmRQb3B1cCh0aGlzLmNyZWF0ZVBvcHVwQ29tcG9uZW50KHMsIG0pKTtcclxuXHJcbiAgICAgICAgICAgIG5tLnB1c2gobSk7XHJcbiAgICAgICAgICAgIGJkLnB1c2gobGF0TG5nKHMubGF0aXR1ZGUsIHMubG9uZ2l0dWRlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE5vdGUgaG93IHdlIHNldCB0aGUgbGF5ZXJzIGluIG9uZSBhc3NpZ25tZW50LCBpbiBvcmRlciB0byBoYXZlIGxlYWZsZXRcclxuICAgICAgICAvLyBkZXRlY3RzIHRoZSBjaGFuZ2UgY29ycmVjdGx5XHJcbiAgICAgICAgLy8gV2UgYWxzbyBzZXQgdGhlIGJvdW5kcyBhZnRlcndhcmQsIGZvciB0aGUgbWFwIHRvIGJlIHByb3Blcmx5IHpvb21lZCBhbmRcclxuICAgICAgICAvLyBjZW50ZXJlZFxyXG4gICAgICAgIHRoaXMubGF5ZXJzID0gbm07XHJcbiAgICAgICAgaWYgKHRoaXMubWFwICYmIGJkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5tYXAuZml0Qm91bmRzKGxhdExuZ0JvdW5kcyhiZCksIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHBvaW50KDQ4LCA0OCksXHJcbiAgICAgICAgICAgICAgICBtYXhab29tOiAxMixcclxuICAgICAgICAgICAgICAgIGFuaW1hdGU6IHRydWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmV2aW91cyBuZ09uQ2hhbmdlcyBsb2dpYyB3YXMgbW92ZWQgdG8gcmVidWlsZExheWVycygpXHJcblxyXG4gICAgb25NYXBSZWFkeShtYXA6IE1hcCkge1xyXG4gICAgICAgIHRoaXMubWFwID0gbWFwO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVBvcHVwQ29tcG9uZW50KHNwYWNlOiBTcGFjZSwgbWFya2VyOiBNYXJrZXIpIHtcclxuICAgICAgICBpZiAoIXRoaXMucG9wdXBDb250YWluZXIpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiUG9wdXAgY29udGFpbmVyIG5vdCByZWFkeSB5ZXRcIik7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb21wID0gdGhpcy5wb3B1cENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoTWFwUG9wdXBDb21wb25lbnQpO1xyXG4gICAgICAgIGNvbXAuaW5zdGFuY2Uuc3BhY2UgPSBzcGFjZTtcclxuICAgICAgICBjb21wLmluc3RhbmNlLm1hcmtlciA9IG1hcmtlcjtcclxuICAgICAgICBjb21wLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICByZXR1cm4gY29tcC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IFtsZWFmbGV0TGF5ZXJzXT1cImxheWVyc1wiIFtsZWFmbGV0T3B0aW9uc109XCJvcHRpb25zXCIgKGxlYWZsZXRNYXBSZWFkeSk9XCJvbk1hcFJlYWR5KCRhbnkoJGV2ZW50KSlcIiBpZD1cIm1hcFwiIGxlYWZsZXRcclxuICAgIHN0eWxlPVwiaGVpZ2h0OiA1MDBweDsgbWFyZ2luLXRvcDogMzBweDsgei1pbmRleDogMTk1XCI+PC9kaXY+XHJcblxyXG48IS0tIEhpZGRlbiBjb250YWluZXIgZm9yIHBvcHVwIGNvbXBvbmVudHMgdG8gYXZvaWQgZGlzcGxheSBsZWFrYWdlIGFuZCBtYW5hZ2UgbGlmZWN5Y2xlIC0tPlxyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxyXG4gICAgPGRpdiAjcG9wdXBDb250YWluZXI+PC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9tYXAvbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1sb2NhdGlvbnMvc3JjL2xpYi9jb21wb25lbnRzL2xvY2F0aW9ucy9tYXAvbWFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixnQkFBZ0IsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFDSCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEdBQ1AsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRSxNQUFNLGFBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUNsRCxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUN6QyxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQztBQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDckIsYUFBYTtJQUNiLE9BQU87SUFDUCxTQUFTO0lBQ1QsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNsQixVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQixhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEIsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUs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Q0wsQ0FBQztJQUVELDBEQUEwRDtJQUUxRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUM5QyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQzt3R0FqR1EsWUFBWTs0RkFBWixZQUFZLDBLQUtnQixnQkFBZ0IsZ0VDdkN6RCw0V0FNTTs7NEZENEJPLFlBQVk7a0JBTHhCLFNBQVM7K0JBQ0ksU0FBUzt3REFRVixNQUFNO3NCQUFkLEtBQUs7Z0JBQ2lFLGNBQWM7c0JBQXBGLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcGFjZSB9IGZyb20gJ0BzbWFydGVycGxhbi9uZ3gtc21hcnRlcnBsYW4tY29yZSc7XG5pbXBvcnQge1xuICAgIGxhdExuZyxcbiAgICBtYXJrZXIsXG4gICAgdGlsZUxheWVyLFxuICAgIE1hcCxcbiAgICBsYXRMbmdCb3VuZHMsXG4gICAgcG9pbnQsXG4gICAgTWFya2VyLFxuICAgIGljb24sXG59IGZyb20gXCJsZWFmbGV0XCI7XG5pbXBvcnQgeyBNYXBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBvcHVwL21hcC1wb3B1cC5jb21wb25lbnQnO1xuXG5cbmNvbnN0IGljb25SZXRpbmFVcmwgPSBcImFzc2V0cy9tYXJrZXItaWNvbi0yeC5wbmdcIjtcbmNvbnN0IGljb25VcmwgPSBcImFzc2V0cy9tYXJrZXItaWNvbi5wbmdcIjtcbmNvbnN0IHNoYWRvd1VybCA9IFwiYXNzZXRzL21hcmtlci1zaGFkb3cucG5nXCI7XG5jb25zdCBpY29uRGVmYXVsdCA9IGljb24oe1xuICAgIGljb25SZXRpbmFVcmwsXG4gICAgaWNvblVybCxcbiAgICBzaGFkb3dVcmwsXG4gICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgIGljb25BbmNob3I6IFsxMiwgNDFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMSwgLTM0XSxcbiAgICB0b29sdGlwQW5jaG9yOiBbMTYsIC0yOF0sXG4gICAgc2hhZG93U2l6ZTogWzQxLCA0MV0sXG59KTtcbk1hcmtlci5wcm90b3R5cGUub3B0aW9ucy5pY29uID0gaWNvbkRlZmF1bHQ7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1tYXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21hcC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgQElucHV0KCkgc3BhY2VzOiBTcGFjZVtdO1xuICAgIEBWaWV3Q2hpbGQoJ3BvcHVwQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgcG9wdXBDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgICBsYXllcnM6IFtcbiAgICAgICAgICAgIHRpbGVMYXllcihcImh0dHA6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmdcIiwge1xuICAgICAgICAgICAgICAgIG1heFpvb206IDE4LFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uOiBcIi4uLlwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICAgIHpvb206IDUuNSxcbiAgICAgICAgY2VudGVyOiBsYXRMbmcoNDcuMDYzOTQsIDIuNzc3MzYpLFxuICAgIH07XG5cbiAgICBsYXllcnM6IGFueVtdID0gW107XG5cbiAgICBtYXA6IGFueTtcbiAgICBwcml2YXRlIGlzVmlld0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnNwYWNlcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNWaWV3SW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlYnVpbGRMYXllcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc1ZpZXdJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMucmVidWlsZExheWVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVidWlsZExheWVycygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNwYWNlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgbm0gPSBbXTtcbiAgICAgICAgY29uc3QgYmQgPSBbXTtcblxuICAgICAgICAvLyBDbGVhciBwcmV2aW91cyBjb21wb25lbnRzIHRvIGF2b2lkIGxlYWthZ2UuIFxuICAgICAgICAvLyB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTsgLy8gUmVtb3ZlZCBhcyB3ZSB1c2UgdGhlIGRlZGljYXRlZCBjb250YWluZXJcbiAgICAgICAgaWYgKHRoaXMucG9wdXBDb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucG9wdXBDb250YWluZXIuY2xlYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbHRlcmluZyBvdXQgc3BhY2VzIHdpdGhvdXQgbGF0L2xvbmdpdHVkZXNcbiAgICAgICAgZm9yIChjb25zdCBzIG9mIHRoaXMuc3BhY2VzKSB7XG4gICAgICAgICAgICBpZiAocy5sYXRpdHVkZSA9PT0gbnVsbCB8fCBzLmxvbmdpdHVkZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICAgICAgICBgJHtzLm5hbWV9IGhhcyBub3QgY29vcmRpbmF0ZXMgZm9yICR7cy5hZGRyZXNzZXN9YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV2UgdXNlIHRoZSBwb3B1cCBzeXN0ZW0gZnJvbSBsZWFmbGV0LCBhcyBpdCBwYWNrcyBhIGZldyBpbXByb3ZlbWVudHNcbiAgICAgICAgICAgIC8vIG9uIHVzaW5nIGJvb3RzdHJhcDogYXV0b2Nsb3NlIG90aGVyIHBvcHVwcywgY2xvc2luZyBvcHRpb24uXG4gICAgICAgICAgICBjb25zdCBtID0gbWFya2VyKFtzLmxhdGl0dWRlLCBzLmxvbmdpdHVkZV0pO1xuXG4gICAgICAgICAgICBtLmJpbmRQb3B1cCh0aGlzLmNyZWF0ZVBvcHVwQ29tcG9uZW50KHMsIG0pKTtcblxuICAgICAgICAgICAgbm0ucHVzaChtKTtcbiAgICAgICAgICAgIGJkLnB1c2gobGF0TG5nKHMubGF0aXR1ZGUsIHMubG9uZ2l0dWRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm90ZSBob3cgd2Ugc2V0IHRoZSBsYXllcnMgaW4gb25lIGFzc2lnbm1lbnQsIGluIG9yZGVyIHRvIGhhdmUgbGVhZmxldFxuICAgICAgICAvLyBkZXRlY3RzIHRoZSBjaGFuZ2UgY29ycmVjdGx5XG4gICAgICAgIC8vIFdlIGFsc28gc2V0IHRoZSBib3VuZHMgYWZ0ZXJ3YXJkLCBmb3IgdGhlIG1hcCB0byBiZSBwcm9wZXJseSB6b29tZWQgYW5kXG4gICAgICAgIC8vIGNlbnRlcmVkXG4gICAgICAgIHRoaXMubGF5ZXJzID0gbm07XG4gICAgICAgIGlmICh0aGlzLm1hcCAmJiBiZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLm1hcC5maXRCb3VuZHMobGF0TG5nQm91bmRzKGJkKSwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHBvaW50KDQ4LCA0OCksXG4gICAgICAgICAgICAgICAgbWF4Wm9vbTogMTIsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJldmlvdXMgbmdPbkNoYW5nZXMgbG9naWMgd2FzIG1vdmVkIHRvIHJlYnVpbGRMYXllcnMoKVxuXG4gICAgb25NYXBSZWFkeShtYXA6IE1hcCkge1xuICAgICAgICB0aGlzLm1hcCA9IG1hcDtcbiAgICB9XG5cbiAgICBjcmVhdGVQb3B1cENvbXBvbmVudChzcGFjZTogU3BhY2UsIG1hcmtlcjogTWFya2VyKSB7XG4gICAgICAgIGlmICghdGhpcy5wb3B1cENvbnRhaW5lcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiUG9wdXAgY29udGFpbmVyIG5vdCByZWFkeSB5ZXRcIik7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wID0gdGhpcy5wb3B1cENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoTWFwUG9wdXBDb21wb25lbnQpO1xuICAgICAgICBjb21wLmluc3RhbmNlLnNwYWNlID0gc3BhY2U7XG4gICAgICAgIGNvbXAuaW5zdGFuY2UubWFya2VyID0gbWFya2VyO1xuICAgICAgICBjb21wLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgcmV0dXJuIGNvbXAubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbn1cbiIsIjxkaXYgW2xlYWZsZXRMYXllcnNdPVwibGF5ZXJzXCIgW2xlYWZsZXRPcHRpb25zXT1cIm9wdGlvbnNcIiAobGVhZmxldE1hcFJlYWR5KT1cIm9uTWFwUmVhZHkoJGFueSgkZXZlbnQpKVwiIGlkPVwibWFwXCIgbGVhZmxldFxuICAgIHN0eWxlPVwiaGVpZ2h0OiA1MDBweDsgbWFyZ2luLXRvcDogMzBweDsgei1pbmRleDogMTk1XCI+PC9kaXY+XG5cbjwhLS0gSGlkZGVuIGNvbnRhaW5lciBmb3IgcG9wdXAgY29tcG9uZW50cyB0byBhdm9pZCBkaXNwbGF5IGxlYWthZ2UgYW5kIG1hbmFnZSBsaWZlY3ljbGUgLS0+XG48ZGl2IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgIDxkaXYgI3BvcHVwQ29udGFpbmVyPjwvZGl2PlxuPC9kaXY+Il19
|