@wizishop/wizi-block 4.2.33-beta → 4.2.34-beta

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.
Files changed (29) hide show
  1. package/bundles/wizishop-wizi-block.umd.js +202 -263
  2. package/bundles/wizishop-wizi-block.umd.js.map +1 -1
  3. package/bundles/wizishop-wizi-block.umd.min.js +1 -1
  4. package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
  5. package/esm2015/lib/services/blocks/images/images-banner.service.js +2 -2
  6. package/esm2015/lib/services/blocks/images/images-simple.service.js +2 -2
  7. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +2 -2
  8. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +2 -2
  9. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +2 -2
  10. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +7 -4
  11. package/esm2015/lib/shared/components/quill/quill.component.js +2 -1
  12. package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +32 -41
  13. package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +32 -41
  14. package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +32 -43
  15. package/esm2015/lib/structures/map/left-text/map-left-text.component.js +30 -41
  16. package/esm2015/lib/structures/map/right-text/map-right-text.component.js +30 -41
  17. package/esm2015/lib/structures/map/text-form/map-text-form.component.js +32 -43
  18. package/esm2015/lib/structures/structures.module.js +3 -1
  19. package/fesm2015/wizishop-wizi-block.js +197 -245
  20. package/fesm2015/wizishop-wizi-block.js.map +1 -1
  21. package/lib/structures/map/background-form-left/map-background-form-left.component.d.ts +8 -6
  22. package/lib/structures/map/background-form-right/map-background-form-right.component.d.ts +8 -6
  23. package/lib/structures/map/fullpage/map-fullpage.component.d.ts +7 -5
  24. package/lib/structures/map/left-text/map-left-text.component.d.ts +7 -5
  25. package/lib/structures/map/right-text/map-right-text.component.d.ts +7 -5
  26. package/lib/structures/map/text-form/map-text-form.component.d.ts +8 -6
  27. package/package.json +1 -5
  28. package/wizi-block.scss +35 -30
  29. package/wizishop-wizi-block.metadata.json +1 -1
@@ -1,8 +1,6 @@
1
1
  import { Component, ElementRef, ViewChild } from '@angular/core';
2
2
  import { StructuresComponent } from '../../structures.component';
3
- import { OpenMapDto } from '../../../dtos/apis/maps/open-map.dto';
4
3
  import { icon, latLng, marker, tileLayer } from 'leaflet';
5
- import places from 'places.js';
6
4
  import { MapLeftTextService } from '../../../services/blocks/map/map-left-text.service';
7
5
  import { ExternalConfigService } from '../../../services/utils/external-config.service';
8
6
  export class MapLeftTextComponent extends StructuresComponent {
@@ -10,7 +8,9 @@ export class MapLeftTextComponent extends StructuresComponent {
10
8
  super();
11
9
  this.externalConfigService = externalConfigService;
12
10
  this.address = '';
11
+ this.triggerAddress = '';
13
12
  this.editPlaceMap = null;
13
+ this.firstTimeTrigger = false;
14
14
  this.options = {};
15
15
  this.layers = [];
16
16
  this.showMap = false;
@@ -19,40 +19,29 @@ export class MapLeftTextComponent extends StructuresComponent {
19
19
  ngOnInit() {
20
20
  super.ngOnInit();
21
21
  if (this.contentBlock[this.FORM_NAME_COORDINATE_Y] && this.contentBlock[this.FORM_NAME_COORDINATE_X]) {
22
- const algolia = new OpenMapDto();
23
- algolia.suggestion = {
24
- latlng: {
25
- lat: this.contentBlock[this.FORM_NAME_COORDINATE_Y],
26
- lng: this.contentBlock[this.FORM_NAME_COORDINATE_X],
22
+ this.googleMapReturnElement = {
23
+ suggestion: {
24
+ latlng: {
25
+ lat: this.contentBlock[this.FORM_NAME_COORDINATE_Y],
26
+ lng: this.contentBlock[this.FORM_NAME_COORDINATE_X],
27
+ },
28
+ value: '',
27
29
  },
28
- value: '',
29
30
  };
30
- this.setCoordinateOnPlaces(algolia);
31
- }
32
- }
33
- ngAfterViewInit() {
34
- if (!this.showMap) {
35
- const placesAutocomplete = places({
36
- appId: this.externalConfigService.getAlgoliaAppId(),
37
- apiKey: this.externalConfigService.getAlgoliaApiKey(),
38
- container: this.input.nativeElement,
39
- });
40
- placesAutocomplete.on('change', (algoliaReturnElement) => {
41
- this.setCoordinateOnPlaces(algoliaReturnElement);
42
- });
31
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
43
32
  }
44
33
  }
45
- setCoordinateOnPlaces(algoliaReturnElement) {
34
+ setCoordinateOnPlaces(googleResults) {
46
35
  this.showMap = false;
47
36
  this.options = {
48
37
  layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'WiziShop' })],
49
38
  zoom: 18,
50
39
  zoomControl: false,
51
- center: latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng),
40
+ center: latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng),
52
41
  };
53
- this.center = latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng);
42
+ this.center = latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng);
54
43
  this.layers = [
55
- marker([algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng], {
44
+ marker([googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng], {
56
45
  icon: icon({
57
46
  iconSize: [25, 41],
58
47
  iconAnchor: [13, 41],
@@ -61,23 +50,23 @@ export class MapLeftTextComponent extends StructuresComponent {
61
50
  }),
62
51
  }),
63
52
  ];
64
- this.contentBlock[this.FORM_NAME_COORDINATE_Y] = algoliaReturnElement.suggestion.latlng.lat;
65
- this.contentBlock[this.FORM_NAME_COORDINATE_X] = algoliaReturnElement.suggestion.latlng.lng;
66
- this.address = algoliaReturnElement.suggestion.value;
53
+ this.contentBlock[this.FORM_NAME_COORDINATE_Y] = googleResults.suggestion.latlng.lat;
54
+ this.contentBlock[this.FORM_NAME_COORDINATE_X] = googleResults.suggestion.latlng.lng;
55
+ this.address = googleResults.suggestion.value;
67
56
  this.showMap = true;
68
57
  this.persist();
69
58
  }
70
- createEditAlgoliaInput() {
71
- if (this.editPlaceMap === null) {
72
- this.editPlaceMap = places({
73
- appId: this.externalConfigService.getAlgoliaAppId(),
74
- apiKey: this.externalConfigService.getAlgoliaApiKey(),
75
- container: document.querySelector('#address-input-edit' + this.uuid),
76
- });
77
- this.editPlaceMap.on('change', (algoliaReturnElement) => {
78
- this.setCoordinateOnPlaces(algoliaReturnElement);
79
- });
80
- }
59
+ handleAddressChange(event) {
60
+ this.googleMapReturnElement = {
61
+ suggestion: {
62
+ latlng: {
63
+ lat: event.geometry.location.lat(),
64
+ lng: event.geometry.location.lng(),
65
+ },
66
+ value: event.name,
67
+ },
68
+ };
69
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
81
70
  }
82
71
  /**
83
72
  * Avoid partial map loaded at the initialization
@@ -92,7 +81,7 @@ export class MapLeftTextComponent extends StructuresComponent {
92
81
  MapLeftTextComponent.decorators = [
93
82
  { type: Component, args: [{
94
83
  selector: MapLeftTextService.selector(),
95
- template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-left-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-left-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-left-text__container__config\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\"\n (click)=\"createEditAlgoliaInput()\"\n [isFullwidth]=\"true\"\n >\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-left-text__cover\"></div>\n <div\n class=\"wb-map-left-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-left-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInput (click)=\"myInput.select()\" />\n </div>\n </div>\n </div>\n</div>\n"
84
+ template: "<div class=\"wb-map-left-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-left-text__addresses\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-left-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\n \"\n >\n <div class=\"wb-map-left-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-left-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-left-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-left-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-left-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-left-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-left-text__cover\"></div>\n <div\n class=\"wb-map-left-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-left-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n </div>\n</div>\n"
96
85
  },] }
97
86
  ];
98
87
  MapLeftTextComponent.ctorParameters = () => [
@@ -101,4 +90,4 @@ MapLeftTextComponent.ctorParameters = () => [
101
90
  MapLeftTextComponent.propDecorators = {
102
91
  input: [{ type: ViewChild, args: ['myInput',] }]
103
92
  };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZnQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc3RydWN0dXJlcy9tYXAvbGVmdC10ZXh0L21hcC1sZWZ0LXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFELE9BQU8sTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUUvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU14RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1DO0lBWXpFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFWaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUlaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ2xHLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLFVBQVUsR0FBRztnQkFDakIsTUFBTSxFQUFFO29CQUNKLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkQsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO2lCQUN0RDtnQkFDRCxLQUFLLEVBQUUsRUFBRTthQUNaLENBQUM7WUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUM7Z0JBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxFQUFFO2dCQUNuRCxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixFQUFFO2dCQUNyRCxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2FBQ3RDLENBQUMsQ0FBQztZQUVILGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxvQkFBZ0MsRUFBRSxFQUFFO2dCQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELHFCQUFxQixDQUFDLG9CQUFnQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLG1EQUFtRCxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUNsSCxJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLE1BQU0sRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDekcsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNWLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdGLElBQUksRUFBRSxJQUFJLENBQUM7b0JBQ1AsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDbEIsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxFQUFFLDJDQUEyQztvQkFDcEQsU0FBUyxFQUFFLDZDQUE2QztpQkFDM0QsQ0FBQzthQUNMLENBQUM7U0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUM1RixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBRTVGLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRTtnQkFDbkQsTUFBTSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDckQsU0FBUyxFQUFvQixRQUFRLENBQUMsYUFBYSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDekYsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsb0JBQWdDLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBdEdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO2dCQUN2Qyxtak9BQTZDO2FBQ2hEOzs7WUFMUSxxQkFBcUI7OztvQkFPekIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuTWFwRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL21hcHMvb3Blbi1tYXAuZHRvJztcbmltcG9ydCB7IGljb24sIGxhdExuZywgbWFya2VyLCB0aWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBwbGFjZXMgZnJvbSAncGxhY2VzLmpzJztcbmltcG9ydCB7IE1hcExlZnRUZXh0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvbWFwL21hcC1sZWZ0LXRleHQuZHRvJztcbmltcG9ydCB7IE1hcExlZnRUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9tYXAvbWFwLWxlZnQtdGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IE1hcExlZnRUZXh0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtbGVmdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTGVmdFRleHRDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PE1hcExlZnRUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdteUlucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgYWRkcmVzcyA9ICcnO1xuICAgIGNlbnRlcjtcblxuICAgIGVkaXRQbGFjZU1hcCA9IG51bGw7XG5cbiAgICBvcHRpb25zID0ge307XG4gICAgbGF5ZXJzID0gW107XG5cbiAgICBzaG93TWFwID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShNYXBMZWZ0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGFsZ29saWEgPSBuZXcgT3Blbk1hcER0bygpO1xuICAgICAgICAgICAgYWxnb2xpYS5zdWdnZXN0aW9uID0ge1xuICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICBsYXQ6IHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0sXG4gICAgICAgICAgICAgICAgICAgIGxuZzogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dNYXApIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlc0F1dG9jb21wbGV0ZSA9IHBsYWNlcyh7XG4gICAgICAgICAgICAgICAgYXBwSWQ6IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldEFsZ29saWFBcHBJZCgpLFxuICAgICAgICAgICAgICAgIGFwaUtleTogdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0QWxnb2xpYUFwaUtleSgpLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHBsYWNlc0F1dG9jb21wbGV0ZS5vbignY2hhbmdlJywgKGFsZ29saWFSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNlbnRlciA9IGxhdExuZyhhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFthbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY3JlYXRlRWRpdEFsZ29saWFJbnB1dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdFBsYWNlTWFwID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRQbGFjZU1hcCA9IHBsYWNlcyh7XG4gICAgICAgICAgICAgICAgYXBwSWQ6IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldEFsZ29saWFBcHBJZCgpLFxuICAgICAgICAgICAgICAgIGFwaUtleTogdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0QWxnb2xpYUFwaUtleSgpLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZHJlc3MtaW5wdXQtZWRpdCcgKyB0aGlzLnV1aWQpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwLm9uKCdjaGFuZ2UnLCAoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF2b2lkIHBhcnRpYWwgbWFwIGxvYWRlZCBhdCB0aGUgaW5pdGlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gbWFwXG4gICAgICovXG4gICAgb25NYXBSZWFkeShtYXApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtYXAuaW52YWxpZGF0ZVNpemUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWxlZnQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc3RydWN0dXJlcy9tYXAvbGVmdC10ZXh0L21hcC1sZWZ0LXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU14RixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1DO0lBZXpFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFiaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBSXBCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJWixJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxZ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O0lBQ0gsVUFBVSxDQUFDLEdBQUc7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7OztZQTNGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDdkMsd3dPQUE2QzthQUNoRDs7O1lBTFEscUJBQXFCOzs7b0JBT3pCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3Blbk1hcER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9tYXBzL29wZW4tbWFwLmR0byc7XG5pbXBvcnQgeyBpY29uLCBsYXRMbmcsIG1hcmtlciwgdGlsZUxheWVyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBNYXBMZWZ0VGV4dER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL21hcC9tYXAtbGVmdC10ZXh0LmR0byc7XG5pbXBvcnQgeyBNYXBMZWZ0VGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1sZWZ0LXRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9leHRlcm5hbC1jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBNYXBMZWZ0VGV4dFNlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFwLWxlZnQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcExlZnRUZXh0Q29tcG9uZW50IGV4dGVuZHMgU3RydWN0dXJlc0NvbXBvbmVudDxNYXBMZWZ0VGV4dER0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnbXlJbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICAgIGFkZHJlc3MgPSAnJztcbiAgICB0cmlnZ2VyQWRkcmVzcyA9ICcnO1xuICAgIGNlbnRlcjtcbiAgICBnb29nbGVNYXBSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvO1xuXG4gICAgZWRpdFBsYWNlTWFwID0gbnVsbDtcbiAgICBmaXJzdFRpbWVUcmlnZ2VyID0gZmFsc2U7XG5cbiAgICBvcHRpb25zID0ge307XG4gICAgbGF5ZXJzID0gW107XG5cbiAgICBzaG93TWFwID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShNYXBMZWZ0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG5nOiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKGdvb2dsZVJlc3VsdHM6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jZW50ZXIgPSBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2dvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZztcblxuICAgICAgICB0aGlzLmFkZHJlc3MgPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQWRkcmVzc0NoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGF0bG5nOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdDogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCksXG4gICAgICAgICAgICAgICAgICAgIGxuZzogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubG5nKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXZvaWQgcGFydGlhbCBtYXAgbG9hZGVkIGF0IHRoZSBpbml0aWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICBvbk1hcFJlYWR5KG1hcCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,6 @@
1
1
  import { Component, ElementRef, ViewChild } from '@angular/core';
2
2
  import { StructuresComponent } from '../../structures.component';
3
- import { OpenMapDto } from '../../../dtos/apis/maps/open-map.dto';
4
3
  import { icon, latLng, marker, tileLayer } from 'leaflet';
5
- import places from 'places.js';
6
4
  import { MapRightTextService } from '../../../services/blocks/map/map-right-text.service';
7
5
  import { ExternalConfigService } from '../../../services/utils/external-config.service';
8
6
  export class MapRightTextComponent extends StructuresComponent {
@@ -10,7 +8,9 @@ export class MapRightTextComponent extends StructuresComponent {
10
8
  super();
11
9
  this.externalConfigService = externalConfigService;
12
10
  this.address = '';
11
+ this.triggerAddress = '';
13
12
  this.editPlaceMap = null;
13
+ this.firstTimeTrigger = false;
14
14
  this.options = {};
15
15
  this.layers = [];
16
16
  this.showMap = false;
@@ -19,40 +19,29 @@ export class MapRightTextComponent extends StructuresComponent {
19
19
  ngOnInit() {
20
20
  super.ngOnInit();
21
21
  if (this.contentBlock[this.FORM_NAME_COORDINATE_Y] && this.contentBlock[this.FORM_NAME_COORDINATE_X]) {
22
- const algolia = new OpenMapDto();
23
- algolia.suggestion = {
24
- latlng: {
25
- lat: this.contentBlock[this.FORM_NAME_COORDINATE_Y],
26
- lng: this.contentBlock[this.FORM_NAME_COORDINATE_X],
22
+ this.googleMapReturnElement = {
23
+ suggestion: {
24
+ latlng: {
25
+ lat: this.contentBlock[this.FORM_NAME_COORDINATE_Y],
26
+ lng: this.contentBlock[this.FORM_NAME_COORDINATE_X],
27
+ },
28
+ value: '',
27
29
  },
28
- value: '',
29
30
  };
30
- this.setCoordinateOnPlaces(algolia);
31
- }
32
- }
33
- ngAfterViewInit() {
34
- if (!this.showMap) {
35
- const placesAutocomplete = places({
36
- appId: this.externalConfigService.getAlgoliaAppId(),
37
- apiKey: this.externalConfigService.getAlgoliaApiKey(),
38
- container: this.input.nativeElement,
39
- });
40
- placesAutocomplete.on('change', (algoliaReturnElement) => {
41
- this.setCoordinateOnPlaces(algoliaReturnElement);
42
- });
31
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
43
32
  }
44
33
  }
45
- setCoordinateOnPlaces(algoliaReturnElement) {
34
+ setCoordinateOnPlaces(googleResults) {
46
35
  this.showMap = false;
47
36
  this.options = {
48
37
  layers: [tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: 'WiziShop' })],
49
38
  zoom: 18,
50
39
  zoomControl: false,
51
- center: latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng),
40
+ center: latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng),
52
41
  };
53
- this.center = latLng(algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng);
42
+ this.center = latLng(googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng);
54
43
  this.layers = [
55
- marker([algoliaReturnElement.suggestion.latlng.lat, algoliaReturnElement.suggestion.latlng.lng], {
44
+ marker([googleResults.suggestion.latlng.lat, googleResults.suggestion.latlng.lng], {
56
45
  icon: icon({
57
46
  iconSize: [25, 41],
58
47
  iconAnchor: [13, 41],
@@ -61,23 +50,23 @@ export class MapRightTextComponent extends StructuresComponent {
61
50
  }),
62
51
  }),
63
52
  ];
64
- this.contentBlock[this.FORM_NAME_COORDINATE_Y] = algoliaReturnElement.suggestion.latlng.lat;
65
- this.contentBlock[this.FORM_NAME_COORDINATE_X] = algoliaReturnElement.suggestion.latlng.lng;
66
- this.address = algoliaReturnElement.suggestion.value;
53
+ this.contentBlock[this.FORM_NAME_COORDINATE_Y] = googleResults.suggestion.latlng.lat;
54
+ this.contentBlock[this.FORM_NAME_COORDINATE_X] = googleResults.suggestion.latlng.lng;
55
+ this.address = googleResults.suggestion.value;
67
56
  this.showMap = true;
68
57
  this.persist();
69
58
  }
70
- createEditAlgoliaInput() {
71
- if (this.editPlaceMap === null) {
72
- this.editPlaceMap = places({
73
- appId: this.externalConfigService.getAlgoliaAppId(),
74
- apiKey: this.externalConfigService.getAlgoliaApiKey(),
75
- container: document.querySelector('#address-input-edit' + this.uuid),
76
- });
77
- this.editPlaceMap.on('change', (algoliaReturnElement) => {
78
- this.setCoordinateOnPlaces(algoliaReturnElement);
79
- });
80
- }
59
+ handleAddressChange(event) {
60
+ this.googleMapReturnElement = {
61
+ suggestion: {
62
+ latlng: {
63
+ lat: event.geometry.location.lat(),
64
+ lng: event.geometry.location.lng(),
65
+ },
66
+ value: event.name,
67
+ },
68
+ };
69
+ this.setCoordinateOnPlaces(this.googleMapReturnElement);
81
70
  }
82
71
  /**
83
72
  * Avoid partial map loaded at the initialization
@@ -92,7 +81,7 @@ export class MapRightTextComponent extends StructuresComponent {
92
81
  MapRightTextComponent.decorators = [
93
82
  { type: Component, args: [{
94
83
  selector: MapRightTextService.selector(),
95
- template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config\n [blockUUID]=\"uuid\"\n [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\"\n (click)=\"createEditAlgoliaInput()\"\n [isFullwidth]=\"true\"\n >\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input id=\"address-input{{ uuid }}\" type=\"text\" [(ngModel)]=\"address\" #myInput (click)=\"myInput.select()\" />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-right-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-right-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
84
+ template: "<div class=\"wb-map-right-text\">\n <div class=\"columns is-gapless\">\n <div class=\"column\">\n <div class=\"wb-map-right-text__container\">\n <div *ngIf=\"showMap\">\n <div class=\"wb-map-right-text__container__config\">\n <wb-structure-config [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_RIGHT_TOP\" [isFullwidth]=\"true\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input-edit{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInputEdit\n (click)=\"myInputEdit.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </wb-structure-config>\n </div>\n <div class=\"wb-map-right-text__cover\"></div>\n <div\n class=\"wb-map-right-text__container__map\"\n leaflet\n [leafletOptions]=\"options\"\n [leafletLayers]=\"layers\"\n [(leafletCenter)]=\"center\"\n (leafletMapReady)=\"onMapReady($event)\"\n ></div>\n </div>\n </div>\n <div class=\"wb-map-right-text__selector\" *ngIf=\"!showMap\">\n <p>{{ 'wb.structures.template.19' | translate }}</p>\n <input\n id=\"address-input{{ uuid }}\"\n type=\"text\"\n [(ngModel)]=\"address\"\n #myInput\n (click)=\"myInput.select()\"\n ngx-google-places-autocomplete\n (onAddressChange)=\"handleAddressChange($event)\"\n />\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__addresses\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_ADDRESS] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ADDRESS]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_PHONE] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PHONE]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n <div class=\"columns is-gapless\">\n <div class=\"column is-1\">\n <wb-structure-config-font\n [(value)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL]\"\n [white]=\"false\"\n [isSmall]=\"true\"\n [withImage]=\"false\"\n (valueChange)=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_ICON_EMAIL] = $event; persist()\"\n ></wb-structure-config-font>\n </div>\n <div class=\"column\">\n <div class=\"wb-map-right-text__address\">\n <wb-editorjs\n [(content)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_EMAIL]\"\n (contentChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wb-editorjs>\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"wb-map-right-text__social\"\n *ngIf=\"\n contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST] ||\n contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\n \"\n >\n <div class=\"wb-map-right-text__social__facebook\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_FACEBOOK]\">\n <i class=\"fab fa-facebook-f\"></i>\n </div>\n <div class=\"wb-map-right-text__social__twitter\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TWITTER]\">\n <i class=\"fab fa-twitter\"></i>\n </div>\n <div class=\"wb-map-right-text__social__pinterest\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_PINTEREST]\">\n <i class=\"fab fa-pinterest-p\"></i>\n </div>\n <div class=\"wb-map-right-text__social__instagram\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_INSTAGRAM]\">\n <i class=\"fab fa-instagram\"></i>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
96
85
  },] }
97
86
  ];
98
87
  MapRightTextComponent.ctorParameters = () => [
@@ -101,4 +90,4 @@ MapRightTextComponent.ctorParameters = () => [
101
90
  MapRightTextComponent.propDecorators = {
102
91
  input: [{ type: ViewChild, args: ['myInput',] }]
103
92
  };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFELE9BQU8sTUFBTSxNQUFNLFdBQVcsQ0FBQztBQUUvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU14RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW9DO0lBWTNFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFWaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosWUFBTyxHQUFHLEtBQUssQ0FBQztRQUlaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFD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VUFBVSxDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRTtnQkFDbkQsTUFBTSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDckQsU0FBUyxFQUFvQixRQUFRLENBQUMsYUFBYSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDekYsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsb0JBQWdDLEVBQUUsRUFBRTtnQkFDaEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBdEdKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFO2dCQUN4Qyxta09BQThDO2FBQ2pEOzs7WUFMUSxxQkFBcUI7OztvQkFPekIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuTWFwRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL21hcHMvb3Blbi1tYXAuZHRvJztcbmltcG9ydCB7IGljb24sIGxhdExuZywgbWFya2VyLCB0aWxlTGF5ZXIgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBwbGFjZXMgZnJvbSAncGxhY2VzLmpzJztcbmltcG9ydCB7IE1hcFJpZ2h0VGV4dER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL21hcC9tYXAtcmlnaHQtdGV4dC5kdG8nO1xuaW1wb3J0IHsgTWFwUmlnaHRUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9tYXAvbWFwLXJpZ2h0LXRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9leHRlcm5hbC1jb25maWcuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBNYXBSaWdodFRleHRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hcC1yaWdodC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUmlnaHRUZXh0Q29tcG9uZW50IGV4dGVuZHMgU3RydWN0dXJlc0NvbXBvbmVudDxNYXBSaWdodFRleHREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ215SW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBhZGRyZXNzID0gJyc7XG4gICAgY2VudGVyO1xuXG4gICAgZWRpdFBsYWNlTWFwID0gbnVsbDtcblxuICAgIG9wdGlvbnMgPSB7fTtcbiAgICBsYXllcnMgPSBbXTtcblxuICAgIHNob3dNYXAgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcFJpZ2h0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIGNvbnN0IGFsZ29saWEgPSBuZXcgT3Blbk1hcER0bygpO1xuICAgICAgICAgICAgYWxnb2xpYS5zdWdnZXN0aW9uID0ge1xuICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICBsYXQ6IHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWV0sXG4gICAgICAgICAgICAgICAgICAgIGxuZzogdGhpcy5jb250ZW50QmxvY2tbdGhpcy5GT1JNX05BTUVfQ09PUkRJTkFURV9YXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dNYXApIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlc0F1dG9jb21wbGV0ZSA9IHBsYWNlcyh7XG4gICAgICAgICAgICAgICAgYXBwSWQ6IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldEFsZ29saWFBcHBJZCgpLFxuICAgICAgICAgICAgICAgIGFwaUtleTogdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0QWxnb2xpYUFwaUtleSgpLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHBsYWNlc0F1dG9jb21wbGV0ZS5vbignY2hhbmdlJywgKGFsZ29saWFSZXR1cm5FbGVtZW50OiBPcGVuTWFwRHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDb29yZGluYXRlT25QbGFjZXMoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sbmcpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNlbnRlciA9IGxhdExuZyhhbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZyk7XG4gICAgICAgIHRoaXMubGF5ZXJzID0gW1xuICAgICAgICAgICAgbWFya2VyKFthbGdvbGlhUmV0dXJuRWxlbWVudC5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubGF0O1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdID0gYWxnb2xpYVJldHVybkVsZW1lbnQuc3VnZ2VzdGlvbi5sYXRsbmcubG5nO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFsZ29saWFSZXR1cm5FbGVtZW50LnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY3JlYXRlRWRpdEFsZ29saWFJbnB1dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdFBsYWNlTWFwID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRQbGFjZU1hcCA9IHBsYWNlcyh7XG4gICAgICAgICAgICAgICAgYXBwSWQ6IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldEFsZ29saWFBcHBJZCgpLFxuICAgICAgICAgICAgICAgIGFwaUtleTogdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0QWxnb2xpYUFwaUtleSgpLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZHJlc3MtaW5wdXQtZWRpdCcgKyB0aGlzLnV1aWQpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdFBsYWNlTWFwLm9uKCdjaGFuZ2UnLCAoYWxnb2xpYVJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG8pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyhhbGdvbGlhUmV0dXJuRWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF2b2lkIHBhcnRpYWwgbWFwIGxvYWRlZCBhdCB0aGUgaW5pdGlhbGl6YXRpb25cbiAgICAgKiBAcGFyYW0gbWFwXG4gICAgICovXG4gICAgb25NYXBSZWFkeShtYXApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBtYXAuaW52YWxpZGF0ZVNpemUoKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3N0cnVjdHVyZXMvbWFwL3JpZ2h0LXRleHQvbWFwLXJpZ2h0LXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU14RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW9DO0lBZTNFLFlBQW9CLHFCQUE0QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURRLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFiaEUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBSXBCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVaLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJWixJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FB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QUdHO0lBQ0gsVUFBVSxDQUFDLEdBQUc7UUFDVixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7OztZQTNGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsRUFBRTtnQkFDeEMsd3hPQUE4QzthQUNqRDs7O1lBTFEscUJBQXFCOzs7b0JBT3pCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3Blbk1hcER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9tYXBzL29wZW4tbWFwLmR0byc7XG5pbXBvcnQgeyBpY29uLCBsYXRMbmcsIG1hcmtlciwgdGlsZUxheWVyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBNYXBSaWdodFRleHREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9tYXAvbWFwLXJpZ2h0LXRleHQuZHRvJztcbmltcG9ydCB7IE1hcFJpZ2h0VGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvbWFwL21hcC1yaWdodC10ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogTWFwUmlnaHRUZXh0U2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXAtcmlnaHQtdGV4dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFJpZ2h0VGV4dENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8TWFwUmlnaHRUZXh0RHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKCdteUlucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gICAgYWRkcmVzcyA9ICcnO1xuICAgIHRyaWdnZXJBZGRyZXNzID0gJyc7XG4gICAgY2VudGVyO1xuICAgIGdvb2dsZU1hcFJldHVybkVsZW1lbnQ6IE9wZW5NYXBEdG87XG5cbiAgICBlZGl0UGxhY2VNYXAgPSBudWxsO1xuICAgIGZpcnN0VGltZVRyaWdnZXIgPSBmYWxzZTtcblxuICAgIG9wdGlvbnMgPSB7fTtcbiAgICBsYXllcnMgPSBbXTtcblxuICAgIHNob3dNYXAgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKE1hcFJpZ2h0VGV4dFNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldICYmIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0pIHtcbiAgICAgICAgICAgIHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGxuZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF0OiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG5nOiB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1hdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGlzLnNldENvb3JkaW5hdGVPblBsYWNlcyh0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKGdvb2dsZVJlc3VsdHM6IE9wZW5NYXBEdG8pIHtcbiAgICAgICAgdGhpcy5zaG93TWFwID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGxheWVyczogW3RpbGVMYXllcignaHR0cDovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsgbWF4Wm9vbTogMTgsIGF0dHJpYnV0aW9uOiAnV2l6aVNob3AnIH0pXSxcbiAgICAgICAgICAgIHpvb206IDE4LFxuICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgICAgICAgICAgY2VudGVyOiBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jZW50ZXIgPSBsYXRMbmcoZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQsIGdvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubG5nKTtcbiAgICAgICAgdGhpcy5sYXllcnMgPSBbXG4gICAgICAgICAgICBtYXJrZXIoW2dvb2dsZVJlc3VsdHMuc3VnZ2VzdGlvbi5sYXRsbmcubGF0LCBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZ10sIHtcbiAgICAgICAgICAgICAgICBpY29uOiBpY29uKHtcbiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU6IFsyNSwgNDFdLFxuICAgICAgICAgICAgICAgICAgICBpY29uQW5jaG9yOiBbMTMsIDQxXSxcbiAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2Fzc2V0cy9ibG9ja3MvaW1hZ2VzL21hcHMvbWFya2VyLWljb24ucG5nJyxcbiAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnYXNzZXRzL2Jsb2Nrcy9pbWFnZXMvbWFwcy9tYXJrZXItc2hhZG93LnBuZycsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1t0aGlzLkZPUk1fTkFNRV9DT09SRElOQVRFX1ldID0gZ29vZ2xlUmVzdWx0cy5zdWdnZXN0aW9uLmxhdGxuZy5sYXQ7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW3RoaXMuRk9STV9OQU1FX0NPT1JESU5BVEVfWF0gPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24ubGF0bG5nLmxuZztcblxuICAgICAgICB0aGlzLmFkZHJlc3MgPSBnb29nbGVSZXN1bHRzLnN1Z2dlc3Rpb24udmFsdWU7XG4gICAgICAgIHRoaXMuc2hvd01hcCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQWRkcmVzc0NoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmdvb2dsZU1hcFJldHVybkVsZW1lbnQgPSB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGF0bG5nOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhdDogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubGF0KCksXG4gICAgICAgICAgICAgICAgICAgIGxuZzogZXZlbnQuZ2VvbWV0cnkubG9jYXRpb24ubG5nKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZXZlbnQubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0Q29vcmRpbmF0ZU9uUGxhY2VzKHRoaXMuZ29vZ2xlTWFwUmV0dXJuRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXZvaWQgcGFydGlhbCBtYXAgbG9hZGVkIGF0IHRoZSBpbml0aWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBtYXBcbiAgICAgKi9cbiAgICBvbk1hcFJlYWR5KG1hcCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSgpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG59XG4iXX0=