WP Google Maps - Version 9.0.3

Version Description

Please update to 9.0.3 or above for the latest stability improvements.

Download this release

Release Info

Developer DylanAuty
Plugin Icon 128x128 WP Google Maps
Version 9.0.3
Comparing to
See all releases

Code changes from version 9.0.2 to 9.0.3

js/v8/address-input.js CHANGED
@@ -11,38 +11,46 @@ jQuery(function($) {
11
  throw new Error("Element is not an instance of HTMLInputElement");
12
 
13
  this.element = element;
14
-
15
-
16
 
17
  var json;
 
18
  var options = {
19
  fields: ["name", "formatted_address"],
20
  types: ["geocode", "establishment"]
21
  };
22
 
23
- if(json = $(element).attr("data-autocomplete-options"))
24
  options = $.extend(options, JSON.parse(json));
 
25
 
26
- if(map && map.settings.wpgmza_store_locator_restrict)
27
  options.country = map.settings.wpgmza_store_locator_restrict;
28
-
29
- if(WPGMZA.isGoogleAutocompleteSupported()) {
30
- // only apply Google Places Autocomplete if they are usig their own API key. If not, they will use our Cloud API Complete Service
31
 
32
- /**
33
- * Updated 2022-06-23
 
 
 
 
 
 
 
 
 
34
  *
35
- * This logic was incorrect and meant no place completions were happening in admin area, this was a maor value point for users
 
 
 
 
36
  */
37
- if (this.element.id != 'wpgmza_add_address_map_editor' && WPGMZA_localized_data.settings.googleMapsApiKey && WPGMZA_localized_data.settings.googleMapsApiKey !== '') {
38
- element.googleAutoComplete = new google.maps.places.Autocomplete(element, options);
39
-
40
- if(options.country)
41
- element.googleAutoComplete.setComponentRestrictions({country: options.country});
42
  }
43
- }
44
- else if(WPGMZA.CloudAPI && WPGMZA.CloudAPI.isBeingUsed)
45
  element.cloudAutoComplete = new WPGMZA.CloudAutocomplete(element, options);
 
46
  }
47
 
48
  WPGMZA.extend(WPGMZA.AddressInput, WPGMZA.EventDispatcher);
@@ -50,15 +58,35 @@ jQuery(function($) {
50
  WPGMZA.AddressInput.createInstance = function(element, map) {
51
  return new WPGMZA.AddressInput(element, map);
52
  }
53
-
54
- /*$(window).on("load", function(event) {
55
-
56
- $("input.wpgmza-address").each(function(index, el) {
57
-
58
- el.wpgmzaAddressInput = WPGMZA.AddressInput.createInstance(el);
59
-
60
- });
 
 
 
 
 
 
 
 
 
61
 
62
- });*/
63
-
 
 
 
 
 
 
 
 
 
 
 
64
  });
11
  throw new Error("Element is not an instance of HTMLInputElement");
12
 
13
  this.element = element;
 
 
14
 
15
  var json;
16
+
17
  var options = {
18
  fields: ["name", "formatted_address"],
19
  types: ["geocode", "establishment"]
20
  };
21
 
22
+ if(json = $(element).attr("data-autocomplete-options")){
23
  options = $.extend(options, JSON.parse(json));
24
+ }
25
 
26
+ if(map && map.settings.wpgmza_store_locator_restrict){
27
  options.country = map.settings.wpgmza_store_locator_restrict;
28
+ }
 
 
29
 
30
+ /* Store the options to the instance */
31
+ this.options = options;
32
+
33
+ /* Local reference to the address input */
34
+ element._wpgmzaAddressInput = this;
35
+
36
+ this.googleAutocompleteLoaded = false;
37
+
38
+ if(WPGMZA.isGoogleAutocompleteSupported()) {
39
+ /*
40
+ * This logic was entirely rebuilt as of 2022-06-28 to allow more complex handling of autocomplete modules
41
  *
42
+ * The admin marker address field will now default to our free cloud system first, but rollback to the google autocomplete if any issues are encountered during the usage
43
+ *
44
+ * This is handled in the MapEditPage module, but we have plans to move this to it's own module at a later date.
45
+ *
46
+ * For now this is the simplest route to achieve the goal we set out to reach
47
  */
48
+ if (this.shouldAutoLoadGoogleAutocomplete()) {
49
+ this.loadGoogleAutocomplete();
 
 
 
50
  }
51
+ } else if(WPGMZA.CloudAPI && WPGMZA.CloudAPI.isBeingUsed){
 
52
  element.cloudAutoComplete = new WPGMZA.CloudAutocomplete(element, options);
53
+ }
54
  }
55
 
56
  WPGMZA.extend(WPGMZA.AddressInput, WPGMZA.EventDispatcher);
58
  WPGMZA.AddressInput.createInstance = function(element, map) {
59
  return new WPGMZA.AddressInput(element, map);
60
  }
61
+
62
+ WPGMZA.AddressInput.prototype.loadGoogleAutocomplete = function(){
63
+ if(WPGMZA.settings){
64
+ if(WPGMZA.settings.googleMapsApiKey || WPGMZA.settings.wpgmza_google_maps_api_key){
65
+ /* Google Autocomplete can initialize normally, as the user has their own key */
66
+ if(WPGMZA.isGoogleAutocompleteSupported()) {
67
+ this.element.googleAutoComplete = new google.maps.places.Autocomplete(this.element, this.options);
68
+
69
+ if(this.options.country){
70
+ /* Apply country restrictios to the autocomplet, based on the settings */
71
+ this.element.googleAutoComplete.setComponentRestrictions({country: this.options.country});
72
+ }
73
+ }
74
+
75
+ this.googleAutocompleteLoaded = true;
76
+ }
77
+ }
78
 
79
+ }
80
+
81
+ WPGMZA.AddressInput.prototype.shouldAutoLoadGoogleAutocomplete = function(){
82
+ /*
83
+ * Checks if this field should automatically initialize Google Autocomplete
84
+ *
85
+ * This is true for all address inputs, with the exception of the marker address admin input
86
+ */
87
+ if(this.element && this.element.id && this.element.id === 'wpgmza_add_address_map_editor'){
88
+ return false;
89
+ }
90
+ return true;
91
+ }
92
  });
js/v8/map-edit-page/map-edit-page.js CHANGED
@@ -110,161 +110,8 @@ jQuery(function($) {
110
  var wpgmzaIdentifiedTypingSpeed = false;
111
 
112
  $('body').on('keypress', '.wpgmza-address', function(e) {
113
- if (this.id == 'wpgmza_add_address_map_editor') {
114
- if (wpgmza_autoCompleteDisabled) { return; }
115
-
116
-
117
- // if user is using their own API key then use the normal Google AutoComplete
118
- // Since 2022-06-23 this is not true, instead they use ours with their key, this adds more features
119
- var wpgmza_apikey = false;
120
- if (WPGMZA_localized_data.settings.googleMapsApiKey && WPGMZA_localized_data.settings.googleMapsApiKey !== '') {
121
- wpgmza_apikey = WPGMZA_localized_data.settings.googleMapsApiKey;
122
- }
123
- /* Don't return because we want this to initialize */
124
- /* return;
125
- } else { */
126
-
127
- if(e.key === "Escape" || e.key === "Alt" || e.key === "Control" || e.key === "Option" || e.key === "Shift" || e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "ArrowUp" || e.key === "ArrowDown") {
128
- $('#wpgmza_autocomplete_search_results').hide();
129
- return;
130
- }
131
-
132
- if (!wpgmzaIdentifiedTypingSpeed) {
133
- //determine duration between key strokes to determine when we should send the request to the autocomplete server
134
- //doing this avoids sending API calls for slow typers.
135
- var d = new Date();
136
-
137
-
138
- // set a timer to reset the delay counter
139
- clearTimeout(wpgmzaTmp);
140
- wpgmzaTmp = setTimeout(function(){
141
- wpgmzaStartTyping = false;
142
- wpgmzaAvgTimeBetweenStrokes = 300;
143
- wpgmzaTotalTimeForKeyStrokes = 0;
144
- },1500
145
- ); // I'm pretty sure no one types one key stroke per 1.5 seconds. This should be safe.
146
- if (!wpgmzaStartTyping) {
147
- // first character press, set start time.
148
-
149
- wpgmzaStartTyping = d.getTime();
150
- wpgmzaKeyStrokeCount++;
151
- } else {
152
- if (wpgmzaKeyStrokeCount == 1) {
153
- // do nothing because its the first key stroke
154
- } else {
155
-
156
-
157
- wpgmzaCurrentTimeBetweenStrokes = d.getTime() - wpgmzaStartTyping;
158
- wpgmzaTotalTimeForKeyStrokes = wpgmzaTotalTimeForKeyStrokes + wpgmzaCurrentTimeBetweenStrokes;
159
-
160
- wpgmzaAvgTimeBetweenStrokes = (wpgmzaTotalTimeForKeyStrokes / (wpgmzaKeyStrokeCount-1)); // we cannot count the first key as that was the starting point
161
- wpgmzaStartTyping = d.getTime();
162
-
163
- if (wpgmzaKeyStrokeCount >= 3) {
164
- // we only need 3 keys to know how fast they type
165
- wpgmzaIdentifiedTypingSpeed = (wpgmzaAvgTimeBetweenStrokes);
166
-
167
-
168
- }
169
- }
170
- wpgmzaKeyStrokeCount++;
171
-
172
-
173
-
174
- }
175
- return;
176
- }
177
-
178
-
179
- // clear the previous timer
180
- clearTimeout(wpgmzaAjaxTimeout);
181
-
182
- $('#wpgmza_autocomplete_search_results').html('<div class="wpgmza-pad-5">Searching...</div>');
183
- $('#wpgmza_autocomplete_search_results').show();
184
-
185
-
186
-
187
-
188
- var currentSearch = jQuery(this).val();
189
- if (currentSearch !== '') {
190
-
191
- if(ajaxRequest !== false){
192
- ajaxRequest.abort();
193
- }
194
-
195
- var domain = window.location.hostname;
196
- if(domain === 'localhost'){
197
- try{
198
- var paths = window.location.pathname.match(/\/(.*?)\//);
199
- if(paths && paths.length >= 2 && paths[1]){
200
- var path = paths[1];
201
- domain += "-" + path
202
- }
203
- } catch (ex){
204
- /* Leave it alone */
205
- }
206
- }
207
-
208
- var wpgmza_api_url = '';
209
- if (!wpgmza_apikey) {
210
- wpgmza_api_url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+currentSearch+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash
211
- } else {
212
- wpgmza_api_url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+currentSearch+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash+"&k="+wpgmza_apikey
213
- }
214
-
215
- if(WPGMZA && WPGMZA.settings && WPGMZA.settings.engine){
216
- wpgmza_api_url += "&engine=" + WPGMZA.settings.engine;
217
- }
218
-
219
- // set a timer of how fast the person types in seconds to only continue with this if it runs out
220
- wpgmzaAjaxTimeout = setTimeout(function() {
221
- ajaxRequest = $.ajax({
222
- url: wpgmza_api_url,
223
- type: 'GET',
224
- dataType: 'json', // added data type
225
- success: function(results) {
226
-
227
- try {
228
-
229
- if (typeof results.error !== 'undefined') {
230
- if (results.error == 'error1') {
231
- $('#wpgmza_autoc_disabled').html(WPGMZA.localized_strings.cloud_api_key_error_1);
232
- $('#wpgmza_autoc_disabled').fadeIn('slow');
233
- $('#wpgmza_autocomplete_search_results').hide();
234
- wpgmza_autoCompleteDisabled = true;
235
- } else {
236
- console.error(results.error);
237
- }
238
-
239
- } else {
240
- $('#wpgmza_autocomplete_search_results').html('');
241
- var html = "";
242
- for(var i in results){ html += "<div class='wpgmza_ac_result " + (html === "" ? "" : "border-top") + "' data-id='" + i + "' data-lat='"+results[i]['lat']+"' data-lng='"+results[i]['lng']+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i]['icon']+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>" + results[i]['place_name'] + "</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>" + results[i]['formatted_address'] + "</span></div></div></div>"; }
243
- if(html == ""){ html = "<div class='p-2 text-center'><small>No results found...</small></div>"; }
244
- $('#wpgmza_autocomplete_search_results').html(html);
245
- $('#wpgmza_autocomplete_search_results').show();
246
-
247
- }
248
- } catch (exception) {
249
- console.error("WP Go Maps Plugin: There was an error returning the list of places for your search");
250
- }
251
-
252
-
253
-
254
- },
255
- error: function(){
256
- $('#wpgmza_autocomplete_search_results').hide();
257
- }
258
- });
259
- },(wpgmzaIdentifiedTypingSpeed*2));
260
-
261
-
262
-
263
-
264
- } else {
265
- $('#wpgmza_autocomplete_search_results').hide();
266
- }
267
- //}
268
  }
269
  });
270
 
@@ -669,6 +516,257 @@ jQuery(function($) {
669
 
670
  });
671
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
672
 
673
  $(document).ready(function(event) {
674
 
110
  var wpgmzaIdentifiedTypingSpeed = false;
111
 
112
  $('body').on('keypress', '.wpgmza-address', function(e) {
113
+ if(self.shouldAddressFieldUseEnhancedAutocomplete(this)){
114
+ self.onKeyUpEnhancedAutocomplete(e, this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  }
116
  });
117
 
516
 
517
  });
518
  }
519
+
520
+ WPGMZA.MapEditPage.prototype.shouldAddressFieldUseEnhancedAutocomplete = function(element){
521
+ /* This should really be moved to its own module later (EnhancedAutocomplete) */
522
+ if(element && element.id && element.id === 'wpgmza_add_address_map_editor'){
523
+ return true;
524
+ }
525
+ return false;
526
+ }
527
+
528
+ WPGMZA.MapEditPage.prototype.onKeyUpEnhancedAutocomplete = function(event, element){
529
+ /* This should really be moved to its own module later (EnhancedAutocomplete) */
530
+ if(element._wpgmzaAddressInput && element._wpgmzaAddressInput.googleAutocompleteLoaded){
531
+ /* At some point the system swapped over to the Google Autocomplete, we should not take further action here */
532
+ return;
533
+ }
534
+
535
+ if(!element._wpgmzaEnhancedAutocomplete){
536
+ /*
537
+ * Set up some default state trackers
538
+ *
539
+ * Some notes, 300ms for avg keystroke equates to 40wpm, which is the average typing speed of a person
540
+ */
541
+ element._wpgmzaEnhancedAutocomplete = {
542
+ identifiedTypingSpeed : false,
543
+ typingTimeout : false,
544
+ startTyping : false,
545
+ keyStrokeCount : 1,
546
+ avgTimeBetweenStrokes : 300,
547
+ totalTimeForKeyStrokes : 0,
548
+ ajaxRequest : false,
549
+ ajaxTimeout : false,
550
+ requestErrorCount : 0,
551
+ disabledFlag : false,
552
+ disabledCheckCount : 0
553
+ };
554
+ }
555
+
556
+ let enhancedAutocomplete = element._wpgmzaEnhancedAutocomplete;
557
+
558
+ const ignoredKeys = [
559
+ "Escape", "Alt", "Control", "Option", "Shift",
560
+ "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"
561
+ ];
562
+
563
+ if(ignoredKeys.indexOf(event.key) !== -1){
564
+ /* This keystroke should be ignored */
565
+ $('#wpgmza_autocomplete_search_results').hide();
566
+ return;
567
+ }
568
+
569
+ if(enhancedAutocomplete.disabledFlag){
570
+ /* The server has disabled autocomplete requests manually */
571
+ enhancedAutocomplete.disabledCheckCount ++;
572
+ if(enhancedAutocomplete.disabledCheckCount >= 5){
573
+ /* User keeps trying to use te autocomplete, even though server has reported this as disabled */
574
+ /* Swap out to Google now, because this is silly */
575
+ this.swapEnhancedAutocomplete(element);
576
+ }
577
+ return;
578
+ }
579
+
580
+ let googleApiKey = false;
581
+ if(WPGMZA.settings && (WPGMZA.settings.googleMapsApiKey || WPGMZA.settings.wpgmza_google_maps_api_key)){
582
+ googleApiKey = WPGMZA.settings.googleMapsApiKey ? WPGMZA.settings.googleMapsApiKey : WPGMZA.settings.wpgmza_google_maps_api_key;
583
+ }
584
+
585
+ if(!enhancedAutocomplete.identifiedTypingSpeed){
586
+ let d = new Date();
587
+ if(enhancedAutocomplete.typingTimeout){
588
+ clearTimeout(enhancedAutocomplete.typingTimeout);
589
+ }
590
+
591
+ enhancedAutocomplete.typingTimeout = setTimeout(() => {
592
+ enhancedAutocomplete.startTyping = false;
593
+ enhancedAutocomplete.avgTimeBetweenStrokes = 300;
594
+ enhancedAutocomplete.totalTimeForKeyStrokes = 0;
595
+ }, 1500);
596
+
597
+ if(!enhancedAutocomplete.startTyping){
598
+ enhancedAutocomplete.startTyping = d.getTime();
599
+ enhancedAutocomplete.keyStrokeCount ++;
600
+ } else {
601
+ if(enhancedAutocomplete.keyStrokeCount > 1){
602
+ enhancedAutocomplete.currentTimeBetweenStrokes = d.getTime() - enhancedAutocomplete.startTyping;
603
+ enhancedAutocomplete.totalTimeForKeyStrokes += enhancedAutocomplete.currentTimeBetweenStrokes;
604
+
605
+ enhancedAutocomplete.avgTimeBetweenStrokes = (enhancedAutocomplete.totalTimeForKeyStrokes / (enhancedAutocomplete.keyStrokeCount - 1));
606
+ enhancedAutocomplete.startTyping = d.getTime();
607
+
608
+ if(enhancedAutocomplete.keyStrokeCount >= 3){
609
+ /* We only need to measure speed based on the first 3 strokes */
610
+ enhancedAutocomplete.identifiedTypingSpeed = enhancedAutocomplete.avgTimeBetweenStrokes;
611
+ }
612
+ }
613
+
614
+ enhancedAutocomplete.keyStrokeCount ++;
615
+ }
616
+
617
+ /* Bail while we take our measurements, should be the first 3 characters */
618
+ return;
619
+ }
620
+
621
+ /* Continue processing this request, we have at this stage, determined the users typing speed and we are ready to roll */
622
+ if(enhancedAutocomplete.ajaxTimeout){
623
+ clearTimeout(enhancedAutocomplete.ajaxTimeout);
624
+ }
625
+
626
+ /* Show the searching stub */
627
+ $('#wpgmza_autocomplete_search_results').html('<div class="wpgmza-pad-5">Searching...</div>');
628
+ $('#wpgmza_autocomplete_search_results').show();
629
+
630
+ enhancedAutocomplete.currentSearch = $(element).val();
631
+ if(enhancedAutocomplete.currentSearch && enhancedAutocomplete.currentSearch.trim().length > 0){
632
+ /* Check if we are in the middle of a request, if so, let's abore that to do focus on the new one instead */
633
+ if(enhancedAutocomplete.ajaxRequest !== false){
634
+ enhancedAutocomplete.ajaxRequest.abort();
635
+ }
636
+
637
+ enhancedAutocomplete.requestParams = {
638
+ domain : window.location.hostname
639
+ };
640
+
641
+ if(enhancedAutocomplete.requestParams.domain === 'localhost'){
642
+ try {
643
+ /*
644
+ * Local domains sometimes run into issues with the enhanced autocomplete.
645
+ *
646
+ * To ensure new users get the most out of the free service, let's go ahead and prepare a local style request
647
+ */
648
+ let paths = window.location.pathname.match(/\/(.*?)\//);
649
+ if(paths && paths.length >= 2 && paths[1]){
650
+ let path = paths[1];
651
+ enhancedAutocomplete.requestParams.domain += "-" + path;
652
+ }
653
+ } catch (ex){
654
+ /* Leave it alone */
655
+ }
656
+
657
+ enhancedAutocomplete.requestParams.url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete";
658
+
659
+ enhancedAutocomplete.requestParams.query = {
660
+ s : enhancedAutocomplete.currentSearch,
661
+ d : enhancedAutocomplete.requestParams.domain,
662
+ hash : WPGMZA.siteHash
663
+ };
664
+
665
+ if(googleApiKey){
666
+ /* Send through the google key for further enhancements */
667
+ enhancedAutocomplete.requestParams.query.k = googleApiKey;
668
+ }
669
+
670
+ if(WPGMZA.settings){
671
+ if(WPGMZA.settings.engine){
672
+ enhancedAutocomplete.requestParams.query.engine = WPGMZA.settings.engine;
673
+ }
674
+
675
+ if(WPGMZA.settings.internal_engine){
676
+ enhancedAutocomplete.requestParams.query.build = WPGMZA.settings.internal_engine;
677
+ }
678
+ }
679
+
680
+ /* Finalize the enhanced autocomplete URL query */
681
+ enhancedAutocomplete.requestParams.query = new URLSearchParams(enhancedAutocomplete.requestParams.query);
682
+ enhancedAutocomplete.requestParams.url += "?" + enhancedAutocomplete.requestParams.query.toString();
683
+
684
+ /* Place request in a timetout, to delay the send time by the typing speed */
685
+ enhancedAutocomplete.ajaxTimeout = setTimeout(() => {
686
+ /* Prepare and send the request */
687
+ enhancedAutocomplete.ajaxRequest = $.ajax({
688
+ url : enhancedAutocomplete.requestParams.url,
689
+ type : 'GET',
690
+ dataType : 'json',
691
+ success : (results) => {
692
+ try {
693
+ if(results instanceof Object){
694
+ if(results.error){
695
+ /* We have an error, we need to work with this */
696
+ if (results.error == 'error1') {
697
+ $('#wpgmza_autoc_disabled').html(WPGMZA.localized_strings.cloud_api_key_error_1);
698
+ $('#wpgmza_autoc_disabled').fadeIn('slow');
699
+ $('#wpgmza_autocomplete_search_results').hide();
700
+
701
+ enhancedAutocomplete.disabledFlag = true;
702
+ } else {
703
+ /* General request error was reached, we need to report it and instantly swap back to Google */
704
+ console.error(results.error);
705
+ this.swapEnhancedAutocomplete(element);
706
+ }
707
+ } else {
708
+ /* Things are looking good, let's serve the data */
709
+ $('#wpgmza_autocomplete_search_results').html('');
710
+ let html = "";
711
+
712
+ for(var i in results){
713
+ html += "<div class='wpgmza_ac_result " + (html === "" ? "" : "border-top") + "' data-id='" + i + "' data-lat='"+results[i]['lat']+"' data-lng='"+results[i]['lng']+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i]['icon']+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>" + results[i]['place_name'] + "</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>" + results[i]['formatted_address'] + "</span></div></div></div>";
714
+ }
715
+
716
+ if(!html || html.length <= 0){
717
+ html = "<div class='p-2 text-center'><small>No results found...</small></div>";
718
+ }
719
+
720
+ $('#wpgmza_autocomplete_search_results').html(html);
721
+ $('#wpgmza_autocomplete_search_results').show();
722
+
723
+ /* Finally reset all error counters */
724
+ enhancedAutocomplete.disabledCheckCount = 0;
725
+ enhancedAutocomplete.requestErrorCount = 0;
726
+ }
727
+ } else {
728
+ /* Results are malformed - Swap out now */
729
+ this.swapEnhancedAutocomplete(element);
730
+ }
731
+ } catch (ex){
732
+ /* Results are malformed - Swap out now */
733
+ console.error("WP Go Maps Plugin: There was an error returning the list of places for your search");
734
+ this.swapEnhancedAutocomplete(element);
735
+ }
736
+ },
737
+ error : () => {
738
+ /* Request failed */
739
+ $('#wpgmza_autocomplete_search_results').hide();
740
+
741
+ /* There is a chance that this was purely a network issue, we should count it, and bail later if need be */
742
+ enhancedAutocomplete.requestErrorCount ++;
743
+ if(enhancedAutocomplete.requestErrorCount >= 3){
744
+ /* Swap out now */
745
+ this.swapEnhancedAutocomplete(element);
746
+ }
747
+ }
748
+ });
749
+ }, (enhancedAutocomplete.identifiedTypingSpeed * 2));
750
+
751
+ }
752
+ } else {
753
+ /* Search is empty, just hide the popup for now */
754
+ $('#wpgmza_autocomplete_search_results').hide();
755
+ }
756
+
757
+ }
758
+
759
+ WPGMZA.MapEditPage.prototype.swapEnhancedAutocomplete = function(element){
760
+ /* Disable the enhanced autocomplete, and swap back to the native systems instead */
761
+ if(element._wpgmzaAddressInput){
762
+ if(!element._wpgmzaAddressInput.googleAutocompleteLoaded){
763
+ element._wpgmzaAddressInput.loadGoogleAutocomplete();
764
+ }
765
+ }
766
+
767
+ $('#wpgmza_autocomplete_search_results').hide();
768
+ $('#wpgmza_autoc_disabled').hide();
769
+ }
770
 
771
  $(document).ready(function(event) {
772
 
js/v8/wp-google-maps.combined.js CHANGED
@@ -1778,38 +1778,46 @@ jQuery(function($) {
1778
  throw new Error("Element is not an instance of HTMLInputElement");
1779
 
1780
  this.element = element;
1781
-
1782
-
1783
 
1784
  var json;
 
1785
  var options = {
1786
  fields: ["name", "formatted_address"],
1787
  types: ["geocode", "establishment"]
1788
  };
1789
 
1790
- if(json = $(element).attr("data-autocomplete-options"))
1791
  options = $.extend(options, JSON.parse(json));
 
1792
 
1793
- if(map && map.settings.wpgmza_store_locator_restrict)
1794
  options.country = map.settings.wpgmza_store_locator_restrict;
1795
-
1796
- if(WPGMZA.isGoogleAutocompleteSupported()) {
1797
- // only apply Google Places Autocomplete if they are usig their own API key. If not, they will use our Cloud API Complete Service
 
 
 
 
1798
 
1799
- /**
1800
- * Updated 2022-06-23
 
 
 
1801
  *
1802
- * This logic was incorrect and meant no place completions were happening in admin area, this was a maor value point for users
 
 
 
 
1803
  */
1804
- if (this.element.id != 'wpgmza_add_address_map_editor' && WPGMZA_localized_data.settings.googleMapsApiKey && WPGMZA_localized_data.settings.googleMapsApiKey !== '') {
1805
- element.googleAutoComplete = new google.maps.places.Autocomplete(element, options);
1806
-
1807
- if(options.country)
1808
- element.googleAutoComplete.setComponentRestrictions({country: options.country});
1809
  }
1810
- }
1811
- else if(WPGMZA.CloudAPI && WPGMZA.CloudAPI.isBeingUsed)
1812
  element.cloudAutoComplete = new WPGMZA.CloudAutocomplete(element, options);
 
1813
  }
1814
 
1815
  WPGMZA.extend(WPGMZA.AddressInput, WPGMZA.EventDispatcher);
@@ -1817,17 +1825,37 @@ jQuery(function($) {
1817
  WPGMZA.AddressInput.createInstance = function(element, map) {
1818
  return new WPGMZA.AddressInput(element, map);
1819
  }
1820
-
1821
- /*$(window).on("load", function(event) {
1822
-
1823
- $("input.wpgmza-address").each(function(index, el) {
1824
-
1825
- el.wpgmzaAddressInput = WPGMZA.AddressInput.createInstance(el);
1826
-
1827
- });
 
 
 
 
 
 
 
 
 
1828
 
1829
- });*/
1830
-
 
 
 
 
 
 
 
 
 
 
 
1831
  });
1832
 
1833
  // js/v8/capsule-modules.js
@@ -18221,161 +18249,8 @@ jQuery(function($) {
18221
  var wpgmzaIdentifiedTypingSpeed = false;
18222
 
18223
  $('body').on('keypress', '.wpgmza-address', function(e) {
18224
- if (this.id == 'wpgmza_add_address_map_editor') {
18225
- if (wpgmza_autoCompleteDisabled) { return; }
18226
-
18227
-
18228
- // if user is using their own API key then use the normal Google AutoComplete
18229
- // Since 2022-06-23 this is not true, instead they use ours with their key, this adds more features
18230
- var wpgmza_apikey = false;
18231
- if (WPGMZA_localized_data.settings.googleMapsApiKey && WPGMZA_localized_data.settings.googleMapsApiKey !== '') {
18232
- wpgmza_apikey = WPGMZA_localized_data.settings.googleMapsApiKey;
18233
- }
18234
- /* Don't return because we want this to initialize */
18235
- /* return;
18236
- } else { */
18237
-
18238
- if(e.key === "Escape" || e.key === "Alt" || e.key === "Control" || e.key === "Option" || e.key === "Shift" || e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "ArrowUp" || e.key === "ArrowDown") {
18239
- $('#wpgmza_autocomplete_search_results').hide();
18240
- return;
18241
- }
18242
-
18243
- if (!wpgmzaIdentifiedTypingSpeed) {
18244
- //determine duration between key strokes to determine when we should send the request to the autocomplete server
18245
- //doing this avoids sending API calls for slow typers.
18246
- var d = new Date();
18247
-
18248
-
18249
- // set a timer to reset the delay counter
18250
- clearTimeout(wpgmzaTmp);
18251
- wpgmzaTmp = setTimeout(function(){
18252
- wpgmzaStartTyping = false;
18253
- wpgmzaAvgTimeBetweenStrokes = 300;
18254
- wpgmzaTotalTimeForKeyStrokes = 0;
18255
- },1500
18256
- ); // I'm pretty sure no one types one key stroke per 1.5 seconds. This should be safe.
18257
- if (!wpgmzaStartTyping) {
18258
- // first character press, set start time.
18259
-
18260
- wpgmzaStartTyping = d.getTime();
18261
- wpgmzaKeyStrokeCount++;
18262
- } else {
18263
- if (wpgmzaKeyStrokeCount == 1) {
18264
- // do nothing because its the first key stroke
18265
- } else {
18266
-
18267
-
18268
- wpgmzaCurrentTimeBetweenStrokes = d.getTime() - wpgmzaStartTyping;
18269
- wpgmzaTotalTimeForKeyStrokes = wpgmzaTotalTimeForKeyStrokes + wpgmzaCurrentTimeBetweenStrokes;
18270
-
18271
- wpgmzaAvgTimeBetweenStrokes = (wpgmzaTotalTimeForKeyStrokes / (wpgmzaKeyStrokeCount-1)); // we cannot count the first key as that was the starting point
18272
- wpgmzaStartTyping = d.getTime();
18273
-
18274
- if (wpgmzaKeyStrokeCount >= 3) {
18275
- // we only need 3 keys to know how fast they type
18276
- wpgmzaIdentifiedTypingSpeed = (wpgmzaAvgTimeBetweenStrokes);
18277
-
18278
-
18279
- }
18280
- }
18281
- wpgmzaKeyStrokeCount++;
18282
-
18283
-
18284
-
18285
- }
18286
- return;
18287
- }
18288
-
18289
-
18290
- // clear the previous timer
18291
- clearTimeout(wpgmzaAjaxTimeout);
18292
-
18293
- $('#wpgmza_autocomplete_search_results').html('<div class="wpgmza-pad-5">Searching...</div>');
18294
- $('#wpgmza_autocomplete_search_results').show();
18295
-
18296
-
18297
-
18298
-
18299
- var currentSearch = jQuery(this).val();
18300
- if (currentSearch !== '') {
18301
-
18302
- if(ajaxRequest !== false){
18303
- ajaxRequest.abort();
18304
- }
18305
-
18306
- var domain = window.location.hostname;
18307
- if(domain === 'localhost'){
18308
- try{
18309
- var paths = window.location.pathname.match(/\/(.*?)\//);
18310
- if(paths && paths.length >= 2 && paths[1]){
18311
- var path = paths[1];
18312
- domain += "-" + path
18313
- }
18314
- } catch (ex){
18315
- /* Leave it alone */
18316
- }
18317
- }
18318
-
18319
- var wpgmza_api_url = '';
18320
- if (!wpgmza_apikey) {
18321
- wpgmza_api_url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+currentSearch+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash
18322
- } else {
18323
- wpgmza_api_url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+currentSearch+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash+"&k="+wpgmza_apikey
18324
- }
18325
-
18326
- if(WPGMZA && WPGMZA.settings && WPGMZA.settings.engine){
18327
- wpgmza_api_url += "&engine=" + WPGMZA.settings.engine;
18328
- }
18329
-
18330
- // set a timer of how fast the person types in seconds to only continue with this if it runs out
18331
- wpgmzaAjaxTimeout = setTimeout(function() {
18332
- ajaxRequest = $.ajax({
18333
- url: wpgmza_api_url,
18334
- type: 'GET',
18335
- dataType: 'json', // added data type
18336
- success: function(results) {
18337
-
18338
- try {
18339
-
18340
- if (typeof results.error !== 'undefined') {
18341
- if (results.error == 'error1') {
18342
- $('#wpgmza_autoc_disabled').html(WPGMZA.localized_strings.cloud_api_key_error_1);
18343
- $('#wpgmza_autoc_disabled').fadeIn('slow');
18344
- $('#wpgmza_autocomplete_search_results').hide();
18345
- wpgmza_autoCompleteDisabled = true;
18346
- } else {
18347
- console.error(results.error);
18348
- }
18349
-
18350
- } else {
18351
- $('#wpgmza_autocomplete_search_results').html('');
18352
- var html = "";
18353
- for(var i in results){ html += "<div class='wpgmza_ac_result " + (html === "" ? "" : "border-top") + "' data-id='" + i + "' data-lat='"+results[i]['lat']+"' data-lng='"+results[i]['lng']+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i]['icon']+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>" + results[i]['place_name'] + "</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>" + results[i]['formatted_address'] + "</span></div></div></div>"; }
18354
- if(html == ""){ html = "<div class='p-2 text-center'><small>No results found...</small></div>"; }
18355
- $('#wpgmza_autocomplete_search_results').html(html);
18356
- $('#wpgmza_autocomplete_search_results').show();
18357
-
18358
- }
18359
- } catch (exception) {
18360
- console.error("WP Go Maps Plugin: There was an error returning the list of places for your search");
18361
- }
18362
-
18363
-
18364
-
18365
- },
18366
- error: function(){
18367
- $('#wpgmza_autocomplete_search_results').hide();
18368
- }
18369
- });
18370
- },(wpgmzaIdentifiedTypingSpeed*2));
18371
-
18372
-
18373
-
18374
-
18375
- } else {
18376
- $('#wpgmza_autocomplete_search_results').hide();
18377
- }
18378
- //}
18379
  }
18380
  });
18381
 
@@ -18780,6 +18655,257 @@ jQuery(function($) {
18780
 
18781
  });
18782
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18783
 
18784
  $(document).ready(function(event) {
18785
 
1778
  throw new Error("Element is not an instance of HTMLInputElement");
1779
 
1780
  this.element = element;
 
 
1781
 
1782
  var json;
1783
+
1784
  var options = {
1785
  fields: ["name", "formatted_address"],
1786
  types: ["geocode", "establishment"]
1787
  };
1788
 
1789
+ if(json = $(element).attr("data-autocomplete-options")){
1790
  options = $.extend(options, JSON.parse(json));
1791
+ }
1792
 
1793
+ if(map && map.settings.wpgmza_store_locator_restrict){
1794
  options.country = map.settings.wpgmza_store_locator_restrict;
1795
+ }
1796
+
1797
+ /* Store the options to the instance */
1798
+ this.options = options;
1799
+
1800
+ /* Local reference to the address input */
1801
+ element._wpgmzaAddressInput = this;
1802
 
1803
+ this.googleAutocompleteLoaded = false;
1804
+
1805
+ if(WPGMZA.isGoogleAutocompleteSupported()) {
1806
+ /*
1807
+ * This logic was entirely rebuilt as of 2022-06-28 to allow more complex handling of autocomplete modules
1808
  *
1809
+ * The admin marker address field will now default to our free cloud system first, but rollback to the google autocomplete if any issues are encountered during the usage
1810
+ *
1811
+ * This is handled in the MapEditPage module, but we have plans to move this to it's own module at a later date.
1812
+ *
1813
+ * For now this is the simplest route to achieve the goal we set out to reach
1814
  */
1815
+ if (this.shouldAutoLoadGoogleAutocomplete()) {
1816
+ this.loadGoogleAutocomplete();
 
 
 
1817
  }
1818
+ } else if(WPGMZA.CloudAPI && WPGMZA.CloudAPI.isBeingUsed){
 
1819
  element.cloudAutoComplete = new WPGMZA.CloudAutocomplete(element, options);
1820
+ }
1821
  }
1822
 
1823
  WPGMZA.extend(WPGMZA.AddressInput, WPGMZA.EventDispatcher);
1825
  WPGMZA.AddressInput.createInstance = function(element, map) {
1826
  return new WPGMZA.AddressInput(element, map);
1827
  }
1828
+
1829
+ WPGMZA.AddressInput.prototype.loadGoogleAutocomplete = function(){
1830
+ if(WPGMZA.settings){
1831
+ if(WPGMZA.settings.googleMapsApiKey || WPGMZA.settings.wpgmza_google_maps_api_key){
1832
+ /* Google Autocomplete can initialize normally, as the user has their own key */
1833
+ if(WPGMZA.isGoogleAutocompleteSupported()) {
1834
+ this.element.googleAutoComplete = new google.maps.places.Autocomplete(this.element, this.options);
1835
+
1836
+ if(this.options.country){
1837
+ /* Apply country restrictios to the autocomplet, based on the settings */
1838
+ this.element.googleAutoComplete.setComponentRestrictions({country: this.options.country});
1839
+ }
1840
+ }
1841
+
1842
+ this.googleAutocompleteLoaded = true;
1843
+ }
1844
+ }
1845
 
1846
+ }
1847
+
1848
+ WPGMZA.AddressInput.prototype.shouldAutoLoadGoogleAutocomplete = function(){
1849
+ /*
1850
+ * Checks if this field should automatically initialize Google Autocomplete
1851
+ *
1852
+ * This is true for all address inputs, with the exception of the marker address admin input
1853
+ */
1854
+ if(this.element && this.element.id && this.element.id === 'wpgmza_add_address_map_editor'){
1855
+ return false;
1856
+ }
1857
+ return true;
1858
+ }
1859
  });
1860
 
1861
  // js/v8/capsule-modules.js
18249
  var wpgmzaIdentifiedTypingSpeed = false;
18250
 
18251
  $('body').on('keypress', '.wpgmza-address', function(e) {
18252
+ if(self.shouldAddressFieldUseEnhancedAutocomplete(this)){
18253
+ self.onKeyUpEnhancedAutocomplete(e, this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18254
  }
18255
  });
18256
 
18655
 
18656
  });
18657
  }
18658
+
18659
+ WPGMZA.MapEditPage.prototype.shouldAddressFieldUseEnhancedAutocomplete = function(element){
18660
+ /* This should really be moved to its own module later (EnhancedAutocomplete) */
18661
+ if(element && element.id && element.id === 'wpgmza_add_address_map_editor'){
18662
+ return true;
18663
+ }
18664
+ return false;
18665
+ }
18666
+
18667
+ WPGMZA.MapEditPage.prototype.onKeyUpEnhancedAutocomplete = function(event, element){
18668
+ /* This should really be moved to its own module later (EnhancedAutocomplete) */
18669
+ if(element._wpgmzaAddressInput && element._wpgmzaAddressInput.googleAutocompleteLoaded){
18670
+ /* At some point the system swapped over to the Google Autocomplete, we should not take further action here */
18671
+ return;
18672
+ }
18673
+
18674
+ if(!element._wpgmzaEnhancedAutocomplete){
18675
+ /*
18676
+ * Set up some default state trackers
18677
+ *
18678
+ * Some notes, 300ms for avg keystroke equates to 40wpm, which is the average typing speed of a person
18679
+ */
18680
+ element._wpgmzaEnhancedAutocomplete = {
18681
+ identifiedTypingSpeed : false,
18682
+ typingTimeout : false,
18683
+ startTyping : false,
18684
+ keyStrokeCount : 1,
18685
+ avgTimeBetweenStrokes : 300,
18686
+ totalTimeForKeyStrokes : 0,
18687
+ ajaxRequest : false,
18688
+ ajaxTimeout : false,
18689
+ requestErrorCount : 0,
18690
+ disabledFlag : false,
18691
+ disabledCheckCount : 0
18692
+ };
18693
+ }
18694
+
18695
+ let enhancedAutocomplete = element._wpgmzaEnhancedAutocomplete;
18696
+
18697
+ const ignoredKeys = [
18698
+ "Escape", "Alt", "Control", "Option", "Shift",
18699
+ "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"
18700
+ ];
18701
+
18702
+ if(ignoredKeys.indexOf(event.key) !== -1){
18703
+ /* This keystroke should be ignored */
18704
+ $('#wpgmza_autocomplete_search_results').hide();
18705
+ return;
18706
+ }
18707
+
18708
+ if(enhancedAutocomplete.disabledFlag){
18709
+ /* The server has disabled autocomplete requests manually */
18710
+ enhancedAutocomplete.disabledCheckCount ++;
18711
+ if(enhancedAutocomplete.disabledCheckCount >= 5){
18712
+ /* User keeps trying to use te autocomplete, even though server has reported this as disabled */
18713
+ /* Swap out to Google now, because this is silly */
18714
+ this.swapEnhancedAutocomplete(element);
18715
+ }
18716
+ return;
18717
+ }
18718
+
18719
+ let googleApiKey = false;
18720
+ if(WPGMZA.settings && (WPGMZA.settings.googleMapsApiKey || WPGMZA.settings.wpgmza_google_maps_api_key)){
18721
+ googleApiKey = WPGMZA.settings.googleMapsApiKey ? WPGMZA.settings.googleMapsApiKey : WPGMZA.settings.wpgmza_google_maps_api_key;
18722
+ }
18723
+
18724
+ if(!enhancedAutocomplete.identifiedTypingSpeed){
18725
+ let d = new Date();
18726
+ if(enhancedAutocomplete.typingTimeout){
18727
+ clearTimeout(enhancedAutocomplete.typingTimeout);
18728
+ }
18729
+
18730
+ enhancedAutocomplete.typingTimeout = setTimeout(() => {
18731
+ enhancedAutocomplete.startTyping = false;
18732
+ enhancedAutocomplete.avgTimeBetweenStrokes = 300;
18733
+ enhancedAutocomplete.totalTimeForKeyStrokes = 0;
18734
+ }, 1500);
18735
+
18736
+ if(!enhancedAutocomplete.startTyping){
18737
+ enhancedAutocomplete.startTyping = d.getTime();
18738
+ enhancedAutocomplete.keyStrokeCount ++;
18739
+ } else {
18740
+ if(enhancedAutocomplete.keyStrokeCount > 1){
18741
+ enhancedAutocomplete.currentTimeBetweenStrokes = d.getTime() - enhancedAutocomplete.startTyping;
18742
+ enhancedAutocomplete.totalTimeForKeyStrokes += enhancedAutocomplete.currentTimeBetweenStrokes;
18743
+
18744
+ enhancedAutocomplete.avgTimeBetweenStrokes = (enhancedAutocomplete.totalTimeForKeyStrokes / (enhancedAutocomplete.keyStrokeCount - 1));
18745
+ enhancedAutocomplete.startTyping = d.getTime();
18746
+
18747
+ if(enhancedAutocomplete.keyStrokeCount >= 3){
18748
+ /* We only need to measure speed based on the first 3 strokes */
18749
+ enhancedAutocomplete.identifiedTypingSpeed = enhancedAutocomplete.avgTimeBetweenStrokes;
18750
+ }
18751
+ }
18752
+
18753
+ enhancedAutocomplete.keyStrokeCount ++;
18754
+ }
18755
+
18756
+ /* Bail while we take our measurements, should be the first 3 characters */
18757
+ return;
18758
+ }
18759
+
18760
+ /* Continue processing this request, we have at this stage, determined the users typing speed and we are ready to roll */
18761
+ if(enhancedAutocomplete.ajaxTimeout){
18762
+ clearTimeout(enhancedAutocomplete.ajaxTimeout);
18763
+ }
18764
+
18765
+ /* Show the searching stub */
18766
+ $('#wpgmza_autocomplete_search_results').html('<div class="wpgmza-pad-5">Searching...</div>');
18767
+ $('#wpgmza_autocomplete_search_results').show();
18768
+
18769
+ enhancedAutocomplete.currentSearch = $(element).val();
18770
+ if(enhancedAutocomplete.currentSearch && enhancedAutocomplete.currentSearch.trim().length > 0){
18771
+ /* Check if we are in the middle of a request, if so, let's abore that to do focus on the new one instead */
18772
+ if(enhancedAutocomplete.ajaxRequest !== false){
18773
+ enhancedAutocomplete.ajaxRequest.abort();
18774
+ }
18775
+
18776
+ enhancedAutocomplete.requestParams = {
18777
+ domain : window.location.hostname
18778
+ };
18779
+
18780
+ if(enhancedAutocomplete.requestParams.domain === 'localhost'){
18781
+ try {
18782
+ /*
18783
+ * Local domains sometimes run into issues with the enhanced autocomplete.
18784
+ *
18785
+ * To ensure new users get the most out of the free service, let's go ahead and prepare a local style request
18786
+ */
18787
+ let paths = window.location.pathname.match(/\/(.*?)\//);
18788
+ if(paths && paths.length >= 2 && paths[1]){
18789
+ let path = paths[1];
18790
+ enhancedAutocomplete.requestParams.domain += "-" + path;
18791
+ }
18792
+ } catch (ex){
18793
+ /* Leave it alone */
18794
+ }
18795
+
18796
+ enhancedAutocomplete.requestParams.url = "https://wpgmaps.us-3.evennode.com/api/v1/autocomplete";
18797
+
18798
+ enhancedAutocomplete.requestParams.query = {
18799
+ s : enhancedAutocomplete.currentSearch,
18800
+ d : enhancedAutocomplete.requestParams.domain,
18801
+ hash : WPGMZA.siteHash
18802
+ };
18803
+
18804
+ if(googleApiKey){
18805
+ /* Send through the google key for further enhancements */
18806
+ enhancedAutocomplete.requestParams.query.k = googleApiKey;
18807
+ }
18808
+
18809
+ if(WPGMZA.settings){
18810
+ if(WPGMZA.settings.engine){
18811
+ enhancedAutocomplete.requestParams.query.engine = WPGMZA.settings.engine;
18812
+ }
18813
+
18814
+ if(WPGMZA.settings.internal_engine){
18815
+ enhancedAutocomplete.requestParams.query.build = WPGMZA.settings.internal_engine;
18816
+ }
18817
+ }
18818
+
18819
+ /* Finalize the enhanced autocomplete URL query */
18820
+ enhancedAutocomplete.requestParams.query = new URLSearchParams(enhancedAutocomplete.requestParams.query);
18821
+ enhancedAutocomplete.requestParams.url += "?" + enhancedAutocomplete.requestParams.query.toString();
18822
+
18823
+ /* Place request in a timetout, to delay the send time by the typing speed */
18824
+ enhancedAutocomplete.ajaxTimeout = setTimeout(() => {
18825
+ /* Prepare and send the request */
18826
+ enhancedAutocomplete.ajaxRequest = $.ajax({
18827
+ url : enhancedAutocomplete.requestParams.url,
18828
+ type : 'GET',
18829
+ dataType : 'json',
18830
+ success : (results) => {
18831
+ try {
18832
+ if(results instanceof Object){
18833
+ if(results.error){
18834
+ /* We have an error, we need to work with this */
18835
+ if (results.error == 'error1') {
18836
+ $('#wpgmza_autoc_disabled').html(WPGMZA.localized_strings.cloud_api_key_error_1);
18837
+ $('#wpgmza_autoc_disabled').fadeIn('slow');
18838
+ $('#wpgmza_autocomplete_search_results').hide();
18839
+
18840
+ enhancedAutocomplete.disabledFlag = true;
18841
+ } else {
18842
+ /* General request error was reached, we need to report it and instantly swap back to Google */
18843
+ console.error(results.error);
18844
+ this.swapEnhancedAutocomplete(element);
18845
+ }
18846
+ } else {
18847
+ /* Things are looking good, let's serve the data */
18848
+ $('#wpgmza_autocomplete_search_results').html('');
18849
+ let html = "";
18850
+
18851
+ for(var i in results){
18852
+ html += "<div class='wpgmza_ac_result " + (html === "" ? "" : "border-top") + "' data-id='" + i + "' data-lat='"+results[i]['lat']+"' data-lng='"+results[i]['lng']+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i]['icon']+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>" + results[i]['place_name'] + "</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>" + results[i]['formatted_address'] + "</span></div></div></div>";
18853
+ }
18854
+
18855
+ if(!html || html.length <= 0){
18856
+ html = "<div class='p-2 text-center'><small>No results found...</small></div>";
18857
+ }
18858
+
18859
+ $('#wpgmza_autocomplete_search_results').html(html);
18860
+ $('#wpgmza_autocomplete_search_results').show();
18861
+
18862
+ /* Finally reset all error counters */
18863
+ enhancedAutocomplete.disabledCheckCount = 0;
18864
+ enhancedAutocomplete.requestErrorCount = 0;
18865
+ }
18866
+ } else {
18867
+ /* Results are malformed - Swap out now */
18868
+ this.swapEnhancedAutocomplete(element);
18869
+ }
18870
+ } catch (ex){
18871
+ /* Results are malformed - Swap out now */
18872
+ console.error("WP Go Maps Plugin: There was an error returning the list of places for your search");
18873
+ this.swapEnhancedAutocomplete(element);
18874
+ }
18875
+ },
18876
+ error : () => {
18877
+ /* Request failed */
18878
+ $('#wpgmza_autocomplete_search_results').hide();
18879
+
18880
+ /* There is a chance that this was purely a network issue, we should count it, and bail later if need be */
18881
+ enhancedAutocomplete.requestErrorCount ++;
18882
+ if(enhancedAutocomplete.requestErrorCount >= 3){
18883
+ /* Swap out now */
18884
+ this.swapEnhancedAutocomplete(element);
18885
+ }
18886
+ }
18887
+ });
18888
+ }, (enhancedAutocomplete.identifiedTypingSpeed * 2));
18889
+
18890
+ }
18891
+ } else {
18892
+ /* Search is empty, just hide the popup for now */
18893
+ $('#wpgmza_autocomplete_search_results').hide();
18894
+ }
18895
+
18896
+ }
18897
+
18898
+ WPGMZA.MapEditPage.prototype.swapEnhancedAutocomplete = function(element){
18899
+ /* Disable the enhanced autocomplete, and swap back to the native systems instead */
18900
+ if(element._wpgmzaAddressInput){
18901
+ if(!element._wpgmzaAddressInput.googleAutocompleteLoaded){
18902
+ element._wpgmzaAddressInput.loadGoogleAutocomplete();
18903
+ }
18904
+ }
18905
+
18906
+ $('#wpgmza_autocomplete_search_results').hide();
18907
+ $('#wpgmza_autoc_disabled').hide();
18908
+ }
18909
 
18910
  $(document).ready(function(event) {
18911
 
js/v8/wp-google-maps.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function($){var core={MARKER_PULL_DATABASE:"0",MARKER_PULL_XML:"1",PAGE_MAP_LIST:"map-list",PAGE_MAP_EDIT:"map-edit",PAGE_SETTINGS:"map-settings",PAGE_STYLING:"map-styling",PAGE_SUPPORT:"map-support",PAGE_INSTALLER:"installer",PAGE_CATEGORIES:"categories",PAGE_ADVANCED:"advanced",PAGE_CUSTOM_FIELDS:"custom-fields",maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',preloaderHTML:"<div class='wpgmza-preloader'><div></div><div></div><div></div><div></div></div>",getCurrentPage:function(){switch(WPGMZA.getQueryParamValue("page")){case"wp-google-maps-menu":return window.location.href.match(/action=edit/)&&window.location.href.match(/map_id=\d+/)?WPGMZA.PAGE_MAP_EDIT:window.location.href.match(/action=installer/)?WPGMZA.PAGE_INSTALLER:WPGMZA.PAGE_MAP_LIST;case"wp-google-maps-menu-settings":return WPGMZA.PAGE_SETTINGS;case"wp-google-maps-menu-styling":return WPGMZA.PAGE_STYLING;case"wp-google-maps-menu-support":return WPGMZA.PAGE_SUPPORT;case"wp-google-maps-menu-categories":return WPGMZA.PAGE_CATEGORIES;case"wp-google-maps-menu-advanced":return WPGMZA.PAGE_ADVANCED;case"wp-google-maps-menu-custom-fields":return WPGMZA.PAGE_CUSTOM_FIELDS;default:return null}},getScrollAnimationOffset:function(){return(WPGMZA.settings.scroll_animation_offset||0)+($("#wpadminbar").height()||0)},getScrollAnimationDuration:function(){return WPGMZA.settings.scroll_animation_milliseconds||500},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},extend:function(child,parent){var constructor=child;child.prototype=Object.create(parent.prototype),child.prototype.constructor=constructor},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){colour=parseInt(colour.replace(/^#/,""),16);return[(16711680&colour)>>16,(65280&colour)>>8,255&colour,parseFloat(opacity)]},hexOpacityToString:function(colour,opacity){colour=WPGMZA.hexOpacityToRGBA(colour,opacity);return"rgba("+colour[0]+", "+colour[1]+", "+colour[2]+", "+colour[3]+")"},hexToRgba:function(hex){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?{r:(hex="0x"+(hex=3==(hex=hex.substring(1).split("")).length?[hex[0],hex[0],hex[1],hex[1],hex[2],hex[2]]:hex).join(""))>>16&255,g:hex>>8&255,b:255&hex,a:1}:0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str=(str=str.match(/^\(.+\)$/)?str.replace(/^\(|\)$/,""):str).match(WPGMZA.latLngRegexp);return str?new WPGMZA.LatLng({lat:parseFloat(str[1]),lng:parseFloat(str[3])}):null},stringToLatLng:function(str){str=WPGMZA.isLatLngString(str);if(str)return str;throw new Error("Not a valid latLng")},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){var img;WPGMZA.imageDimensionsCache[src]?callback(WPGMZA.imageDimensionsCache[src]):((img=document.createElement("img")).onload=function(event){var result={width:img.width,height:img.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src)},decodeEntities:function(input){return input.replace(/&(nbsp|amp|quot|lt|gt);/g,function(m,e){return m[e]}).replace(/&#(\d+);/gi,function(m,e){return String.fromCharCode(parseInt(e,10))})},isDeveloperMode:function(){return this.settings.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback,config){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=config?wp.media(config):wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url,attachment)}),file_frame.open()},getCurrentPosition:function(callback,error,watch){var options,nativeFunction="getCurrentPosition";WPGMZA.userLocationDenied?error&&error({code:1,message:"Location unavailable"}):(watch&&(nativeFunction="watchPosition"),navigator.geolocation?(options={enableHighAccuracy:!0},navigator.geolocation[nativeFunction]?navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){options.enableHighAccuracy=!1,navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){console.warn(err.code,err.message),1==err.code&&(WPGMZA.userLocationDenied=!0),error&&error(err)},options)},options):console.warn(nativeFunction+" is not available")):console.warn("No geolocation available on this device"))},watchPosition:function(callback,error){return WPGMZA.getCurrentPosition(callback,error,!0)},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){callback=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(callback.element),$(friendlyErrorContainer).show()}},capitalizeWords:function(string){return(string+"").replace(/^(.)|\s+(.)/g,function(m){return m.toUpperCase()})},pluralize:function(string){return WPGMZA.singularize(string)+"s"},singularize:function(string){return string.replace(/s$/,"")},assertInstanceOf:function(instance,instanceName){var pro=WPGMZA.isProVersion()?"Pro":"",engine="open-layers"===WPGMZA.settings.engine?"OL":"Google",pro=WPGMZA[engine+pro+instanceName]&&engine+instanceName!="OLFeature"?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]&&WPGMZA[engine+instanceName].prototype?engine+instanceName:instanceName;if("OLFeature"!=pro&&!(instance instanceof WPGMZA[pro]))throw new Error("Object must be an instance of "+pro+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return!!window.google&&(!!google.maps&&(!!google.maps.places&&(!!google.maps.places.Autocomplete&&(!WPGMZA.CloudAPI||!WPGMZA.CloudAPI.isBeingUsed))))},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return ua.match(/safari/i)&&!ua.match(/chrome/i)},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},isModernComponentStyleAllowed:function(){return!WPGMZA.settings.user_interface_style||"legacy"==WPGMZA.settings.user_interface_style||"modern"==WPGMZA.settings.user_interface_style},isElementInView:function(element){var pageTop=$(window).scrollTop(),pageBottom=pageTop+$(window).height(),elementTop=$(element).offset().top,element=elementTop+$(element).height();return elementTop<pageTop&&pageBottom<element||(pageTop<=elementTop&&elementTop<=pageBottom||pageTop<=element&&element<=pageBottom)},isFullScreen:function(){return wpgmzaisFullScreen},getQueryParamValue:function(name){var name=new RegExp(name+"=([^&#]*)");return(name=window.location.href.match(name))?decodeURIComponent(name[1]):null},notification:function(text,time){switch(arguments.length){case 0:text="",time=4e3;break;case 1:time=4e3}var html='<div class="wpgmza-popup-notification">'+text+"</div>";jQuery("body").append(html),setTimeout(function(){jQuery("body").find(".wpgmza-popup-notification").remove()},time)},initMaps:function(){$(document.body).find(".wpgmza_map:not(.wpgmza-initialized)").each(function(index,el){if(el.wpgmzaMap)console.warn("Element missing class wpgmza-initialized but does have wpgmzaMap property. No new instance will be created");else try{el.wpgmzaMap=WPGMZA.Map.createInstance(el)}catch(ex){console.warn("Map initalization: "+ex)}}),WPGMZA.Map.nextInitTimeoutID=setTimeout(WPGMZA.initMaps,3e3)},initCapsules:function(){WPGMZA.capsuleModules=WPGMZA.CapsuleModules.createInstance()},onScroll:function(){$(".wpgmza_map").each(function(index,el){var isInView=WPGMZA.isElementInView(el);el.wpgmzaScrollIntoViewTriggerFlag?isInView||(el.wpgmzaScrollIntoViewTriggerFlag=!1):isInView&&($(el).trigger("mapscrolledintoview.wpgmza"),el.wpgmzaScrollIntoViewTriggerFlag=!0)})},initInstallerRedirect:function(url){$(".wpgmza-wrap").hide(),window.location.href=url}},wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}var key,wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){value=WPGMZA_localized_data[key];WPGMZA[key]=value}WPGMZA.settings.useLegacyGlobals=!0,$(document).on("fullscreenchange mozfullscreenchange webkitfullscreenchange",function(){wpgmzaisFullScreen=!!document.fullscreenElement,$(document.body).trigger("fullscreenchange.wpgmza")}),$("body").on("click","#wpgmzaCloseChat",function(e){e.preventDefault(),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_hide_chat",nonce:WPGMZA_localized_data.ajaxnonce}}),$(".wpgmza-chat-help").remove()}),$(window).on("scroll",WPGMZA.onScroll),$(document.body).on("click","button.wpgmza-api-consent",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}),$(document.body).on("keydown",function(event){event.altKey&&(WPGMZA.altKeyDown=!0)}),$(document.body).on("keyup",function(event){event.altKey||(WPGMZA.altKeyDown=!1)}),$(document.body).on("preinit.wpgmza",function(){$(window).trigger("ready.wpgmza"),$(document.body).trigger("ready.body.wpgmza"),$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var key,elements=$("script[src]").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});1<elements.length&&console.warn("Multiple jQuery versions detected: ",elements);for(key in[]){console.warn("The Array object has been extended incorrectly by your theme or another plugin. This can cause issues with functionality.");break}"https:"!=window.location.protocol&&(elements='<div class="'+(WPGMZA.InternalEngine.isLegacy()?"":"wpgmza-shadow wpgmza-card wpgmza-pos-relative ")+'notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>",$(".wpgmza-geolocation-setting").first().after($(elements))),WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code&&jQuery(".wpgmza-gdpr-compliance").length<=0&&($(".wpgmza-inner-stack").hide(),$("button.wpgmza-api-consent").on("click",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}))}),function($){$(function(){WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),WPGMZA.CloudAPI&&(WPGMZA.cloudAPI=WPGMZA.CloudAPI.createInstance()),$(document.body).trigger("preinit.wpgmza"),WPGMZA.initMaps(),WPGMZA.onScroll(),WPGMZA.initCapsules(),$(document.body).trigger("postinit.wpgmza")})}($)}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),!function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;function cssEscape(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0==(codeUnit=string.charCodeAt(index))?result+="�":result+=1<=codeUnit&&codeUnit<=31||127==codeUnit||0==index&&48<=codeUnit&&codeUnit<=57||1==index&&48<=codeUnit&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(128<=codeUnit||45==codeUnit||95==codeUnit||48<=codeUnit&&codeUnit<=57||65<=codeUnit&&codeUnit<=90||97<=codeUnit&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index);return result}return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape}),jQuery(function($){Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km},between:function(a,b){if(!(a instanceof WPGMZA.LatLng||"lat"in a&&"lng"in a))throw new Error("First argument must be an instance of WPGMZA.LatLng or a literal");if(!(b instanceof WPGMZA.LatLng||"lat"in b&&"lng"in b))throw new Error("Second argument must be an instance of WPGMZA.LatLng or a literal");if(a===b)return 0;var lat1=a.lat,lon1=a.lng,lat2=b.lat,b=b.lng,dLat=deg2rad(lat2-lat1),b=deg2rad(b-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(b/2)*Math.sin(b/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))}}}),jQuery(function($){WPGMZA.EliasFano=function(){if(!WPGMZA.EliasFano.isSupported)throw new Error("Elias Fano encoding is not supported on browsers without Uint8Array");WPGMZA.EliasFano.decodingTablesInitialised||WPGMZA.EliasFano.createDecodingTable()},WPGMZA.EliasFano.isSupported="Uint8Array"in window,WPGMZA.EliasFano.decodingTableHighBits=[],WPGMZA.EliasFano.decodingTableDocIDNumber=null,WPGMZA.EliasFano.decodingTableHighBitsCarryover=null,WPGMZA.EliasFano.createDecodingTable=function(){WPGMZA.EliasFano.decodingTableDocIDNumber=new Uint8Array(256),WPGMZA.EliasFano.decodingTableHighBitsCarryover=new Uint8Array(256);for(var decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,i=0;i<256;i++){var zeroCount=0;decodingTableHighBits[i]=[];for(var j=7;0<=j;j--)zeroCount=0<(i&1<<j)?(decodingTableHighBits[i][decodingTableDocIDNumber[i]]=zeroCount,decodingTableDocIDNumber[i]++,0):(zeroCount+1)%255;decodingTableHighBitsCarryover[i]=zeroCount}WPGMZA.EliasFano.decodingTablesInitialised=!0},WPGMZA.EliasFano.prototype.encode=function(list){var lastDocID=0,buffer1=0,bufferLength1=0,buffer2=0,bufferLength2=0;if(0==list.length)return result;var compressedBufferPointer1=0,compressedBufferPointer2=0,averageDelta=list[list.length-1]/list.length,averageDeltaLog=Math.log2(averageDelta),lowBitsLength=Math.floor(averageDeltaLog),lowBitsMask=(1<<lowBitsLength)-1,prev=null,averageDeltaLog=Math.floor((2+Math.ceil(Math.log2(averageDelta)))*list.length/8)+6,compressedBuffer=new Uint8Array(averageDeltaLog),result=(lowBitsLength<0&&(lowBitsLength=0),compressedBufferPointer2=Math.floor(lowBitsLength*list.length/8+6),compressedBuffer[compressedBufferPointer1++]=255&list.length,compressedBuffer[compressedBufferPointer1++]=255&list.length>>8,compressedBuffer[compressedBufferPointer1++]=255&list.length>>16,compressedBuffer[compressedBufferPointer1++]=255&list.length>>24,compressedBuffer[compressedBufferPointer1++]=255&lowBitsLength,list.forEach(function(docID){var docIDDelta=docID-lastDocID-1;if(!$.isNumeric(docID))throw new Error("Value is not numeric");if(docID=parseInt(docID),null!==prev&&docID<=prev)throw new Error("Elias Fano encoding can only be used on a sorted, ascending list of unique integers.");for(prev=docID,buffer1=buffer1<<lowBitsLength|docIDDelta&lowBitsMask,bufferLength1+=lowBitsLength;7<bufferLength1;)bufferLength1-=8,compressedBuffer[compressedBufferPointer1++]=255&buffer1>>bufferLength1;docIDDelta=1+(docIDDelta>>lowBitsLength);for(buffer2=buffer2<<docIDDelta|1,bufferLength2+=docIDDelta;7<bufferLength2;)bufferLength2-=8,compressedBuffer[compressedBufferPointer2++]=255&buffer2>>bufferLength2;lastDocID=docID}),0<bufferLength1&&(compressedBuffer[compressedBufferPointer1++]=255&buffer1<<8-bufferLength1),0<bufferLength2&&(compressedBuffer[compressedBufferPointer2++]=255&buffer2<<8-bufferLength2),new Uint8Array(compressedBuffer));return result.pointer=compressedBufferPointer2,result},WPGMZA.EliasFano.prototype.decode=function(compressedBuffer){for(var resultPointer=0,list=[],decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,lowBitsPointer=0,lastDocID=0,docID=0,listCount=compressedBuffer[lowBitsPointer++],lowBitsLength=(listCount=(listCount=(listCount|=compressedBuffer[lowBitsPointer++]<<8)|compressedBuffer[lowBitsPointer++]<<16)|compressedBuffer[lowBitsPointer++]<<24,compressedBuffer[lowBitsPointer++]),lowBitsCount=0,lowBits=0,cb=1,highBitsPointer=Math.floor(lowBitsLength*listCount/8+6);highBitsPointer<compressedBuffer.pointer;highBitsPointer++){docID+=decodingTableHighBitsCarryover[cb];for(var docIDNumber=decodingTableDocIDNumber[cb=compressedBuffer[highBitsPointer]],i=0;i<docIDNumber;i++){for(docID=docID<<lowBitsCount|lowBits&(1<<lowBitsCount)-1;lowBitsCount<lowBitsLength;)docID=(docID<<=8)|(lowBits=compressedBuffer[lowBitsPointer++]),lowBitsCount+=8;docID=(docID>>=lowBitsCount-=lowBitsLength)+((decodingTableHighBits[cb][i]<<lowBitsLength)+lastDocID+1),lastDocID=list[resultPointer++]=docID,docID=0}}return list}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType={}},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var types=type.split(/\s+/);if(1<types.length)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");type=this._listenersByType.hasOwnProperty(type)?this._listenersByType[type]:this._listenersByType[type]=[];type.push({listener:listener,thisObject:thisObject||this,useCapture:!!useCapture})}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject=thisObject||this,useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if(obj=arr[i],(1==arguments.length||obj.listener==listener)&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var name,src=event;for(name in event=new WPGMZA.Event,src)event[name]=src[name]}for(var path=[],obj=(event.target=this).parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;0<=i&&!event._cancelled;i--)path[i]._triggerListeners(event);for(var topMostElement=this.element,obj=this.parent;null!=obj;obj=obj.parent)obj.element&&(topMostElement=obj.element);if(topMostElement){var key,customEvent={};for(key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(topMostElement).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],event.phase==WPGMZA.Event.CAPTURING_PHASE&&!obj.useCapture||obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.AddressInput=function(element,map){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=element;var json,options={fields:["name","formatted_address"],types:["geocode","establishment"]};(json=$(element).attr("data-autocomplete-options"))&&(options=$.extend(options,JSON.parse(json))),map&&map.settings.wpgmza_store_locator_restrict&&(options.country=map.settings.wpgmza_store_locator_restrict),WPGMZA.isGoogleAutocompleteSupported()?"wpgmza_add_address_map_editor"!=this.element.id&&WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey&&(element.googleAutoComplete=new google.maps.places.Autocomplete(element,options),options.country&&element.googleAutoComplete.setComponentRestrictions({country:options.country})):WPGMZA.CloudAPI&&WPGMZA.CloudAPI.isBeingUsed&&(element.cloudAutoComplete=new WPGMZA.CloudAutocomplete(element,options))},WPGMZA.extend(WPGMZA.AddressInput,WPGMZA.EventDispatcher),WPGMZA.AddressInput.createInstance=function(element,map){return new WPGMZA.AddressInput(element,map)}}),jQuery(function($){WPGMZA.CapsuleModules=function(){WPGMZA.EventDispatcher.call(this),this.proxies={},this.capsules=[],this.prepareCapsules(),this.flagCapsules()},WPGMZA.extend(WPGMZA.CapsuleModules,WPGMZA.EventDispatcher),WPGMZA.CapsuleModules.getConstructor=function(){return WPGMZA.isProVersion()?WPGMZA.ProCapsuleModules:WPGMZA.CapsuleModules},WPGMZA.CapsuleModules.createInstance=function(){const constructor=WPGMZA.CapsuleModules.getConstructor();return new constructor},WPGMZA.CapsuleModules.prototype.proxyMap=function(id,settings){return this.proxies[id]||(this.proxies[id]=Object.create(this),this.proxies[id].id=id,this.proxies[id].markers=[],this.proxies[id].showPreloader=function(){},this.proxies[id].getMarkerByID=function(){return{}},this.proxies[id].markerFilter=WPGMZA.MarkerFilter.createInstance(this.proxies[id])),settings&&(this.proxies[id].settings=settings),this.proxies[id]},WPGMZA.CapsuleModules.prototype.flagCapsules=function(){if(this.capsules)for(var i in this.capsules)this.capsules[i].element&&$(this.capsules[i].element).addClass("wpgmza-capsule-module")},WPGMZA.CapsuleModules.prototype.prepareCapsules=function(){this.registerStoreLocator()},WPGMZA.CapsuleModules.prototype.registerStoreLocator=function(){$(".wpgmza-store-locator").each((index,element)=>{var mapId=$(element).data("map-id"),url=$(element).data("url");if(mapId&&!WPGMZA.getMapByID(mapId))if(url){var settings=$(element).data("map-settings"),settings=this.proxyMap(mapId,settings);const capsule={type:"store_locator",element:element,instance:WPGMZA.StoreLocator.createInstance(settings,element)};capsule.instance.isCapsule=!0,capsule.instance.redirectUrl=url,this.capsules.push(capsule)}else console.warn('WPGMZA: You seem to have added a stadalone store locator without a map page URL. Please add a URL to your shortcode [wpgmza_store_locator id="'+mapId+'" url="{URL}"] and try again')})}}),jQuery(function($){WPGMZA.ColorInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={format:"hex",anchor:"left",container:!1,autoClose:!0,autoOpen:!1,supportAlpha:!0,supportPalette:!0,wheelBorderWidth:10,wheelPadding:6,wheelBorderColor:"rgb(255,255,255)"},this.parseOptions(options),this.state={initialized:!1,sliderInvert:!1,lockSlide:!1,lockPicker:!1,open:!1,mouse:{down:!1}},this.color={h:0,s:0,l:100,a:1},this.wrap(),this.renderControls(),this.parseColor(this.value)},WPGMZA.extend(WPGMZA.ColorInput,WPGMZA.EventDispatcher),WPGMZA.ColorInput.createInstance=function(element){return new WPGMZA.ColorInput(element)},WPGMZA.ColorInput.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)},WPGMZA.ColorInput.prototype.degreesToRadians=function(degrees){return degrees*(Math.PI/180)},WPGMZA.ColorInput.prototype.hueToRgb=function(p,q,t){return t<0&&(t+=1),1<t&&--t,t<1/6?p+6*(q-p)*t:t<.5?q:t<2/3?p+(q-p)*(2/3-t)*6:p},WPGMZA.ColorInput.prototype.getMousePositionInCanvas=function(canvas,event){canvas=canvas.getBoundingClientRect();return{x:event.clientX-canvas.left,y:event.clientY-canvas.top}},WPGMZA.ColorInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.ColorInput.prototype.getColor=function(override,format){var hsl=Object.assign({},this.color);if(override)for(var i in override)hsl[i]=override[i];format=format||this.options.format;var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);switch(format){case"hsl":return"hsl("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%)";case"hsla":return"hsla("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%, "+hsl.a+")";case"rgb":return"rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")";case"rgba":return"rgba("+rgb.r+", "+rgb.g+", "+rgb.b+", "+rgb.a+")"}return this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a)},WPGMZA.ColorInput.prototype.setColor=function(hsl){for(var i in hsl)this.color[i]=hsl[i];this.options.supportAlpha||(this.color.a=1),this.updatePreview(),this.commit(),this.state.initialized&&this.update()},WPGMZA.ColorInput.prototype.parseColor=function(value){var hsl;"string"==typeof value&&(-1!==(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"rgb(255,255,255)":value).indexOf("rgb")?(value=value.replace(/[a-z\(\)%]/g,""),parts=value.split(","),this.setColor(this.rgbToHsl(parts[0],parts[1],parts[2],parts[3]))):-1!==value.indexOf("hsl")?(value=value.replace(/[a-z\(\)%]/g,""),hsl={h:(parts=value.split(","))[0]?parseInt(parts[0]):0,s:parts[1]?parseInt(parts[1]):0,l:parts[2]?parseInt(parts[2]):100,a:parts[3]?parseFloat(parts[3]):1},this.setColor(hsl)):(hsl=this.hexToRgb(value),this.setColor(this.rgbToHsl(hsl.r,hsl.g,hsl.b,hsl.a))))},WPGMZA.ColorInput.prototype.rgbToHsl=function(r,g,b,a){var rgb={r:0<=r?r/255:255,g:0<=g?g/255:255,b:0<=b?b/255:255,a:0<=a?a:1},r=Math.min(rgb.r,rgb.g,rgb.b),g=Math.max(rgb.r,rgb.g,rgb.b),delta=g-r,hsl={h:(g+r)/2,s:(g+r)/2,l:(g+r)/2,a:rgb.a};if(0!=delta){switch(hsl.s=.5<hsl.l?delta/(2-g-r):delta/(g+r),g){case rgb.r:hsl.h=(rgb.g-rgb.b)/delta+(rgb.g<rgb.b?6:0);break;case rgb.g:hsl.h=(rgb.b-rgb.r)/delta+2;break;case rgb.b:hsl.h=(rgb.r-rgb.g)/delta+4}hsl.h=hsl.h/6}else hsl.h=0,hsl.s=0;return hsl.h=parseInt(360*hsl.h),hsl.s=parseInt(100*hsl.s),hsl.l=parseInt(100*hsl.l),hsl},WPGMZA.ColorInput.prototype.hexToRgb=function(hex){return(hex=hex.trim().toLowerCase().replace(/ /g,"").replace(/[^A-Za-z0-9\s]/g,"")).length<6&&(hex+=hex.charAt(hex.length-1).repeat(6-hex.length)),{r:parseInt(hex.slice(0,2),16),g:parseInt(hex.slice(2,4),16),b:parseInt(hex.slice(4,6),16),a:6<hex.length?this.floatToPrecision(parseInt(hex.slice(6,8),16)/255,2):1}},WPGMZA.ColorInput.prototype.hslToRgb=function(h,s,l,a){var h={h:0<=h?h:0,s:0<=s?s/100:0,l:0<=l?l/100:0,a:0<=a?a:1},s={r:0,g:0,b:0,a:h.a},l=(1-Math.abs(2*h.l-1))*h.s,a=l*(1-Math.abs(h.h/60%2-1)),diff=h.l-l/2;return 0<=h.h&&h.h<60?(s.r=l,s.g=a,s.b=0):60<=h.h&&h.h<120?(s.r=a,s.g=l,s.b=0):120<=h.h&&h.h<180?(s.r=0,s.g=l,s.b=a):180<=h.h&&h.h<240?(s.r=0,s.g=a,s.b=l):240<=h.h&&h.h<300?(s.r=a,s.g=0,s.b=l):300<=h.h&&h.h<360&&(s.r=l,s.g=0,s.b=a),s.r=Math.round(255*(s.r+diff)),s.g=Math.round(255*(s.g+diff)),s.b=Math.round(255*(s.b+diff)),s},WPGMZA.ColorInput.prototype.rgbToHex=function(r,g,b,a){var i,rgb={r:0<=r?r:255,g:0<=g?g:255,b:0<=b?b:255,a:0<=a?a:1};for(i in rgb.r=rgb.r.toString(16),rgb.g=rgb.g.toString(16),rgb.b=rgb.b.toString(16),rgb.a<1?rgb.a=Math.round(255*rgb.a).toString(16):rgb.a="",rgb)1===rgb[i].length&&(rgb[i]="0"+rgb[i]);return"#"+rgb.r+rgb.g+rgb.b+rgb.a},WPGMZA.ColorInput.prototype.floatToPrecision=function(float,precision){return float=parseFloat(float),parseFloat(float.toFixed(precision))},WPGMZA.ColorInput.prototype.wrap=function(){var self=this;if(!this.element||"text"!==this.type)throw new Error("WPGMZA.ColorInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-color-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element),this.options.autoClose&&($(document.body).on("click",function(){self.state.open&&(self.state.mouse.down=!1,self.onTogglePicker())}),$(document.body).on("colorpicker.open.wpgmza",function(event){event.instance!==self&&self.state.open&&self.onTogglePicker()}))},WPGMZA.ColorInput.prototype.renderControls=function(){var self=this;this.container&&(this.preview=$("<div class='wpgmza-color-preview wpgmza-shadow' />"),this.swatch=$("<div class='swatch' />"),this.picker=$("<div class='wpgmza-color-picker wpgmza-card wpgmza-shadow' />"),this.preview.append(this.swatch),this.picker.addClass("anchor-"+this.options.anchor),this.preview.addClass("anchor-"+this.options.anchor),this.preview.on("click",function(event){event.stopPropagation(),self.onTogglePicker()}),this.picker.on("click",function(event){event.stopPropagation()}),this.container.append(this.preview),this.options.container&&0<$(this.options.container).length?($(this.options.container).append(this.picker),$(this.options.container).addClass("wpgmza-color-input-host")):this.container.append(this.picker),this.options.autoOpen&&this.preview.trigger("click"))},WPGMZA.ColorInput.prototype.renderPicker=function(){this.state.initialized||(this.renderWheel(),this.renderFields(),this.renderPalette(),this.state.initialized=!0)},WPGMZA.ColorInput.prototype.renderWheel=function(){var self=this;this.wheel={wrap:$("<div class='canvas-wrapper' />"),element:$("<canvas class='color-wheel' />"),handle:$("<div class='canvas-handle' />"),slider:$("<div class='canvas-slider' />")},this.wheel.target=this.wheel.element.get(0),this.wheel.target.height=256,this.wheel.target.width=256,this.wheel.radius=(this.wheel.target.width-2*(this.options.wheelBorderWidth+this.options.wheelPadding))/2,this.wheel.degreeStep=1/this.wheel.radius,this.wheel.context=this.wheel.target.getContext("2d"),this.wheel.context.clearRect(0,0,this.wheel.target.width,this.wheel.target.height),this.wheel.grid={canvas:document.createElement("canvas")},this.wheel.grid.canvas.width=20,this.wheel.grid.canvas.height=20,this.wheel.grid.context=this.wheel.grid.canvas.getContext("2d"),this.wheel.grid.context.fillStyle="rgb(255,255,255)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width,this.wheel.grid.canvas.height),this.wheel.grid.context.fillStyle="rgb(180,180,180)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.grid.context.fillRect(this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.element.on("mousedown",function(event){self.state.mouse.down=!0,self.onPickerMouseSelect(event)}),this.wheel.element.on("mousemove",function(event){self.state.mouse.down&&self.onPickerMouseSelect(event)}),this.wheel.element.on("mouseup",function(event){self.clearStates()}),this.wheel.element.on("mouseleave",function(event){self.clearStates()}),this.wheel.wrap.append(this.wheel.element),this.wheel.wrap.append(this.wheel.handle),this.wheel.wrap.append(this.wheel.slider),this.picker.append(this.wheel.wrap)},WPGMZA.ColorInput.prototype.renderFields=function(){var group,self=this;for(group in this.fields={wrap:$("<div class='wpgmza-color-field-wrapper' />"),toggle:$("<div class='color-field-toggle' />"),blocks:{hsla:{keys:["h","s","l","a"]},rgba:{keys:["r","g","b","a"]},hex:{keys:["hex"]}}},this.fields.toggle.on("click",function(){var view=self.fields.view;switch(view){case"hex":view="hsla";break;case"hsla":view="rgba";break;case"rgba":view="hex"}self.updateFieldView(view)}),this.fields.wrap.append(this.fields.toggle),this.fields.blocks){var index,keys=this.fields.blocks[group].keys;for(index in this.fields.blocks[group].wrap=$("<div class='field-block' data-type='"+group+"'/>"),this.fields.blocks[group].rows={labels:$("<div class='labels' />"),controls:$("<div class='controls' />")},this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.controls),this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.labels),this.options.supportAlpha||-1===keys.indexOf("a")||this.fields.blocks[group].wrap.addClass("alpha-disabled"),keys){var name=keys[index],label=$("<div class='inner-label' />");label.text(name),this.fields.blocks[group][name]=$("<input type='text'/>"),this.fields.blocks[group].rows.controls.append(this.fields.blocks[group][name]),this.fields.blocks[group].rows.labels.append(label),this.fields.blocks[group][name].on("keydown",function(event){const originalEvent=event.originalEvent;"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.fields.blocks[group][name].on("change",function(){self.onFieldChange(this)})}this.fields.wrap.append(this.fields.blocks[group].wrap)}this.picker.append(this.fields.wrap),this.updateFieldView()},WPGMZA.ColorInput.prototype.renderPalette=function(){var self=this;if(this.options.supportPalette){for(var i in this.palette={wrap:$("<div class='wpgmza-color-palette-wrap' />"),variations:[{s:-10,l:-10},{h:15},{h:30},{h:-15},{h:-30},{h:100,s:10},{h:-100,s:-10},{h:180}],controls:[]},this.palette.variations){var mutator,variation=this.palette.variations[i],control=$("<div class='palette-swatch' />");for(mutator in variation)control.attr("data-"+mutator,variation[mutator]);control.on("click",function(){var elem=$(this);self.parseColor(elem.css("background-color")),self.element.trigger("input")}),this.palette.wrap.append(control),this.palette.controls.push(control)}this.picker.append(this.palette.wrap)}},WPGMZA.ColorInput.prototype.updateWheel=function(){this.wheel.center={x:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding,y:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding},this.color.a<1&&(this.wheel.grid.pattern=this.wheel.context.createPattern(this.wheel.grid.canvas,"repeat"),this.wheel.context.fillStyle=this.wheel.grid.pattern,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill());for(var i=0;i<360;i++){var startAngle=(i-1)*Math.PI/180,endAngle=(i+1)*Math.PI/180;this.wheel.context.beginPath(),this.wheel.context.moveTo(this.wheel.center.x,this.wheel.center.y),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,startAngle,endAngle),this.wheel.context.closePath(),this.wheel.context.fillStyle="hsla("+i+", 100%, 50%, "+this.color.a+")",this.wheel.context.fill()}var gradient=this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius),gradient=(gradient.addColorStop(0,"rgba(255, 255, 255, 1)"),gradient.addColorStop(1,"rgba(255, 255, 255, 0)"),this.wheel.context.fillStyle=gradient,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill(),this.wheel.context.lineWidth=2,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.stroke(),this.wheel.context.createLinearGradient(this.wheel.center.x,0,this.wheel.center.x,this.wheel.target.height)),gradient=(gradient.addColorStop(0,this.getColor({l:95},"hsl")),gradient.addColorStop(.5,this.getColor({l:50},"hsl")),gradient.addColorStop(1,this.getColor({l:5},"hsl")),this.wheel.context.beginPath(),this.wheel.context.lineWidth=this.options.wheelBorderWidth,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth/2,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.lineWidth=1,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius));gradient.addColorStop(0,"rgba(80, 80, 80, 0)"),gradient.addColorStop(.95,"rgba(80, 80, 80, 0.0)"),gradient.addColorStop(1,"rgba(80, 80, 80, 0.1)"),this.wheel.context.beginPath(),this.wheel.context.lineWidth=6,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius-3,0,2*Math.PI),this.wheel.context.stroke()},WPGMZA.ColorInput.prototype.update=function(){this.updateHandles(),this.updateWheel(),this.updateFields(),this.updatePalette()},WPGMZA.ColorInput.prototype.updateHandles=function(){var localRadius=this.wheel.element.width()/2,localHandleOffset=(localRadius-this.options.wheelBorderWidth-this.options.wheelPadding)/100*this.color.s,localHandleOffset={left:localRadius+localHandleOffset*Math.cos(this.degreesToRadians(this.color.h))+"px",top:localRadius+localHandleOffset*Math.sin(this.degreesToRadians(this.color.h))+"px"},localHandleOffset=(this.wheel.handle.css(localHandleOffset),this.color.l/100*360/2),localRadius=(this.state.sliderInvert&&(localHandleOffset=360-localHandleOffset),{left:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.cos(this.degreesToRadians(localHandleOffset+90))+"px",top:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.sin(this.degreesToRadians(localHandleOffset+90))+"px"});this.wheel.slider.css(localRadius)},WPGMZA.ColorInput.prototype.updatePreview=function(){this.swatch.css({background:this.getColor(!1,"rgba")})},WPGMZA.ColorInput.prototype.updateFields=function(){var group,hsl=Object.assign({},this.color);for(group in this.fields.blocks)switch(group){case"hsla":this.fields.blocks[group].h.val(hsl.h),this.fields.blocks[group].s.val(hsl.s),this.fields.blocks[group].l.val(hsl.l),this.fields.blocks[group].a.val(hsl.a);break;case"rgba":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);this.fields.blocks[group].r.val(rgb.r),this.fields.blocks[group].g.val(rgb.g),this.fields.blocks[group].b.val(rgb.b),this.fields.blocks[group].a.val(rgb.a);break;case"hex":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a),hex=this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a);this.fields.blocks[group].hex.val(hex)}},WPGMZA.ColorInput.prototype.updatePalette=function(){if(this.options.supportPalette)for(var i in this.palette.controls){var mutator,hsl=Object.assign({},this.color),i=this.palette.controls[i],data=i.data();for(mutator in 0===hsl.l?(data.h&&(hsl.l+=Math.abs(data.h)/360*100),hsl.l+=10):100===hsl.l&&(data.h&&(hsl.l-=Math.abs(data.h)/360*100),hsl.l-=10),data)hsl[mutator]+=data[mutator];hsl.h<0?hsl.h+=360:360<hsl.h&&(hsl.h-=360),hsl.h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l);var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l);i.css("background","rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")")}},WPGMZA.ColorInput.prototype.updateFieldView=function(view){switch(view=view||this.options.format||"hex"){case"rgb":view="rgba";break;case"hsl":view="hsla"}for(var group in this.fields.view=view,this.fields.blocks)group===this.fields.view?this.fields.blocks[group].wrap.show():this.fields.blocks[group].wrap.hide()},WPGMZA.ColorInput.prototype.onPickerMouseSelect=function(event){var localRadius=this.wheel.element.width()/2,event=this.getMousePositionInCanvas(this.wheel.target,event),event={x:event.x-localRadius,y:event.y-localRadius},angle=360*Math.atan2(event.y,event.x)/(2*Math.PI),event=(angle<0&&(angle+=360),Math.sqrt(event.x*event.x+event.y*event.y)),range={pickerScaler:localRadius/this.wheel.radius};range.pickerEdge=range.pickerScaler*localRadius,(event<=range.pickerEdge||this.state.lockPicker)&&!this.state.lockSlide?(this.setColor({h:parseInt(angle),s:Math.min(parseInt(event/range.pickerEdge*100),100)}),this.state.lockPicker=!0):((angle-=90)<0&&(angle+=360),this.state.sliderInvert=!1,180<angle&&(angle=180-(angle-180),this.state.sliderInvert=!0),this.setColor({l:parseInt(angle/180*100)}),this.state.lockSlide=!0),this.element.trigger("input")},WPGMZA.ColorInput.prototype.onFieldChange=function(field){if(field&&""!==$(field).val().trim()){var field=$(field).closest(".field-block"),type=field.data("type"),raw=[];if(field.find("input").each(function(){raw.push($(this).val())}),("hsla"===type||"rgba"===type)&&raw[3]){field=raw[3];if("."===field.trim().charAt(field.trim().length-1))return}switch(type){case"hsla":(hsl={h:raw[0]?parseInt(raw[0]):0,s:raw[1]?parseInt(raw[1]):0,l:raw[2]?parseInt(raw[2]):100,a:raw[3]?parseFloat(raw[3]):1}).h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l),hsl.a=this.clamp(0,1,hsl.a),this.setColor(hsl);break;case"rgba":(rgb={r:raw[0]?parseInt(raw[0]):255,g:raw[1]?parseInt(raw[1]):255,b:raw[2]?parseInt(raw[2]):255,a:raw[3]?parseFloat(raw[3]):1}).r=this.clamp(0,255,rgb.r),rgb.g=this.clamp(0,255,rgb.g),rgb.b=this.clamp(0,255,rgb.b),rgb.a=this.clamp(0,1,rgb.a);var hsl=this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a);this.setColor(hsl);break;case"hex":var rgb=this.hexToRgb(raw[0]||"#ffffff");this.setColor(this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a))}this.element.trigger("input")}},WPGMZA.ColorInput.prototype.onTogglePicker=function(){this.renderPicker(),this.picker.toggleClass("active"),this.update(),this.state.open=this.picker.hasClass("active"),this.state.open&&$(document.body).trigger({type:"colorpicker.open.wpgmza",instance:this})},WPGMZA.ColorInput.prototype.clearStates=function(){this.state.mouse.down=!1,this.state.lockSlide=!1,this.state.lockPicker=!1},WPGMZA.ColorInput.prototype.commit=function(){var syncValue=this.getColor();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-color-input").each(function(index,el){el.wpgmzaColorInput=WPGMZA.ColorInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSBackdropFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSBackdropFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSBackdropFilterInput.createInstance=function(element){return new WPGMZA.CSSBackdropFilterInput(element)},WPGMZA.CSSBackdropFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSBackdropFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSBackdropFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSBackdropFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSBackdropFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSBackdropFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-backdrop-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSBackdropFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='backdrop-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='backdrop-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='backdrop-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='backdrop-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='backdrop-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='backdrop-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSBackdropFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.backdrop-filter-item-wrap[data-type="'+type+'"]');row.find(".backdrop-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".backdrop-filter-item-input").val(data.value).trigger("change"),row.find(".backdrop-filter-item-slider").slider("value",data.value),row.find(".backdrop-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSBackdropFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-styling-backdrop-filter-input").each(function(index,el){el.wpgmzaCSSBackdropFilterInput=WPGMZA.CSSBackdropFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSFilterInput.createInstance=function(element){return new WPGMZA.CSSFilterInput(element)},WPGMZA.CSSFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSFilterInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-css-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='css-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='css-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='css-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='css-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='css-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='css-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.css-filter-item-wrap[data-type="'+type+'"]');row.find(".css-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".css-filter-item-input").val(data.value).trigger("change"),row.find(".css-filter-item-slider").slider("value",data.value),row.find(".css-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-css-filter-input").each(function(index,el){el.wpgmzaCSSFilterInput=WPGMZA.CSSFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSStateBlock=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.tabs=this.element.find(".wpgmza-css-state-block-item"),this.items=this.element.find(".wpgmza-css-state-block-content"),this.items.removeClass("active"),this.bindEvents(),this.element.find(".wpgmza-css-state-block-item:first-child").click()},WPGMZA.extend(WPGMZA.CSSStateBlock,WPGMZA.EventDispatcher),WPGMZA.CSSStateBlock.createInstance=function(element){return new WPGMZA.CSSStateBlock(element)},WPGMZA.CSSStateBlock.prototype.bindEvents=function(){let self=this;this.tabs.on("click",function(event){self.onClick($(this))})},WPGMZA.CSSStateBlock.prototype.onClick=function(item){var type=item.data("type");type&&(this.tabs.removeClass("active"),item.addClass("active"),this.items.removeClass("active"),this.element.find('.wpgmza-css-state-block-content[data-type="'+type+'"]').addClass("active"))},$(document.body).ready(function(){$(".wpgmza-css-state-block").each(function(index,el){el.wpgmzaCSSStateBlock=WPGMZA.CSSStateBlock.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSUnitInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.unit={value:0,suffix:"px"},this.wrap(),this.renderControls(),this.parseUnits(this.value)},WPGMZA.extend(WPGMZA.CSSUnitInput,WPGMZA.EventDispatcher),WPGMZA.CSSUnitInput.VALID_TYPES=["px","%","rem","em"],WPGMZA.CSSUnitInput.createInstance=function(element){return new WPGMZA.CSSUnitInput(element)},WPGMZA.CSSUnitInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSUnitInput.prototype.getUnits=function(override,format){return this.unit.value+this.unit.suffix},WPGMZA.CSSUnitInput.prototype.setUnits=function(value,suffix){this.unit.value=value?parseFloat(value):this.unit.value,this.unit.suffix=suffix?suffix.trim():this.unit.suffix,0<this.unit.value-parseInt(this.unit.value)&&(this.unit.value=parseFloat(this.unit.value.toFixed(2))),this.unit.value<=0&&(this.unit.value=0),this.validateSuffix(),this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSUnitInput.prototype.parseUnits=function(value){if("string"==typeof value){let unit=(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"0px":value).match(/((\d+\.\d+)|(\d+))/),suffix=(unit=unit&&unit[0]?parseFloat(unit[0]):this.unit.value,value.match(/(([a-z]+)|(%))/));suffix=suffix&&suffix[0]?suffix[0]:this.unit.suffix,this.setUnits(unit,suffix)}},WPGMZA.CSSUnitInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-unit-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSUnitInput.prototype.renderControls=function(){this.container&&(this.unitValueInput=$("<input type='text' class='unit-value-input' />"),this.unitSuffixToggle=$("<div class='unit-suffix-toggle' />"),this.unitValueStepDownBtn=$("<div class='unit-stepper-button' data-mode='down' />"),this.unitValueStepUpBtn=$("<div class='unit-stepper-button' data-mode='up' />"),this.unitValueStepperWrap=$("<div class='unit-stepper-wrapper' />"),this.unitInnerWrap=$("<div class='unit-input-inner-wrap' />"),this.unitValueStepperWrap.append(this.unitValueStepUpBtn),this.unitValueStepperWrap.append(this.unitValueStepDownBtn),this.unitInnerWrap.append(this.unitValueStepperWrap),this.unitInnerWrap.append(this.unitValueInput),this.unitInnerWrap.append(this.unitSuffixToggle),this.container.append(this.unitInnerWrap),this.state.initialized=!0,this.unitValueInput.on("keydown",event=>{const originalEvent=event.originalEvent;originalEvent.key&&1===originalEvent.key.length?(0===originalEvent.key.trim().length||"."!==originalEvent.key&&isNaN(parseInt(originalEvent.key)))&&this.unitSuffixToggle.hide():"ArrowUp"===originalEvent.key?this.increment():"ArrowDown"===originalEvent.key?this.decrement():"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.unitValueInput.on("change",event=>{const input=$(event.currentTarget);this.parseUnits(input.val())}),this.unitValueStepUpBtn.on("click",event=>{this.increment()}),this.unitValueStepDownBtn.on("click",event=>{this.decrement()}))},WPGMZA.CSSUnitInput.prototype.validateSuffix=function(){(!this.unit.suffix||-1===WPGMZA.CSSUnitInput.VALID_TYPES.indexOf(this.unit.suffix))&&(this.unit.suffix=this.options.defaultSuffix)},WPGMZA.CSSUnitInput.prototype.increment=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value+=.1:value+=1,this.setUnits(value,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.decrement=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value-=.1:--value,this.setUnits(this.unit.value-1,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.update=function(){this.unitValueInput&&this.unitSuffixToggle&&(this.unitValueInput.val(this.unit.value),this.unitSuffixToggle.text(this.unit.suffix),this.unitSuffixToggle.show())},WPGMZA.CSSUnitInput.prototype.commit=function(){var syncValue=this.getUnits();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-stylig-unit-input").each(function(index,el){el.wpgmzaCSSUnitInput=WPGMZA.CSSUnitInput.createInstance(el)})})}),jQuery(function($){WPGMZA.DrawingManager=function(map){WPGMZA.assertInstanceOf(this,"DrawingManager"),WPGMZA.EventDispatcher.call(this);var self=this;this.map=map,this.mode=WPGMZA.DrawingManager.MODE_NONE,this.map.on("click rightclick",function(event){self.onMapClick(event)})},WPGMZA.DrawingManager.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.DrawingManager.prototype.constructor=WPGMZA.DrawingManager,WPGMZA.DrawingManager.MODE_NONE=null,WPGMZA.DrawingManager.MODE_MARKER="marker",WPGMZA.DrawingManager.MODE_POLYGON="polygon",WPGMZA.DrawingManager.MODE_POLYLINE="polyline",WPGMZA.DrawingManager.MODE_CIRCLE="circle",WPGMZA.DrawingManager.MODE_RECTANGLE="rectangle",WPGMZA.DrawingManager.MODE_HEATMAP="heatmap",WPGMZA.DrawingManager.MODE_POINTLABEL="pointlabel",WPGMZA.DrawingManager.MODE_IMAGEOVERLAY="imageoverlay",WPGMZA.DrawingManager.getConstructor=function(){return"google-maps"!==WPGMZA.settings.engine?WPGMZA.OLDrawingManager:WPGMZA.GoogleDrawingManager},WPGMZA.DrawingManager.createInstance=function(map){return new(WPGMZA.DrawingManager.getConstructor())(map)},WPGMZA.DrawingManager.prototype.setDrawingMode=function(mode){this.mode=mode,this.trigger("drawingmodechanged")},WPGMZA.DrawingManager.prototype.onMapClick=function(event){event.target instanceof WPGMZA.Map&&(this.mode!==WPGMZA.DrawingManager.MODE_POINTLABEL||this.pointlabel||(this.pointlabel=WPGMZA.Pointlabel.createInstance({center:new WPGMZA.LatLng({lat:event.latLng.lat,lng:event.latLng.lng}),map:this.map}),this.map.addPointlabel(this.pointlabel),this.pointlabel.setEditable(!0),this.onPointlabelComplete(this.pointlabel),this.pointlabel=!1))},WPGMZA.DrawingManager.prototype.onPointlabelComplete=function(pointlabel){var event=new WPGMZA.Event("pointlabelcomplete");event.enginePointlabel=pointlabel,this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.EmbeddedMedia=function(element,container){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");if(!(container instanceof HTMLElement))throw new Error("Container is not an instance of HTMLInputElement");const self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(element),this.container=$(container),this.corners=["southEast"],this.handles=null,this.activeCorner=!1,this.container.on("mousemove",function(event){self.onMoveHandle(event)}),this.container.on("mouseup",function(event){self.activeCorner&&self.onDeactivateHandle(self.activeCorner)}),this.container.on("mouseleave",function(event){self.activeCorner&&(self.onDeactivateHandle(self.activeCorner),self.onDetach())}),this.container.on("mousedown",function(event){self.onDetach()})},WPGMZA.extend(WPGMZA.EmbeddedMedia,WPGMZA.EventDispatcher),WPGMZA.EmbeddedMedia.createInstance=function(element,container){return new WPGMZA.EmbeddedMedia(element,container)},WPGMZA.EmbeddedMedia.detatchAll=function(){var element;for(element of document.querySelectorAll(".wpgmza-embedded-media"))element.wpgmzaEmbeddedMedia&&element.wpgmzaEmbeddedMedia.onDetach();$(".wpgmza-embedded-media").removeClass("selected"),$(".wpgmza-embedded-media-handle").remove()},WPGMZA.EmbeddedMedia.prototype.onSelect=function(){this.element.addClass("selected"),this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onDetach=function(){this.element.removeClass("selected"),this.destroyHandles(),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.onActivateHandle=function(corner){this.activeCorner=corner},WPGMZA.EmbeddedMedia.prototype.onDeactivateHandle=function(corner){this.activeCorner=!1,this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onMoveHandle=function(event){if(this.activeCorner&&this.handles[this.activeCorner]){const mouse=this.getMousePosition(event);this.handles[this.activeCorner].element&&(event=this.getAnchorPosition().y+this.element.height(),mouse.y>event&&(mouse.y=event),this.handles[this.activeCorner].element.css({left:mouse.x-3+"px",top:mouse.y-3+"px"}),this.applyResize(mouse))}},WPGMZA.EmbeddedMedia.prototype.createHandles=function(){if(!this.handles){this.handles={};for(var corner of this.corners)this.handles[corner]={element:$("<div/>"),mutating:!1},this.handles[corner].element.addClass("wpgmza-embedded-media-handle"),this.handles[corner].element.attr("data-corner",corner),this.container.append(this.handles[corner].element),this.bindHandle(corner)}},WPGMZA.EmbeddedMedia.prototype.destroyHandles=function(){if(this.handles&&this.handles instanceof Object){for(var i in this.handles){const handle=this.handles[i];handle.element&&handle.element.remove()}this.handles=null}},WPGMZA.EmbeddedMedia.prototype.updateHandles=function(){this.createHandles();var anchor=this.getAnchorPosition();if(this.handles&&this.handles instanceof Object)for(var corner in this.handles){const handle=this.handles[corner].element,position={top:0,left:0};"southEast"===corner&&(position.left=anchor.x+this.element.width(),position.top=anchor.y+this.element.height()),handle.css({left:position.left-3+"px",top:position.top-3+"px"})}},WPGMZA.EmbeddedMedia.prototype.bindHandle=function(corner){const self=this;this.handles&&this.handles[corner]&&(this.handles[corner].element.on("mousedown",function(event){event.preventDefault(),event.stopPropagation(),self.onActivateHandle(corner)}),this.handles[corner].element.on("mouseup",function(event){event.preventDefault(),event.stopPropagation(),self.onDeactivateHandle(corner)}))},WPGMZA.EmbeddedMedia.prototype.applyResize=function(mouse){var anchor=this.getAnchorPosition(),padding=parseInt(this.container.css("padding").replace("px","")),mouse=Math.abs(mouse.x-anchor.x),mouse=this.clamp(padding,this.container.width()-padding,mouse);this.element.css("width",parseInt(mouse)+"px"),this.element.attr("width",parseInt(mouse)),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.getMousePosition=function(event){event=event.originalEvent||event;const pos={x:parseInt(event.pageX-this.container.offset().left),y:parseInt(event.pageY-this.container.offset().top)};event=parseInt(this.container.css("padding").replace("px",""));return pos.x=this.clamp(event,this.container.width()-event,pos.x),pos.y=this.clamp(event,this.container.height()-event,pos.y),pos},WPGMZA.EmbeddedMedia.prototype.getAnchorPosition=function(){return{x:parseInt(this.element.offset().left-this.container.offset().left),y:parseInt(this.element.offset().top-this.container.offset().top)}},WPGMZA.EmbeddedMedia.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)}}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FancyControls={formatToggleSwitch:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-round-flat"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)},formatToggleButton:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-yes-no"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(label).attr("data-on",WPGMZA.localized_strings.yes),$(label).attr("data-off",WPGMZA.localized_strings.no),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)}},$(".wpgmza-fancy-toggle-switch").each(function(index,el){WPGMZA.FancyControls.formatToggleSwitch(el)}),$(".wpgmza-fancy-toggle-button").each(function(index,el){WPGMZA.FancyControls.formatToggleButton(el)})}),jQuery(function($){WPGMZA.Feature=function(options){for(var key in WPGMZA.assertInstanceOf(this,"Feature"),WPGMZA.EventDispatcher.call(this),this.id=-1,options)this[key]=options[key]},WPGMZA.extend(WPGMZA.Feature,WPGMZA.EventDispatcher),WPGMZA.MapObject=WPGMZA.Feature,WPGMZA.Feature.prototype.parseGeometry=function(subject){if("string"==typeof subject&&subject.match(/^\[/))try{subject=JSON.parse(subject)}catch(e){}if("object"==typeof subject){for(var arr=subject,i=0;i<arr.length;i++)arr[i].lat=parseFloat(arr[i].lat),arr[i].lng=parseFloat(arr[i].lng);return arr}if("string"!=typeof subject)throw new Error("Invalid geometry");for(var coords,results=[],pairs=subject.replace(/[^ ,\d\.\-+e]/g,"").split(","),i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.Feature.prototype.setOptions=function(options){for(var key in options)this[key]=options[key];this.updateNativeFeature()},WPGMZA.Feature.prototype.setEditable=function(editable){this.setOptions({editable:editable})},WPGMZA.Feature.prototype.setDraggable=function(draggable){this.setOptions({draggable:draggable})},WPGMZA.Feature.prototype.getScalarProperties=function(){var key,options={};for(key in this)switch(typeof this[key]){case"number":options[key]=parseFloat(this[key]);break;case"boolean":case"string":options[key]=this[key]}return options},WPGMZA.Feature.prototype.updateNativeFeature=function(){var props=this.getScalarProperties();"open-layers"===WPGMZA.settings.engine?this.layer&&this.layer.setStyle(WPGMZA.OLFeature.getOLStyle(props)):this.googleFeature.setOptions(props)}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.GenericModal=function(element,complete,cancel){this.element=$(element),this._onComplete=complete||!1,this._onCancel=cancel||!1,this.bindEvents()},WPGMZA.extend(WPGMZA.GenericModal,WPGMZA.EventDispatcher),WPGMZA.GenericModal.createInstance=function(element,complete,cancel){return new(WPGMZA.isProVersion()?WPGMZA.ProGenericModal:WPGMZA.GenericModal)(element,complete,cancel)},WPGMZA.GenericModal.prototype.bindEvents=function(){const self=this;this.element.on("click",".wpgmza-button",function(){"complete"===$(this).data("action")?self.onComplete():self.onCancel()})},WPGMZA.GenericModal.prototype.getData=function(){const data={};return this.element.find("input,select").each(function(){$(this).data("ajax-name")&&(data[$(this).data("ajax-name")]=$(this).val())}),data},WPGMZA.GenericModal.prototype.onComplete=function(){this.hide(),"function"==typeof this._onComplete&&this._onComplete(this.getData())},WPGMZA.GenericModal.prototype.onCancel=function(){this.hide(),"function"==typeof this._onCancel&&this._onCancel()},WPGMZA.GenericModal.prototype.show=function(complete,cancel){this._onComplete=complete||this._onComplete,this._onCancel=cancel||this._onCancel,this.element.addClass("pending")},WPGMZA.GenericModal.prototype.hide=function(){this.element.removeClass("pending")}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleGeocoder:WPGMZA.OLGeocoder},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){WPGMZA.isLatLngString(options.address)&&(options=options.address.split(/,\s*/),callback([(callback=new WPGMZA.LatLng({lat:parseFloat(options[0]),lng:parseFloat(options[1])})).latLng=callback],WPGMZA.Geocoder.SUCCESS))},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var _error,self=this;"google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find(".wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},_error=console.error,console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)},"google-maps"!=WPGMZA.settings.engine||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT||this.addErrorMessage(WPGMZA.localized_strings.no_google_maps_api_key,["https://www.wpgmaps.com/documentation/creating-a-google-maps-api-key/"]))},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m,urls;message&&((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))||(m=message.match(/^Geocoding Service: .+/))?(urls=message.match(/http(s)?:\/\/[^\s]+/gm),this.addErrorMessage(m[0],urls)):(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]]))},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){var self=this;if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone(),buttonContainer=($(li).find(".wpgmza-message").html(message),$(li).find(".wpgmza-documentation-buttons")),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){urls[i];var button=buttonTemplate.clone(),text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),$(button).find("i").addClass("fa-external-link"),$(button).append(text)}buttonContainer.append(button)}$(this.errorMessageList).append(li),$("#wpgmza_map, .wpgmza_map").each(function(index,el){var container=$(el).find(".wpgmza-google-maps-api-error-overlay");0==container.length&&(container=$("<div class='wpgmza-google-maps-api-error-overlay'></div>")).html(self.element.html()),setTimeout(function(){$(el).append(container)},1e3)}),$(".gm-err-container").parent().css({"z-index":1}),this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(feature){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),this.on("infowindowopen",function(event){self.onOpen(event)}),feature&&(this.feature=feature,this.state=WPGMZA.InfoWindow.STATE_CLOSED,feature.map?setTimeout(function(){self.onFeatureAdded(event)},100):feature.addEventListener("added",function(event){self.onFeatureAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.STATE_OPEN="open",WPGMZA.InfoWindow.STATE_CLOSED="closed",WPGMZA.InfoWindow.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow:WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow},WPGMZA.InfoWindow.createInstance=function(feature){return new(this.getConstructor())(feature)},Object.defineProperty(WPGMZA.InfoWindow.prototype,"content",{get:function(){return this.getContent()},set:function(value){this.contentHtml=value}}),WPGMZA.InfoWindow.prototype.addEditButton=function(){return"map-edit"==WPGMZA.currentPage&&this.feature instanceof WPGMZA.Marker?' <a title="Edit this marker" style="width:15px;" class="wpgmza_edit_btn" data-edit-marker-id="'+this.feature.id+'"><i class="fa fa-edit"></i></a>':""},WPGMZA.InfoWindow.prototype.workOutDistanceBetweenTwoMarkers=function(location1,location2){if(location1&&location2)return location1=WPGMZA.Distance.between(location1,location2),this.distanceUnits==WPGMZA.Distance.MILES&&(location1/=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(location1,2)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var currentLatLng,html="",extra_html="";return this.feature instanceof WPGMZA.Marker&&(this.feature.map.settings.store_locator_show_distance&&this.feature.map.storeLocator&&this.feature.map.storeLocator.state==WPGMZA.StoreLocator.STATE_APPLIED&&(currentLatLng=this.feature.getPosition(),currentLatLng=this.workOutDistanceBetweenTwoMarkers(this.feature.map.storeLocator.center,currentLatLng),extra_html+="<p>"+(this.feature.map.settings.store_locator_distance==WPGMZA.Distance.KILOMETERS?currentLatLng+WPGMZA.localized_strings.kilometers_away:currentLatLng+" "+WPGMZA.localized_strings.miles_away)+"</p>"),html=this.feature.address+extra_html),this.contentHtml&&(html=this.contentHtml),callback&&callback(html),html},WPGMZA.InfoWindow.prototype.open=function(map,feature){return this.feature=feature,!WPGMZA.settings.disable_infowindows&&"1"!=WPGMZA.settings.wpgmza_settings_disable_infowindows&&(!this.feature.disableInfoWindow&&(this.state=WPGMZA.InfoWindow.STATE_OPEN,!0))},WPGMZA.InfoWindow.prototype.close=function(){this.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(this.state=WPGMZA.InfoWindow.STATE_CLOSED,this.trigger("infowindowclose"))},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onFeatureAdded=function(){1==this.feature.settings.infoopen&&this.open()},WPGMZA.InfoWindow.prototype.onOpen=function(){}}),jQuery(function($){"installer"==WPGMZA.currentPage&&(WPGMZA.Installer=function(){var defaultEngine,self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(document.body).find(".wpgmza-installer-steps"),this.skipButton=$(document.body).find(".wpgmza-installer-skip"),this.element.length<=0||(this.redirectUrl=this.element.data("redirect"),this.step=0,this.max=0,this.findMax(),$(this.element).on("click",".next-step-button",function(event){self.next()}),$(this.element).on("click",".prev-step-button",function(event){self.prev()}),$(this.element).on("click",".sub-step-trigger",function(event){self.triggerSubStep($(this))}),$(this.element).on("change",'input[name="wpgmza_maps_engine"]',function(event){self.setEngine($(this).val())}),$(this.element).on("keyup change",'input[name="api_key"]',function(event){self.setApiKey($(this).val())}),$(this.element).on("change",'select[name="tile_server_url"]',function(event){self.setTileServer($(this).val())}),$(this.element).on("click",".google-maps-auto-key-form-wrapper .wpgmza-button",function(event){self.getAutoKey()}),$(this.element).on("click",".launcher-trigger",function(event){var launcher=$(this).data("launcher");launcher&&"google-maps-quick-start-launcher"===launcher&&self.launchQuickStart()}),this.skipButton.on("click",function(event){event.preventDefault(),self.skip()}),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.engine?WPGMZA.settings.engine:"google-maps",$(this.element).find('input[name="wpgmza_maps_engine"][value="'+defaultEngine+'"]').prop("checked",!0).trigger("change"),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.googleMapsApiKey?WPGMZA.settings.googleMapsApiKey:"",this.element.find('input[name="api_key"]').val(defaultEngine).trigger("change"),this.trigger("init.installer.admin"),this.loadStep(this.step))},WPGMZA.extend(WPGMZA.Installer,WPGMZA.EventDispatcher),WPGMZA.Installer.NODE_SERVER="https://wpgmaps.us-3.evennode.com/api/v1/",WPGMZA.Installer.createInstance=function(){return new WPGMZA.Installer},WPGMZA.Installer.prototype.findMax=function(){var self=this;$(this.element).find(".step").each(function(){parseInt($(this).data("step"))>self.max&&(self.max=parseInt($(this).data("step")))})},WPGMZA.Installer.prototype.prepareAddressFields=function(){$(this.element).find("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,null)})},WPGMZA.Installer.prototype.next=function(){this.step<this.max?this.loadStep(this.step+1):this.complete()},WPGMZA.Installer.prototype.prev=function(){0<this.step&&this.loadStep(this.step-1)},WPGMZA.Installer.prototype.loadStep=function(index){this.loadSubSteps(index),$(this.element).find(".step").removeClass("active"),$(this.element).find('.step[data-step="'+index+'"]').addClass("active"),this.step=index,0===this.step?$(this.element).find(".prev-step-button").addClass("wpgmza-hidden"):$(this.element).find(".prev-step-button").removeClass("wpgmza-hidden"),this.step===this.max?$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("final")):$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("next")),this.autoFocus(),this.applyStepConditionState(),$(window).scrollTop(0),this.trigger("step.installer.admin")},WPGMZA.Installer.prototype.loadSubSteps=function(index){const stepWrapper=$(this.element).find('.step[data-step="'+index+'"]');stepWrapper.find(".sub-step-container").length&&(stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step-container").removeClass("wpgmza-hidden"))},WPGMZA.Installer.prototype.triggerSubStep=function(context){const stepWrapper=$(this.element).find('.step[data-step="'+this.step+'"]');if(stepWrapper.find(".sub-step-container").length){context=context.data("sub-step");if(stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').length&&(stepWrapper.find(".sub-step-container").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').removeClass("wpgmza-hidden"),"google-maps-auto-key"===context))try{if(WPGMZA.getCurrentPosition(function(data){if(data.coords){data=data.coords;if($('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","Fetching..."),data.latitude&&data.longitude){const geocoder=WPGMZA.Geocoder.createInstance();geocoder.getAddressFromLatLng({latLng:new WPGMZA.LatLng({lat:data.latitude,lng:data.longitude})},function(address){$('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder",""),address&&$('.google-maps-auto-key-form-wrapper input[name="address"]').val(address)})}else $('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","")}}),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val().trim().length<=0){var domain=window.location.hostname;if("localhost"===domain)try{var paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(domain+="-"+paths[1])}catch(ex){}$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val(domain),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').attr("data-predicted-domain",domain)}}catch(ex){}}},WPGMZA.Installer.prototype.getActiveBlock=function(){return $(this.element).find('.step[data-step="'+this.step+'"]')},WPGMZA.Installer.prototype.autoFocus=function(){var block=this.getActiveBlock();block&&(0<block.find("input").length?block.find("input")[0].focus():0<block.find("select").length&&block.find("select")[0].focus())},WPGMZA.Installer.prototype.complete=function(){$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.saveOptions()},WPGMZA.Installer.prototype.getData=function(){var data={};return $(this.element).find(".step").each(function(){$(this).find("input,select").each(function(){var value,name=$(this).attr("name");name&&""!==name.trim()&&""!==(value=$(this).val()).trim()&&(data[name.trim()]=value.trim())})}),data},WPGMZA.Installer.prototype.setEngine=function(engine){this.engine=engine,$(this.element).attr("data-engine",engine)},WPGMZA.Installer.prototype.setApiKey=function(apiKey){this.apiKey=apiKey.trim(),this.applyStepConditionState()},WPGMZA.Installer.prototype.setTileServer=function(server){let previewLink=this.tileServer=server;previewLink=(previewLink=previewLink.replace("{a-c}","a")).replace("{z}/{x}/{y}","7/20/49"),$(this.element).find(".open_layers_sample_tile").attr("src",previewLink)},WPGMZA.Installer.prototype.applyStepConditionState=function(){const stepWrapper=this.getActiveBlock();var condition=stepWrapper.data("conditional");const continueButton=$(this.element).find(".next-step-button");!condition||this.hasSatisfiedStepCondition(condition)?continueButton.removeClass("wpgmza-hidden"):continueButton.addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.hasSatisfiedStepCondition=function(condition){let satisfied=!1;return satisfied="engine-set-up"===condition?!this.engine||"google-maps"!==this.engine||!!this.apiKey:satisfied},WPGMZA.Installer.prototype.getAutoKey=function(){return!1},WPGMZA.Installer.prototype.launchQuickStart=function(){const popupDimensions={width:570,height:700};popupDimensions.left=(screen.width-popupDimensions.width)/2,popupDimensions.top=(screen.height-popupDimensions.height)/2,$("#adminmenuwrap").length&&(popupDimensions.left+=$("#adminmenuwrap").width()/2);let attributes=[];attributes.push("resizable=yes"),attributes.push("width="+popupDimensions.width),attributes.push("height="+popupDimensions.height),attributes.push("left="+popupDimensions.left),attributes.push("top="+popupDimensions.top),attributes=attributes.join(","),window.open("https://console.cloud.google.com/google/maps-hosted","WP Go Maps - Create API Key",attributes)},WPGMZA.Installer.prototype.saveOptions=function(){const self=this;var formData=this.getData(),formData={action:"wpgmza_installer_page_save_options",nonce:this.element.attr("data-ajax-nonce"),wpgmza_maps_engine:this.engine,tile_server_url:formData.tile_server_url,api_key:formData.api_key};$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:formData,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.hideAutoKeyError=function(){$(".auto-key-error").addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.showAutoKeyError=function(codeOrMsg){let message="";(message=-1===codeOrMsg.indexOf(" ")?$(".auto-key-error").data(codeOrMsg)||codeOrMsg:codeOrMsg).length?($(".auto-key-error").find(".notice").text(message),$(".auto-key-error").removeClass("wpgmza-hidden")):this.hideAutoKeyError()},WPGMZA.Installer.prototype.skip=function(){const self=this;$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.skipButton.addClass("wpgmza-hidden");var options={action:"wpgmza_installer_page_skip",nonce:this.element.attr("data-ajax-nonce")};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:options,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},$(document).ready(function(event){WPGMZA.installer=WPGMZA.Installer.createInstance()}))}),jQuery(function($){WPGMZA.InternalEngine={LEGACY:"legacy",ATLAS_NOVUS:"atlast-novus",isLegacy:function(){return WPGMZA.settings.internalEngine===WPGMZA.InternalEngine.LEGACY},getEngine:function(){return WPGMZA.settings.internalEngine}}}),jQuery(function($){WPGMZA.InternalViewport=function(map){WPGMZA.EventDispatcher.apply(this),this.map=map,this.limits={},this.element=this.getContainer(),this.update(),$(window).on("resize",event=>{this.trigger("resize.internalviewport"),this.update()})},WPGMZA.extend(WPGMZA.InternalViewport,WPGMZA.EventDispatcher),WPGMZA.InternalViewport.RECT_TYPE_LARGE=0,WPGMZA.InternalViewport.RECT_TYPE_MEDIUM=1,WPGMZA.InternalViewport.RECT_TYPE_SMALL=2,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM=960,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL=760,WPGMZA.InternalViewport.createInstance=function(map){return new WPGMZA.InternalViewport(map)},WPGMZA.InternalViewport.prototype.getContainer=function(){return this.map&&this.map.element?this.map.element:document.body||!1},WPGMZA.InternalViewport.prototype.getRectType=function(){let type=WPGMZA.InternalViewport.RECT_TYPE_LARGE;return this.limits.container&&this.limits.container.width.value&&(this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL?type=WPGMZA.InternalViewport.RECT_TYPE_SMALL:this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM&&(type=WPGMZA.InternalViewport.RECT_TYPE_MEDIUM)),type},WPGMZA.InternalViewport.prototype.wrapMeasurement=function(value,suffix){return{value:value,suffix:suffix||"px"}},WPGMZA.InternalViewport.prototype.update=function(){this.trace(),this.localize(),this.addClass(),this.trigger("update.internalviewport")},WPGMZA.InternalViewport.prototype.trace=function(){this.traceLimits(),this.trigger("trace.internalviewport")},WPGMZA.InternalViewport.prototype.traceLimits=function(){this.limits={container:{},overlays:{},panels:{}},this.getContainer()&&(this.limits.container.width=this.wrapMeasurement(parseInt(this.map.element.offsetWidth)),this.limits.container.height=this.wrapMeasurement(parseInt(this.map.element.offsetHeight)),mode=this.getRectType(),this.limits.container.width&&(this.limits.overlays.max_width=this.wrapMeasurement(100*[.5,.7,1][mode],"%"),this.limits.panels.max_width=this.wrapMeasurement(100*[.3,.5,1][mode],"%")))},WPGMZA.InternalViewport.prototype.localize=function(){const localized={};for(var tag in this.limits)if(this.limits[tag])for(var name in this.limits[tag]){var prop=this.limits[tag][name];name=name.replaceAll("_","-"),name="--wpgmza--viewport-"+tag+"-"+name,localized[name]=prop.value+prop.suffix}var container=this.getContainer();container&&$(container).css(localized),this.trigger("localize.internalviewport")},WPGMZA.InternalViewport.prototype.addClass=function(){var mode,classes=["wpgmza-viewport-large","wpgmza-viewport-medium","wpgmza-viewport-small"],container=this.getContainer();container&&($(container).removeClass(classes),mode=this.getRectType(),$(container).addClass(classes[mode]))}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,(this._lng=0)!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},WPGMZA.LatLng.isLatLngString=function(str){return"string"==typeof str&&!!str.match(WPGMZA.LatLng.REGEXP)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!$.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!$.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.fromString=function(string){if(!WPGMZA.LatLng.isLatLngString(string))throw new Error("Not a valid latlng string");string=string.match(WPGMZA.LatLng.REGEXP);return new WPGMZA.LatLng({lat:parseFloat(string[1]),lng:parseFloat(string[3])})},WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromCurrentPosition=function(callback,options){options=options||{},callback&&WPGMZA.getCurrentPosition(function(position){var latLng=new WPGMZA.LatLng({lat:position.coords.latitude,lng:position.coords.longitude});options.geocodeAddress?WPGMZA.Geocoder.createInstance().getAddressFromLatLng({latLng:latLng},function(results){results.length&&(latLng.address=results[0]),callback(latLng)}):callback(latLng)})},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.toGoogleLatLngArray=function(arr){var result=[];return arr.forEach(function(nativeLatLng){if(!(nativeLatLng instanceof WPGMZA.LatLng||"lat"in nativeLatLng&&"lng"in nativeLatLng))throw new Error("Unexpected input");result.push(new google.maps.LatLng({lat:parseFloat(nativeLatLng.lat),lng:parseFloat(nativeLatLng.lng)}))}),result},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.toLatLngLiteral=function(){return{lat:this.lat,lng:this.lng}},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var kilometers=parseFloat(kilometers)/6371,heading=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),phi1=Math.cos(phi1),sinDelta=Math.sin(kilometers),kilometers=Math.cos(kilometers),sinTheta=Math.sin(heading),heading=sinPhi1*kilometers+phi1*sinDelta*Math.cos(heading),phi2=Math.asin(heading),lambda1=lambda1+Math.atan2(sinTheta*sinDelta*phi1,kilometers-sinPhi1*heading);this.lat=180*phi2/Math.PI,this.lng=180*lambda1/Math.PI},WPGMZA.LatLng.prototype.getGreatCircleDistance=function(arg1,arg2){var lat1=this.lat,lon1=this.lng;if(1==arguments.length)other=new WPGMZA.LatLng(arg1);else{if(2!=arguments.length)throw new Error("Invalid number of arguments");other=new WPGMZA.LatLng(arg1,arg2)}var lat2=other.lat,other=other.lng,phi1=lat1.toRadians(),phi2=lat2.toRadians(),lat2=(lat2-lat1).toRadians(),lat1=(other-lon1).toRadians(),other=Math.sin(lat2/2)*Math.sin(lat2/2)+Math.cos(phi1)*Math.cos(phi2)*Math.sin(lat1/2)*Math.sin(lat1/2);return 6371*(2*Math.atan2(Math.sqrt(other),Math.sqrt(1-other)))}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){var other;southWest instanceof WPGMZA.LatLngBounds?(this.south=(other=southWest).south,this.north=other.north,this.west=other.west,this.east=other.east):southWest&&northEast&&(this.south=southWest.lat,this.north=northEast.lat,this.west=southWest.lng,this.east=northEast.lng)},WPGMZA.LatLngBounds.fromGoogleLatLngBounds=function(googleLatLngBounds){if(!(googleLatLngBounds instanceof google.maps.LatLngBounds))throw new Error("Argument must be an instance of google.maps.LatLngBounds");var result=new WPGMZA.LatLngBounds,southWest=googleLatLngBounds.getSouthWest(),googleLatLngBounds=googleLatLngBounds.getNorthEast();return result.north=googleLatLngBounds.lat(),result.south=southWest.lat(),result.west=southWest.lng(),result.east=googleLatLngBounds.lng(),result},WPGMZA.LatLngBounds.fromGoogleLatLngBoundsLiteral=function(obj){var result=new WPGMZA.LatLngBounds,southWest=obj.southwest,obj=obj.northeast;return result.north=obj.lat,result.south=southWest.lat,result.west=southWest.lng,result.east=obj.lng,result},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return null==this.north&&null==this.south&&null==this.west&&null==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){if(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),this.isInInitialState())return this.north=this.south=latLng.lat,void(this.west=this.east=latLng.lng);latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng)},WPGMZA.LatLngBounds.prototype.extendByPixelMargin=function(map,x,arg){var y=x;if(!(map instanceof WPGMZA.Map))throw new Error("First argument must be an instance of WPGMZA.Map");if(this.isInInitialState())throw new Error("Cannot extend by pixels in initial state");3<=arguments.length&&(y=arg);var southWest=new WPGMZA.LatLng(this.south,this.west),northEast=new WPGMZA.LatLng(this.north,this.east),southWest=map.latLngToPixels(southWest),northEast=map.latLngToPixels(northEast);southWest.x-=x,southWest.y+=y,northEast.x+=x,northEast.y-=y,southWest=map.pixelsToLatLng(southWest.x,southWest.y),northEast=map.pixelsToLatLng(northEast.x,northEast.y),this.toString();this.north=northEast.lat,this.south=southWest.lat,this.west=southWest.lng,this.east=northEast.lng},WPGMZA.LatLngBounds.prototype.contains=function(latLng){if(latLng instanceof WPGMZA.LatLng)return!(latLng.lat<Math.min(this.north,this.south))&&(!(latLng.lat>Math.max(this.north,this.south))&&(this.west<this.east?latLng.lng>=this.west&&latLng.lng<=this.east:latLng.lng<=this.west||latLng.lng>=this.east));throw new Error("Argument must be an instance of WPGMZA.LatLng")},WPGMZA.LatLngBounds.prototype.toString=function(){return this.north+"N "+this.south+"S "+this.west+"W "+this.east+"E"},WPGMZA.LatLngBounds.prototype.toLiteral=function(){return{north:this.north,south:this.south,west:this.west,east:this.east}}}),jQuery(function($){var key,legacyGlobals={marker_pull:"0",marker_array:[],MYMAP:[],infoWindow_poly:[],markerClusterer:[],heatmap:[],WPGM_Path:[],WPGM_Path_Polygon:[],WPGM_PathLine:[],WPGM_PathLineData:[],WPGM_PathData:[],original_iw:null,wpgmza_user_marker:null,wpgmaps_localize_marker_data:[],wpgmaps_localize_polygon_settings:[],wpgmaps_localize_heatmap_settings:[],wpgmaps_localize_polyline_settings:[],wpgmza_cirtcle_data_array:[],wpgmza_rectangle_data_array:[],wpgmzaForceLegacyMarkerClusterer:!1};for(key in legacyGlobals)!function(key){key in window?console.warn("Cannot redefine legacy global "+key):Object.defineProperty(window,key,{get:function(){return console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]},set:function(value){console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]=value}})}(key);WPGMZA.legacyGlobals=legacyGlobals,window.InitMap=window.resetLocations=window.searchLocations=window.fillInAddress=window.searchLocationsNear=function(){console.warn("This function is deprecated and should no longer be used")}}),jQuery(function($){WPGMZA.MapListPage=function(){$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")})},WPGMZA.MapListPage.createInstance=function(){return new WPGMZA.MapListPage},$(document).ready(function(event){WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_LIST&&(WPGMZA.mapListPage=WPGMZA.MapListPage.createInstance())})}),jQuery(function($){WPGMZA.MapSettings=function(element){var json,self=this,element=element.getAttribute("data-settings");try{json=JSON.parse(element)}catch(e){element=(element=element.replace(/\\%/g,"%")).replace(/\\\\"/g,'\\"');try{json=JSON.parse(element)}catch(e){json={},console.warn("Failed to parse map settings JSON")}}function addSettings(input){if(input)for(var key in input){var value;"other_settings"!=key&&(value=input[key],String(value).match(/^-?\d+$/)&&(value=parseInt(value)),self[key]=value)}}WPGMZA.assertInstanceOf(this,"MapSettings"),addSettings(WPGMZA.settings),addSettings(json),json&&json.other_settings&&addSettings(json.other_settings)},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){var coords,self=this,options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}return"string"==typeof this.start_location&&(coords=this.start_location.replace(/^\(|\)$/g,"").split(","),WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")),this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),empty("map_start_lat")||empty("map_start_lng")||(options.center=ol.proj.fromLonLat([parseFloat(this.map_start_lng),parseFloat(this.map_start_lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),this.map_start_zoom&&(options.zoom=parseInt(this.map_start_zoom)),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179];function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return $.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var latLngCoords=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4,options=(!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom)),{zoom:zoom=this.map_start_zoom?parseInt(this.map_start_zoom):zoom,center:latLngCoords});function isSettingDisabled(value){return"yes"===value||!!value}switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("map_start_lat")||empty("map_start_lng")||(options.center=new google.maps.LatLng({lat:parseFloat(this.map_start_lat),lng:parseFloat(this.map_start_lng)})),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options.zoomControl=!isSettingDisabled(this.wpgmza_settings_map_zoom),options.panControl=!isSettingDisabled(this.wpgmza_settings_map_pan),options.mapTypeControl=!isSettingDisabled(this.wpgmza_settings_map_type),options.streetViewControl=!isSettingDisabled(this.wpgmza_settings_map_streetview),options.fullscreenControl=!isSettingDisabled(this.wpgmza_settings_map_full_screen_control),options.draggable=!isSettingDisabled(this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=isSettingDisabled(this.wpgmza_settings_map_clickzoom),isSettingDisabled(this.wpgmza_settings_map_tilt_controls)&&(options.rotateControl=!1,options.tilt=0),this.wpgmza_settings_map_scroll&&(options.scrollwheel=!1),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures||1==this.wpgmza_force_greedy_gestures?(options.gestureHandling="greedy",!this.wpgmza_settings_map_scroll&&"scrollwheel"in options&&delete options.scrollwheel):options.gestureHandling="cooperative",parseInt(this.type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}return this.wpgmza_theme_data&&this.wpgmza_theme_data.length&&(options.styles=WPGMZA.GoogleMap.parseThemeData(this.wpgmza_theme_data)),options}}),jQuery(function($){WPGMZA.Map=function(element,options){var self=this;if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement||window.elementor))throw new Error("Argument must be a HTMLElement");if(element.hasAttribute("data-map-id")?this.id=element.getAttribute("data-map-id"):this.id=1,!/\d+/.test(this.id))throw new Error("Map ID must be an integer");if(WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,$(this.element).addClass("wpgmza-initialized"),this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.rectangles=[],this.pointlabels=[],WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code)return $(element).append($(WPGMZA.api_consent_html)),void $(element).css({height:"auto"});if(this.loadSettings(options),this.loadStyling(),this.shortcodeAttributes={},$(this.element).attr("data-shortcode-attributes"))try{this.shortcodeAttributes=JSON.parse($(this.element).attr("data-shortcode-attributes")),this.shortcodeAttributes.zoom&&(this.settings.map_start_zoom=parseInt(this.shortcodeAttributes.zoom))}catch(e){console.warn("Error parsing shortcode attributes")}this.innerStack=$(this.element).find(".wpgmza-inner-stack"),this.setDimensions(),this.setAlignment(),this.initInternalViewport(),this.markerFilter=WPGMZA.MarkerFilter.createInstance(this),this.on("init",function(event){self.onInit(event)}),this.on("click",function(event){self.onClick(event)}),$(document.body).on("fullscreenchange.wpgmza",function(event){var fullscreen=self.isFullScreen();self.onFullScreenChange(fullscreen)}),WPGMZA.useLegacyGlobals&&(wpgmzaLegacyGlobals.MYMAP[this.id]={map:null,bounds:null,mc:null},wpgmzaLegacyGlobals.MYMAP.init=wpgmzaLegacyGlobals.MYMAP[this.id].init=wpgmzaLegacyGlobals.MYMAP.placeMarkers=wpgmzaLegacyGlobals.MYMAP[this.id].placeMarkers=function(){console.warn("This function is deprecated and should no longer be used")})},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.nightTimeThemeData=[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{color:"#575663"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#263c3f"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#6b9a76"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#38414e"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#212a37"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#9ca5b3"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#746855"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#80823e"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#1f2835"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#f3d19c"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2f3948"}]},{featureType:"transit.station",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#17263c"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#1b737a"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#515c6d"}]},{featureType:"water",elementType:"labels.text.stroke",stylers:[{color:"#17263c"}]}],WPGMZA.Map.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap:WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},Object.defineProperty(WPGMZA.Map.prototype,"markersPlaced",{get:function(){return this._markersPlaced},set:function(value){throw new Error("Value is read only")}}),Object.defineProperty(WPGMZA.Map.prototype,"lat",{get:function(){return this.getCenter().lat},set:function(value){var center=this.getCenter();center.lat=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"lng",{get:function(){return this.getCenter().lng},set:function(value){var center=this.getCenter();center.lng=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"zoom",{get:function(){return this.getZoom()},set:function(value){this.setZoom(value)}}),WPGMZA.Map.prototype.onInit=function(event){this.initPreloader(),0<this.innerStack.length&&$(this.element).append(this.innerStack),WPGMZA.getCurrentPage()!=WPGMZA.PAGE_MAP_EDIT&&this.initStoreLocator(),"autoFetchFeatures"in this.settings&&!1===this.settings.autoFetchFeatures||this.fetchFeatures()},WPGMZA.Map.prototype.initPreloader=function(){this.preloader=$(WPGMZA.preloaderHTML),$(this.preloader).hide(),$(this.element).append(this.preloader)},WPGMZA.Map.prototype.showPreloader=function(show){show?$(this.preloader).show():$(this.preloader).hide()},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element);settings.other_settings;if(delete settings.other_settings,options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.loadStyling=function(){if(!WPGMZA.InternalEngine.isLegacy()){if(WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length)for(var name in WPGMZA.stylingSettings){var value;-1===name.indexOf("--")||(value=WPGMZA.stylingSettings[name])&&$(this.element).css(name,value)}var tileFilter;this.settings&&this.settings.wpgmza_ol_tile_filter&&((tileFilter=this.settings.wpgmza_ol_tile_filter.trim())&&$(this.element).css("--wpgmza-ol-tile-filter",tileFilter))}},WPGMZA.Map.prototype.initInternalViewport=function(){"1"!=WPGMZA.is_admin&&(this.internalViewport=WPGMZA.InternalViewport.createInstance(this))},WPGMZA.Map.prototype.initStoreLocator=function(){var storeLocatorElement=$(".wpgmza_sl_main_div,.wpgmza-store-locator");storeLocatorElement.length&&(this.storeLocator=WPGMZA.StoreLocator.createInstance(this,storeLocatorElement[0]))},WPGMZA.Map.prototype.getFeatureArrays=function(){var arrays=WPGMZA.Map.prototype.getFeatureArrays.call(this);return arrays.heatmaps=this.heatmaps,arrays.imageoverlays=this.imageoverlays,arrays},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]},WPGMZA.Map.prototype.getRESTParameters=function(options){var defaults={};return options&&options.filter||(defaults.filter=JSON.stringify(this.markerFilter.getFilteringParameters())),$.extend(!0,defaults,options)},WPGMZA.Map.prototype.fetchFeaturesViaREST=function(){var data,offset,limit,self=this,filter=this.markerFilter.getFilteringParameters();"1"==WPGMZA.is_admin&&(filter.includeUnapproved=!0,filter.excludeIntegrated=!0),this.shortcodeAttributes.acf_post_id&&(filter.acfPostID=this.shortcodeAttributes.acf_post_id),this.showPreloader(!0),this.fetchFeaturesXhr&&this.fetchFeaturesXhr.abort(),WPGMZA.settings.fetchMarkersBatchSize&&WPGMZA.settings.enable_batch_loading?(offset=0,limit=parseInt(WPGMZA.settings.fetchMarkersBatchSize),function fetchNextBatch(){filter.offset=offset,filter.limit=limit,data=self.getRESTParameters({filter:JSON.stringify(filter)}),self.fetchFeaturesXhr=WPGMZA.restAPI.call("/markers/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){result.length?(self.onMarkersFetched(result,!0),offset+=limit,fetchNextBatch()):(self.onMarkersFetched(result),data.exclude="markers",WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))}})}()):(data=this.getRESTParameters({filter:JSON.stringify(filter)}),this.fetchFeaturesXhr=WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}};Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),lon2=deg2rad(lon2-lon1),lon1=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(lon2/2)*Math.sin(lon2/2);return 6371*(2*Math.atan2(Math.sqrt(lon1),Math.sqrt(1-lon1)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){0==arguments.length&&(width=this.settings.map_width||"100",this.settings.map_width_type?width+=this.settings.map_width_type.replace("\\",""):width+="%",height=this.settings.map_height||"400",this.settings.map_height_type?height+=this.settings.map_height_type.replace("\\",""):height+="px"),$(this.engineElement).css({width:width,height:height})},WPGMZA.Map.prototype.setAlignment=function(){switch(parseInt(this.settings.wpgmza_map_align)){case 1:case 2:$(this.element).addClass("wpgmza-auto-left");break;case 3:$(this.element).addClass("wpgmza-auto-right")}},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,(marker.parent=this).markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.infoWindow&&marker.infoWindow.close(),marker.map=null,marker.parent=null;var index=this.markers.indexOf(marker);if(-1==index)throw new Error("Marker not found in marker array");this.markers.splice(index,1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.removeAllMarkers=function(options){for(var i=this.markers.length-1;0<=i;i--)this.removeMarker(this.markers[i])},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.getMarkerByTitle=function(title){if("string"==typeof title){for(var i=0;i<this.markers.length;i++)if(this.markers[i].title==title)return this.markers[i]}else{if(!(title instanceof RegExp))throw new Error("Invalid argument");for(i=0;i<this.markers.length;i++)if(title.test(this.markers[i].title))return this.markers[i]}return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){id=this.getMarkerByID(id);id&&this.removeMarker(id)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");(polygon.map=this).polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon}),polygon.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.removePolygonByID=function(id){id=this.getPolygonByID(id);id&&this.removePolygon(id)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");(polyline.map=this).polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline}),polyline.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.removePolylineByID=function(id){id=this.getPolylineByID(id);id&&this.removePolyline(id)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");(circle.map=this).circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle}),circle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.removeCircleByID=function(id){id=this.getCircleByID(id);id&&this.removeCircle(id)},WPGMZA.Map.prototype.addRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");(rectangle.map=this).rectangles.push(rectangle),this.dispatchEvent({type:"rectangleadded",rectangle:rectangle}),rectangle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");if(rectangle.map!==this)throw new Error("Wrong map error");rectangle.map=null,this.rectangles.splice(this.rectangles.indexOf(rectangle),1),this.dispatchEvent({type:"rectangleremoved",rectangle:rectangle})},WPGMZA.Map.prototype.getRectangleByID=function(id){for(var i=0;i<this.rectangles.length;i++)if(this.rectangles[i].id==id)return this.rectangles[i];return null},WPGMZA.Map.prototype.removeRectangleByID=function(id){id=this.getRectangleByID(id);id&&this.removeRectangle(id)},WPGMZA.Map.prototype.addPointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");(pointlabel.map=this).pointlabels.push(pointlabel),this.dispatchEvent({type:"pointlabeladded",pointlabel:pointlabel})},WPGMZA.Map.prototype.removePointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");if(pointlabel.map!==this)throw new Error("Wrong map error");pointlabel.map=null,this.pointlabels.splice(this.pointlabels.indexOf(pointlabel),1),this.dispatchEvent({type:"pointlabelremoved",pointlabel:pointlabel})},WPGMZA.Map.prototype.getPointlabelByID=function(id){for(var i=0;i<this.pointlabels.length;i++)if(this.pointlabels[i].id==id)return this.pointlabels[i];return null},WPGMZA.Map.prototype.removePointlabelByID=function(id){id=this.getPointlabelByID(id);id&&this.removePointlabel(id)},WPGMZA.Map.prototype.resetBounds=function(){var latlng=new WPGMZA.LatLng(this.settings.map_start_lat,this.settings.map_start_lng);this.panTo(latlng),this.setZoom(this.settings.map_start_zoom)},WPGMZA.Map.prototype.nudge=function(x,y){x=this.nudgeLatLng(this.getCenter(),x,y);this.setCenter(x)},WPGMZA.Map.prototype.nudgeLatLng=function(latLng,x,y){latLng=this.latLngToPixels(latLng);if(latLng.x+=parseFloat(x),latLng.y+=parseFloat(y),isNaN(latLng.x)||isNaN(latLng.y))throw new Error("Invalid coordinates supplied");return this.pixelsToLatLng(latLng)},WPGMZA.Map.prototype.animateNudge=function(x,y,origin,milliseconds){if(origin){if(!(origin instanceof WPGMZA.LatLng))throw new Error("Origin must be an instance of WPGMZA.LatLng")}else origin=this.getCenter();origin=this.nudgeLatLng(origin,x,y),milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$(this).animate({lat:origin.lat,lng:origin.lng},milliseconds)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){this.trigger("idle")},WPGMZA.Map.prototype.onClick=function(event){},WPGMZA.Map.prototype.onFullScreenChange=function(fullscreen){this.trigger("fullscreenchange.map")},WPGMZA.Map.prototype.hasVisibleMarkers=function(){for(var marker,length=this.markers.length,i=0;i<length;i++)if((marker=this.markers[i]).isFilterable&&marker.getVisible())return!0;return!1},WPGMZA.Map.prototype.isFullScreen=function(){return!(!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.offsetHeight))},WPGMZA.Map.prototype.closeAllInfoWindows=function(){this.markers.forEach(function(marker){marker.infoWindow&&marker.infoWindow.close()})},WPGMZA.Map.prototype.openStreetView=function(options){},WPGMZA.Map.prototype.closeStreetView=function(options){},$(document).ready(function(event){var invisibleMaps;WPGMZA.visibilityWorkaroundIntervalID||(invisibleMaps=jQuery(".wpgmza_map:hidden"),WPGMZA.visibilityWorkaroundIntervalID=setInterval(function(){jQuery(invisibleMaps).each(function(index,el){var id;jQuery(el).is(":visible")&&(id=jQuery(el).attr("data-map-id"),WPGMZA.getMapByID(id).onElementResized(),invisibleMaps.splice(invisibleMaps.toArray().indexOf(el),1))})},1e3))})}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(this.element).data("installer-link")?WPGMZA.initInstallerRedirect($(this.element).data("installer-link")):($(element).remodal().open(),$(element).show(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1),$("#wpgmza-confirm-engine").click()}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)}))},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val(),nonce:$("#wpgmza-maps-engine-dialog").attr("data-ajax-nonce")},success:function(response,status,xhr){window.location.reload()}})},$(document).ready(function(event){var element=$("#wpgmza-maps-engine-dialog");!element.length||WPGMZA.settings.wpgmza_maps_engine_dialog_done||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.ignoreInstallerRedirect||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element))})}),jQuery(function($){WPGMZA.MarkerFilter=function(map){WPGMZA.EventDispatcher.call(this),this.map=map},WPGMZA.MarkerFilter.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MarkerFilter.prototype.constructor=WPGMZA.MarkerFilter,WPGMZA.MarkerFilter.createInstance=function(map){return new WPGMZA.MarkerFilter(map)},WPGMZA.MarkerFilter.prototype.getFilteringParameters=function(){var params={map_id:this.map.id};return params=this.map.storeLocator?$.extend(params,this.map.storeLocator.getFilteringParameters()):params},WPGMZA.MarkerFilter.prototype.update=function(params,source){var self=this;function dispatchEvent(result){var event=new WPGMZA.Event("filteringcomplete");event.map=self.map,event.source=source,event.filteredMarkers=result,event.filteringParams=params,self.onFilteringComplete(event),self.trigger(event),self.map.trigger(event)}this.updateTimeoutID||(params=params||{},this.xhr&&(this.xhr.abort(),delete this.xhr),this.updateTimeoutID=setTimeout(function(){if((params=$.extend(self.getFilteringParameters(),params)).center instanceof WPGMZA.LatLng&&(params.center=params.center.toLatLngLiteral()),params.hideAll)return dispatchEvent([]),void delete self.updateTimeoutID;self.map.showPreloader(!0),self.xhr=WPGMZA.restAPI.call("/markers",{data:{fields:["id"],filter:JSON.stringify(params)},success:function(result,status,xhr){self.map.showPreloader(!1),dispatchEvent(result)},useCompressedPathVariable:!0}),delete self.updateTimeoutID},0))},WPGMZA.MarkerFilter.prototype.onFilteringComplete=function(event){var map=[];event.filteredMarkers.forEach(function(data){map[data.id]=!0}),this.map.markers.forEach(function(marker){var allowByFilter;marker.isFilterable&&(allowByFilter=!!map[marker.id],marker.isFiltered=!allowByFilter,marker.setVisible(allowByFilter))})}}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;this._offset={x:0,y:0},WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,this.isFilterable=!0,this.disableInfoWindow=!1,WPGMZA.Feature.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}),this.handleLegacyGlobals(row))},WPGMZA.Marker.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker:WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",Object.defineProperty(WPGMZA.Marker.prototype,"offsetX",{get:function(){return this._offset.x},set:function(value){this._offset.x=value,this.updateOffset()}}),Object.defineProperty(WPGMZA.Marker.prototype,"offsetY",{get:function(){return this._offset.y},set:function(value){this._offset.y=value,this.updateOffset()}}),WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select"),"1"==this.infoopen&&(this._osDisableAutoPan=!0,this.openInfoWindow(!0))},WPGMZA.Marker.prototype.handleLegacyGlobals=function(row){var m;WPGMZA.settings.useLegacyGlobals&&this.map_id&&this.id&&(WPGMZA.pro_version&&(m=WPGMZA.pro_version.match(/\d+/))&&m[0]<=7||(WPGMZA.legacyGlobals.marker_array[this.map_id]||(WPGMZA.legacyGlobals.marker_array[this.map_id]=[]),WPGMZA.legacyGlobals.marker_array[this.map_id][this.id]=this,WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]||(WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]=[]),m=$.extend({marker_id:this.id},row),WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id][this.id]=m))},WPGMZA.Marker.prototype.initInfoWindow=function(){this.infoWindow||(this.infoWindow=WPGMZA.InfoWindow.createInstance())},WPGMZA.Marker.prototype.openInfoWindow=function(autoOpen){this.map?(autoOpen||(this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close(),this.map.lastInteractedMarker=this),this.initInfoWindow(),this.infoWindow.open(this.map,this)):console.warn("Cannot open infowindow for marker with no map")},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){WPGMZA.settings.wpgmza_settings_map_open_marker_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){function stripProtocol(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}return WPGMZA.defaultMarkerIcon?stripProtocol(WPGMZA.defaultMarkerIcon):stripProtocol(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return new WPGMZA.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.setOffset=function(x,y){this._offset.x=x,this._offset.y=y,this.updateOffset()},WPGMZA.Marker.prototype.updateOffset=function(){},WPGMZA.Marker.prototype.getAnimation=function(){return this.anim},WPGMZA.Marker.prototype.setAnimation=function(animation){},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.getMap=function(){return this.map},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this),this.map=map},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.setOpacity=function(opacity){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map=WPGMZA.isProVersion()?this.map=WPGMZA.getMapByID(map_id):this.map=WPGMZA.maps[0];this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#ff0000",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocatorCircle:WPGMZA.OLModernStoreLocatorCircle)(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#ff0000")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasDimensions=canvasDimensions.height;this.map,this.getResolutionScale();if((context=this.getContext("2d")).clearRect(0,0,canvasWidth,canvasDimensions),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var end,scale=this.getScale(),canvasWidth=(context.scale(scale,scale),this.getWorldOriginOffset()),worldPoint=(context.translate(canvasWidth.x,canvasWidth.y),new WPGMZA.LatLng(this.settings.center),this.getCenterPixels()),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1),radius=(context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath(),this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1),canvasDimensions=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),canvasWidth=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),canvasDimensions.addColorStop(0,canvasWidth),canvasDimensions.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=canvasDimensions,context.lineWidth=2/scale;for(var i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(0<settings.numRadiusLabels){var x,y,radius=this.getTransformedRadius(settings.radius);(canvasWidth=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(canvasWidth[1]),context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var spokeAngle,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;0<Math.sin(spokeAngle)&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),textAngle=context.measureText(text).width,height=textAngle/2,context.clearRect(-textAngle,-height,2*textAngle,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,inner,addressInput,placeholder,container,titleSearch,numCategories,icons,self=this,map=WPGMZA.getMapByID(map_id);WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=(WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"'], .wpgmza_sl_search_button_"+map_id):$(".wpgmza_sl_search_button")).closest(".wpgmza_sl_main_div")).length&&(this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0],inner=$(this.element).find(".wpgmza-inner"),addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),map.settings.store_locator_query_string&&map.settings.store_locator_query_string.length&&addressInput.attr("placeholder",map.settings.store_locator_query_string),inner.append(addressInput),(titleSearch=$(original).find("[id='nameInput_"+map_id+"']")).length&&((placeholder=map.settings.store_locator_name_string)&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)),(placeholder=$(original).find("button.wpgmza-use-my-location"))&&inner.append(placeholder),$(addressInput).on("keydown keypress",function(event){13==event.keyCode&&self.searchButton.is(":visible")&&self.searchButton.trigger("click")}),$(addressInput).on("input",function(event){self.searchButton.show(),self.resetButton.hide()}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button, .wpgmza_sl_search_button_div"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_APPLIED)}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_INITIAL})),inner.append($("#wpgmza_distance_type_"+map_id)),container=$(original).find(".wpgmza_cat_checkbox_holder"),$(container).children("ul"),titleSearch=$(container).find("li"),numCategories=0,icons=[],titleSearch.each(function(index,el){var category_id,id=$(el).attr("class").match(/\d+/);for(category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fa fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")}),$(this.element).on("mouseover","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseOverCategory(event)}),$(this.element).on("mouseleave","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseLeaveCategory(event)}),$("body").on("click",".wpgmza_store_locator_options_button",function(event){setTimeout(function(){var p_cat,$p_map;$(".wpgmza_cat_checkbox_holder").hasClass("wpgmza-open")&&(p_cat=(p_cat=$(".wpgmza_cat_checkbox_holder")).position().top+p_cat.outerHeight(!0)+$(".wpgmza-modern-store-locator").height(),($p_map=$(".wpgmza_map")).position().top+$p_map.outerHeight(!0)<=p_cat&&($(".wpgmza_cat_ul").css("overflow","scroll "),$(".wpgmza_cat_ul").css("height","100%"),$(".wpgmza-modern-store-locator").css("height","100%"),$(".wpgmza_cat_checkbox_holder.wpgmza-open").css({"padding-bottom":"50px",height:"100%"})))},500)}))},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocator:WPGMZA.OLModernStoreLocator)(map_id)},WPGMZA.ModernStoreLocator.prototype.onMouseOverCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeIn()},WPGMZA.ModernStoreLocator.prototype.onMouseLeaveCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeOut()}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.PersistentAdminNotice=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dismissButton=this.element.find(".notice-dismiss"),this.ajaxActionButton=this.element.find("a[data-ajax]"),this.bindEvents()},WPGMZA.extend(WPGMZA.PersistentAdminNotice,WPGMZA.EventDispatcher),WPGMZA.PersistentAdminNotice.createInstance=function(element){return new WPGMZA.PersistentAdminNotice(element)},WPGMZA.PersistentAdminNotice.prototype.bindEvents=function(){let self=this;this.dismissButton.on("click",function(event){self.onDismiss($(this))}),this.ajaxActionButton.on("click",function(event){event.preventDefault(),self.onAjaxAction($(this))})},WPGMZA.PersistentAdminNotice.prototype.onDismiss=function(item){var data={action:"wpgmza_dismiss_persistent_notice",slug:this.element.data("slug"),wpgmza_security:WPGMZA.ajaxnonce};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){},error:function(){}})},WPGMZA.PersistentAdminNotice.prototype.onAjaxAction=function(item){var action;item.data("disabled")||(action=item.data("ajax-action"),item.attr("data-disabled","true"),item.css("opacity","0.5"),action&&(item={action:"wpgmza_persisten_notice_quick_action",relay:action,wpgmza_security:WPGMZA.ajaxnonce},$.ajax(WPGMZA.ajaxurl,{method:"POST",data:item,success:function(response){window.location.reload()},error:function(){}})))},$(document.body).ready(function(){$(".wpgmza-persistent-notice").each(function(index,el){el.wpgmzaPersistentAdminNotice=WPGMZA.PersistentAdminNotice.createInstance(el)})})}),jQuery(function($){WPGMZA.Pointlabel=function(options,pointlabel){var map;WPGMZA.assertInstanceOf(this,"Pointlabel"),(options=options||{}).map?this.map=options.map:!options.map&&options.map_id&&(map=WPGMZA.getMapByID(options.map_id))&&(this.map=map),this.center=new WPGMZA.LatLng,WPGMZA.Feature.apply(this,arguments),pointlabel&&(this.setPosition(pointlabel.getPosition()),pointlabel.marker&&(this.marker=pointlabel.marker))},WPGMZA.Pointlabel.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Pointlabel.prototype.constructor=WPGMZA.Pointlabel,Object.defineProperty(WPGMZA.Pointlabel.prototype,"map",{enumerable:!0,get:function(){return this._map||null},set:function(a){this.textFeature&&!a&&this.textFeature.remove(),this._map=a}}),WPGMZA.Pointlabel.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPointlabel:WPGMZA.GooglePointlabel:WPGMZA.isProVersion()?WPGMZA.OLProPointlabel:WPGMZA.OLPointlabel},WPGMZA.Pointlabel.createInstance=function(options,pointlabel){return new(WPGMZA.Pointlabel.getConstructor())(options,pointlabel)},WPGMZA.Pointlabel.createEditableMarker=function(options){function callback(){try{marker.setIcon(WPGMZA.labelpointIcon)}catch(ex){}marker.off("added",callback)}(options=$.extend({draggable:!0,disableInfoWindow:!0},options)).pointlabel&&(latLng=options.pointlabel.getPosition(),options.lat=latLng.lat,options.lng=latLng.lng);var latLng,marker=WPGMZA.Marker.createInstance(options);return marker.on("added",callback),marker},WPGMZA.Pointlabel.prototype.setEditable=function(editable){var self=this;this.marker&&(this.marker.map.removeMarker(this.marker),delete this.marker),this._prevMap&&delete this._prevMap,editable&&(this.marker=WPGMZA.Pointlabel.createEditableMarker({pointlabel:this}),this.map.addMarker(this.marker),this._dragEndCallback=function(event){self.onDragEnd(event)},editable=this.map,this.marker.on("dragend",this._dragEndCallback),editable.on("pointlabelremoved",function(event){event.pointlabel}))},WPGMZA.Pointlabel.prototype.onDragEnd=function(event){event.target instanceof WPGMZA.Marker&&this.marker&&(event.latLng&&this.setPosition(event.latLng),this.trigger("change"))},WPGMZA.Pointlabel.prototype.onMapMouseDown=function(event){if(0==event.button)return this._mouseDown=!0,event.preventDefault(),!1},WPGMZA.Pointlabel.prototype.onWindowMouseUp=function(event){0==event.button&&(this._mouseDown=!1)},WPGMZA.Pointlabel.prototype.onMapMouseMove=function(event){this._mouseDown&&(event={x:event.pageX-$(this.map.element).offset().left,y:event.pageY+30-$(this.map.element).offset().top},(event=this.map.pixelsToLatLng(event))&&this.setPosition(event),this.trigger("change"))},WPGMZA.Pointlabel.prototype.getPosition=function(){return this.center?new WPGMZA.LatLng({lat:this.center.lat,lng:this.center.lng}):null},WPGMZA.Pointlabel.prototype.setPosition=function(position){this.center={},this.center.lat=position.lat,this.center.lng=position.lng,this.textFeature&&this.textFeature.setPosition(this.getPosition())},WPGMZA.Pointlabel.prototype.getMap=function(){return this.map},WPGMZA.Pointlabel.prototype.setMap=function(map){this.map&&this.map.removePointlabel(this),map&&map.addPointlabel(this)}}),jQuery(function($){Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(begin,end){return new Uint8Array(Array.prototype.slice.call(this,begin,end))}}),WPGMZA.isSafari()&&!window.external&&(window.external={})}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){var self=this;WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polygon.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,Object.defineProperty(WPGMZA.Polygon.prototype,"fillColor",{enumerable:!0,get:function(){return this.fillcolor&&this.fillcolor.length?"#"+this.fillcolor.replace(/^#/,""):"#ff0000"},set:function(a){this.fillcolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineopacity&&this.lineopacity.length?this.lineopacity:.6},set:function(a){this.lineopacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):3}}),WPGMZA.Polygon.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon:WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.onAdded=function(){}}),jQuery(function($){WPGMZA.Polyline=function(options,googlePolyline){var self=this;WPGMZA.assertInstanceOf(this,"Polyline"),WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polyline.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,Object.defineProperty(WPGMZA.Polyline.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):1},set:function(a){this.linethickness=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"layergroup",{enumerable:!0,get:function(){return this._layergroup||0},set:function(value){parseInt(value)&&(this._layergroup=parseInt(value)+WPGMZA.Shape.BASE_LAYER_INDEX)}}),WPGMZA.Polyline.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GooglePolyline:WPGMZA.OLPolyline},WPGMZA.Polyline.createInstance=function(options,engineObject){return new(WPGMZA.Polyline.getConstructor())(options,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.onAdded=function(){this.layergroup&&this.setLayergroup(this.layergroup)},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this);return result.title=this.title,result},WPGMZA.Polyline.prototype.setLayergroup=function(layergroup){this.layergroup=layergroup,this.layergroup&&this.setOptions({zIndex:this.layergroup})}}),jQuery(function($){WPGMZA.PopoutPanel=function(element){this.element=element},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){function sendAJAXFallbackRequest(route,params){if((params=$.extend({},params)).data||(params.data={}),"route"in params.data)throw new Error("Cannot send route through this method");if("action"in params.data)throw new Error("Cannot send action through this method");return params.data.route=route,params.data.action="wpgmza_rest_api_request",WPGMZA.restAPI.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_AJAX),$.ajax(WPGMZA.ajaxurl,params)}WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl,this.useAJAXFallback=!1,$(document.body).trigger("init.restapi.wpgmza")},WPGMZA.RestAPI.CONTEXT_REST="REST",WPGMZA.RestAPI.CONTEXT_AJAX="AJAX",WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableSupported",{get:function(){return WPGMZA.serverCanInflate&&"Uint8Array"in window&&"TextEncoder"in window}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableAllowed",{get:function(){return!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?!WPGMZA.settings.disable_compressed_path_variables:WPGMZA.settings.enable_compressed_path_variables}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"maxURLLength",{get:function(){return 2083}}),WPGMZA.RestAPI.prototype.compressParams=function(params){var suffix="",string=(!params.markerIDs||1<(markerIDs=params.markerIDs.split(",")).length&&(markerIDs=(new WPGMZA.EliasFano).encode(markerIDs),compressed=pako.deflate(markerIDs),string=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join(""),suffix="/"+btoa(string).replace(/\//g,"-").replace(/=+$/,""),params.midcbp=markerIDs.pointer,delete params.markerIDs),JSON.stringify(params)),markerIDs=(new TextEncoder).encode(string),compressed=pako.deflate(markerIDs),params=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join("");return btoa(params).replace(/\//g,"-").replace(/=+$/,"")+suffix},WPGMZA.RestAPI.prototype.getNonce=function(route){var pattern,matches=[];for(pattern in WPGMZA.restnoncetable){var regex=new RegExp(pattern);route.match(regex)&&matches.push({pattern:pattern,nonce:WPGMZA.restnoncetable[pattern],length:pattern.length})}if(matches.length)return matches.sort(function(a,b){return b.length-a.length}),matches[0].nonce;throw new Error("No nonce found for route")},WPGMZA.RestAPI.prototype.addNonce=function(route,params,context){function setRESTNonce(xhr){context==WPGMZA.RestAPI.CONTEXT_REST&&self.shouldAddNonce(route)&&xhr.setRequestHeader("X-WP-Nonce",WPGMZA.restnonce),params&&params.method&&!params.method.match(/^GET$/i)&&xhr.setRequestHeader("X-WPGMZA-Action-Nonce",self.getNonce(route))}var base,self=this;params.beforeSend?(base=params.beforeSend,params.beforeSend=function(xhr){base(xhr),setRESTNonce(xhr)}):params.beforeSend=setRESTNonce},WPGMZA.RestAPI.prototype.shouldAddNonce=function(route){route=route.replace(/\//g,"");var isAdmin=!1;WPGMZA.is_admin&&1===parseInt(WPGMZA.is_admin)&&(isAdmin=!0);return!(route&&["markers","features","marker-listing","datatables"].includes(route)&&!isAdmin)},WPGMZA.RestAPI.prototype.call=function(route,params){if(this.useAJAXFallback)return sendAJAXFallbackRequest(route,params);var compressedParams,data,attemptedCompressedPathVariable=!1,fallbackRoute=route,fallbackParams=$.extend({},params);if("string"!=typeof route||!route.match(/^\//)&&!route.match(/^http/))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),params=params||{},this.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_REST),params.error||(params.error=function(xhr,status,message){if("abort"!=status){switch(xhr.status){case 401:case 403:case 405:return($.post(WPGMZA.ajaxurl,{action:"wpgmza_report_rest_api_blocked"},function(response){}),console.warn("The REST API was blocked. This is usually due to security plugins blocking REST requests for non-authenticated users."),"DELETE"===params.method)?(console.warn("The REST API rejected a DELETE request, attempting again with POST fallback"),params.method="POST",params.data||(params.data={}),params.data.simulateDelete="yes",WPGMZA.restAPI.call(route,params)):(this.useAJAXFallback=!0,sendAJAXFallbackRequest(fallbackRoute,fallbackParams));case 414:if(attemptedCompressedPathVariable)return fallbackParams.method="POST",fallbackParams.useCompressedPathVariable=!1,WPGMZA.restAPI.call(fallbackRoute,fallbackParams)}throw new Error(message)}}),params.useCompressedPathVariable&&this.isCompressedPathVariableSupported&&this.isCompressedPathVariableAllowed&&(compressedParams=$.extend({},params),data=params.data,data=this.compressParams(data),WPGMZA.isServerIIS&&(data=data.replace(/\+/g,"%20")),data=route.replace(/\/$/,"")+"/base64"+data,WPGMZA.RestAPI.URL,compressedParams.method="GET",delete compressedParams.data,!1===params.cache&&(compressedParams.data={skip_cache:1}),data.length<this.maxURLLength?(attemptedCompressedPathVariable=!0,route=data,params=compressedParams):(WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed||console.warn("Compressed path variable route would exceed URL length limit"),WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed=!0));var onSuccess=null;return params.success&&(onSuccess=params.success),params.success=function(result,status,xhr){if("object"!=typeof result){var rawResult=result;try{result=JSON.parse(result)}catch(parseExc){result=rawResult}}onSuccess&&"function"==typeof onSuccess&&onSuccess(result,status,xhr)},WPGMZA.RestAPI.URL.match(/\?/)&&(route=route.replace(/\?/,"&")),$.ajax(WPGMZA.RestAPI.URL+route,params)};var nativeCallFunction=WPGMZA.RestAPI.call;WPGMZA.RestAPI.call=function(){console.warn("WPGMZA.RestAPI.call was called statically, did you mean to call the function on WPGMZA.restAPI?"),nativeCallFunction.apply(this,arguments)},$(document.body).on("click","#wpgmza-rest-api-blocked button.notice-dismiss",function(event){WPGMZA.restAPI.call("/rest-api/",{method:"POST",data:{dismiss_blocked_notice:!0}})})});var $_GET={};if(-1!==document.location.toString().indexOf("?"))for(var query=document.location.toString().replace(/^.*?\?/,"").replace(/#.*$/,"").split("&"),wpgmza_i=0,wpgmza_l=query.length;wpgmza_i<wpgmza_l;wpgmza_i++){var aux=decodeURIComponent(query[wpgmza_i]).split("=");$_GET[aux[0]]=aux[1]}jQuery(function($){WPGMZA.SettingsPage=function(){var self=this;this._keypressHistory=[],this._codemirrors={},this.updateEngineSpecificControls(),this.updateStorageControls(),this.updateBatchControls(),this.updateGDPRControls(),this.updateWooControls(),$(window).on("keypress",function(event){self.onKeyPress(event)}),jQuery("body").on("click",".wpgmza_destroy_data",function(e){e.preventDefault();var ttype=jQuery(this).attr("danger"),e="wpgmza_destroy_all_data"==ttype?"Are you sure? This will delete ALL data and settings for WP Go Maps!":"Are you sure?";window.confirm(e)&&jQuery.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_settings_danger_zone_delete_data",type:ttype,nonce:wpgmza_dz_nonce},success:function(response,status,xhr){"wpgmza_destroy_all_data"==ttype?window.location.replace("admin.php?page=wp-google-maps-menu&action=welcome_page"):"wpgmza_reset_all_settings"==ttype?window.location.reload():alert("Complete.")}})}),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$('[name="wpgmza_settings_marker_pull"]').on("click",function(event){self.updateStorageControls()}),$('input[name="enable_batch_loading"]').on("change",function(event){self.updateBatchControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()}),$('input[name="woo_checkout_map_enabled"]').on("change",function(event){self.updateWooControls()}),$('select[name="tile_server_url"]').on("change",function(event){"custom_override"===$('select[name="tile_server_url"]').val()?$(".wpgmza_tile_server_override_component").removeClass("wpgmza-hidden"):$(".wpgmza_tile_server_override_component").addClass("wpgmza-hidden")}),$('select[name="tile_server_url"]').trigger("change"),jQuery("#wpgmza_flush_cache_btn").on("click",function(){jQuery(this).attr("disabled","disabled"),WPGMZA.settingsPage.flushGeocodeCache()}),$("#wpgmza-global-settings").tabs({create:function(event,ui){var elmnt,y;void 0!==$_GET.highlight&&((elmnt=document.getElementById($_GET.highlight)).classList.add("highlight-item"),setTimeout(function(){elmnt.classList.add("highlight-item-step-2")},1e3),y=elmnt.getBoundingClientRect().top+window.pageYOffset+-100,window.scrollTo({top:y,behavior:"smooth"}))},activate:function(){for(var i in self._codemirrors)self._codemirrors[i].refresh()}}),$("#wpgmza-global-setting").bind("create",function(event,ui){alert("now")}),$("#wpgmza-global-settings fieldset").each(function(index,el){$(el).children(":not(legend)").wrapAll("<span class='settings-group'></span>")}),$("textarea[name^='wpgmza_custom_']").each(function(){var name=$(this).attr("name"),type="js"===name.replace("wpgmza_custom_","")?"javascript":"css";self._codemirrors[name]=wp.CodeMirror.fromTextArea(this,{lineNumbers:!0,mode:type,theme:"wpgmza"}),self._codemirrors[name].on("change",function(instance){instance.save()}),self._codemirrors[name].refresh()}),$(".wpgmza-integration-tool-button").on("click",function(event){event.preventDefault();event=$(this).data("tool-type");if(event){event={type:event};const button=$(this);button.attr("disabled","disabled"),WPGMZA.restAPI.call("/integration-tools/",{method:"POST",data:event,success:function(data,status,xhr){if(button.removeAttr("disabled"),data&&data.type)switch(data.type){case"test_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').addClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').removeClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;case"resolve_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').removeClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').addClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;default:data.message&&window.alert(data.message)}}})}})},WPGMZA.SettingsPage.createInstance=function(){return new WPGMZA.SettingsPage},WPGMZA.SettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.SettingsPage.prototype.updateStorageControls=function(){$("input[name='wpgmza_settings_marker_pull'][value='1']").is(":checked")?$("#xml-cache-settings").show():$("#xml-cache-settings").hide()},WPGMZA.SettingsPage.prototype.updateBatchControls=function(){$("input[name='enable_batch_loading']").is(":checked")?$("#batch-loader-settings").show():$("#batch-loader-settings").hide()},WPGMZA.SettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']"),vgmCheckbox=(showNoticeControls=vgmCheckbox.length?showNoticeControls||vgmCheckbox.prop("checked"):showNoticeControls)&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza-gdpr-compliance-notice").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow"),vgmCheckbox?$("#wpgmza_gdpr_override_notice_text").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza_gdpr_override_notice_text").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow")},WPGMZA.SettingsPage.prototype.updateWooControls=function(){$("input[name='woo_checkout_map_enabled']").prop("checked")?$(".woo-checkout-maps-select-row").show():$(".woo-checkout-maps-select-row").hide()},WPGMZA.SettingsPage.prototype.flushGeocodeCache=function(){(new WPGMZA.OLGeocoder).clearCache(function(response){jQuery("#wpgmza_flush_cache_btn").removeAttr("disabled")})},WPGMZA.SettingsPage.prototype.onKeyPress=function(event){this._keypressHistory.push(event.key),9<this._keypressHistory.length&&(this._keypressHistory=this._keypressHistory.slice(this._keypressHistory.length-9)),"codecabin"!=this._keypressHistory.join("")||this._developerModeRevealed||($("fieldset#wpgmza-developer-mode").show(),this._developerModeRevealed=!0)},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.settingsPage=WPGMZA.SettingsPage.createInstance())})}),jQuery(function($){var Parent=WPGMZA.Feature;WPGMZA.Shape=function(options,engineFeature){var self=this;WPGMZA.assertInstanceOf(this,"Shape"),Parent.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.extend(WPGMZA.Shape,WPGMZA.Feature),WPGMZA.Shape.BASE_LAYER_INDEX=99999,WPGMZA.Shape.prototype.onAdded=function(){}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Circle,Parent),Object.defineProperty(WPGMZA.Circle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Circle.createInstance=function(options,engineCircle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProCircle;break}constructor=WPGMZA.OLCircle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProCircle;break}constructor=WPGMZA.GoogleCircle}return new constructor(options,engineCircle)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Rectangle=function(options,engineRectangle){WPGMZA.assertInstanceOf(this,"Rectangle"),this.name="",this.cornerA=new WPGMZA.LatLng,this.cornerB=new WPGMZA.LatLng,this.color="#ff0000",this.opacity=.5,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Rectangle,Parent),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Rectangle.createInstance=function(options,engineRectangle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProRectangle;break}constructor=WPGMZA.OLRectangle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProRectangle;break}constructor=WPGMZA.GoogleRectangle}return new constructor(options,engineRectangle)}}),jQuery(function($){WPGMZA.SidebarGroupings=function(){var self=this;this.element=document.body,this.actionBar={element:$(this.element).find(".action-bar"),dynamicAction:null,dynamicLabel:""},$(this.element).on("click",".grouping .item",function(event){self.openTab(event)}),$(".quick-actions .actions").on("click",".icon",function(event){var feature=$(this).data("type");feature&&(self.openTabByFeatureType(feature),$(".quick-actions #qa-add-datasets").prop("checked",!1))}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-edit",function(event){event.feature&&self.openTabByFeatureType(event.feature)}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-saved",function(event){event.feature&&self.closeCurrent()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-busy",function(event){self.resetScroll()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-created",function(event){}),$(this.element).find(".fieldset-toggle").on("click",function(event){$(this).toggleClass("toggled")}),$(this.element).on("click",".wpgmza-toolbar .wpgmza-toolbar-list > *",function(event){$(this).parent().parent().find("label").click()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-feature-caption-loaded",function(event){self.actionBar.dynamicAction&&(self.actionBar.dynamicLabel=self.actionBar.dynamicAction.text(),self.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(self.actionBar.dynamicLabel))}),this.actionBar.element.find(".dynamic-action").on("click",function(event){self.actionBar.dynamicAction&&self.actionBar.dynamicAction.click()}),this.initUpsellBlocks()},WPGMZA.extend(WPGMZA.SidebarGroupings,WPGMZA.EventDispatcher),WPGMZA.SidebarGroupings.createInstance=function(){return new WPGMZA.SidebarGroupings},WPGMZA.SidebarGroupings.prototype.openTab=function(event){event=event.currentTarget,event=$(event).data("group");this.openTabByGroupId(event),WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.onElementResized()},WPGMZA.SidebarGroupings.prototype.openTabByFeatureType=function(feature){0<$(this.element).find('.grouping[data-feature="'+feature+'"]').length&&(feature=$(this.element).find('.grouping[data-feature="'+feature+'"]').data("group"),this.openTabByGroupId(feature))},WPGMZA.SidebarGroupings.prototype.openTabByGroupId=function(groupId){var element;groupId&&this.hasGroup(groupId)&&(this.closeAll(),(element=$(this.element).find('.grouping[data-group="'+groupId+'"]')).addClass("open"),element.data("feature-discard")&&$(element).trigger("feature-block-closed"),0<$(".wpgmza-map-settings-form").find(element).length?$(".wpgmza-map-settings-form").removeClass("wpgmza-hidden"):$(".wpgmza-map-settings-form").addClass("wpgmza-hidden"),element.hasClass("auto-expand")?$(".sidebar").addClass("expanded"):$(".sidebar").removeClass("expanded"),element.data("feature")&&$(element).trigger("feature-block-opened"),$(element).trigger("grouping-opened",[groupId]),this.updateActionBar(element))},WPGMZA.SidebarGroupings.prototype.hasGroup=function(groupId){return 0<$(this.element).find('.grouping[data-group="'+groupId+'"]').length},WPGMZA.SidebarGroupings.prototype.closeAll=function(){var self=this;$(this.element).find(".grouping.open").each(function(){var group=$(this).data("group");group&&$(self.element).trigger("grouping-closed",[group])}),$(this.element).find(".grouping").removeClass("open")},WPGMZA.SidebarGroupings.prototype.closeCurrent=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open").find(".heading.has-back .item").click()},WPGMZA.SidebarGroupings.prototype.updateActionBar=function(element){this.actionBar.dynamicAction=null,element&&element.data("feature")&&0<element.find(".wpgmza-save-feature").length&&(this.actionBar.dynamicAction=element.find(".wpgmza-save-feature").first(),this.actionBar.dynamicLabel=this.actionBar.dynamicAction.text().trim()),this.actionBar.dynamicAction&&this.actionBar.dynamicAction.addClass("wpgmza-hidden"),this.actionBar.dynamicAction&&this.actionBar.dynamicLabel?(this.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(this.actionBar.dynamicLabel),this.actionBar.element.find(".static-action").addClass("wpgmza-hidden")):(this.actionBar.element.find(".static-action").removeClass("wpgmza-hidden"),this.actionBar.element.find(".dynamic-action").addClass("wpgmza-hidden").text(""))},WPGMZA.SidebarGroupings.prototype.resetScroll=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open .settings").scrollTop(0)},WPGMZA.SidebarGroupings.prototype.initUpsellBlocks=function(){var upsellWrappers=$(this.element).find(".upsell-block.auto-rotate");if(upsellWrappers&&0<upsellWrappers.length)for(var currentWrapper of upsellWrappers)1<(currentWrapper=$(currentWrapper)).find(".upsell-block-card").length?(currentWrapper.addClass("rotate"),currentWrapper.on("wpgmza-upsell-rotate-card",function(){var cardLength=$(this).find(".upsell-block-card").length;$(this).find(".upsell-block-card").hide();let nextCard=parseInt(Math.random()*cardLength),nextCardElem=(nextCard<0?nextCard=0:nextCard>=cardLength&&(nextCard=cardLength-1),$(this).find(".upsell-block-card:nth-child("+(nextCard+1)+")"));0<nextCardElem.length&&!nextCardElem.hasClass("active")?($(this).find(".upsell-block-card").removeClass("active"),nextCardElem.addClass("active"),nextCardElem.fadeIn(200)):nextCardElem.show(),setTimeout(()=>{$(this).trigger("wpgmza-upsell-rotate-card")},1e4)}),currentWrapper.trigger("wpgmza-upsell-rotate-card")):currentWrapper.addClass("static")}}),jQuery(function($){WPGMZA.StoreLocator=function(map,element){var self=this;WPGMZA.EventDispatcher.call(this),this._center=null,this.map=map,this.element=element,this.state=WPGMZA.StoreLocator.STATE_INITIAL,this.distanceUnits=this.map.settings.store_locator_distance,this.addressInput=WPGMZA.AddressInput.createInstance(this.addressElement,this.map),$(element).find(".wpgmza-not-found-msg").hide(),this.radiusElement&&this.map.settings.wpgmza_store_locator_default_radius&&(this.radiusElement.data("default-override")||0<this.radiusElement.find("option[value='"+this.map.settings.wpgmza_store_locator_default_radius+"']").length&&this.radiusElement.val(this.map.settings.wpgmza_store_locator_default_radius)),this.map.on("storelocatorgeocodecomplete",function(event){self.onGeocodeComplete(event)}),this.map.on("init",function(event){self.map.markerFilter.on("filteringcomplete",function(event){self.onFilteringComplete(event)}),!WPGMZA.InternalEngine.isLegacy()||void 0!==self.map.settings.store_locator_style&&"modern"!=self.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style||"default"!==WPGMZA.settings.user_interface_style&&"modern"!=WPGMZA.settings.user_interface_style&&"legacy"!=WPGMZA.settings.user_interface_style||(self.legacyModernAdapter=WPGMZA.ModernStoreLocator.createInstance(map.id))}),WPGMZA.InternalEngine.isLegacy()?($(document.body).on("click",".wpgmza_sl_search_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_search_button",function(event){self.onSearch(event)}),$(document.body).on("click",".wpgmza_sl_reset_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_reset_button_div",function(event){self.onReset(event)})):($(this.searchButton).on("click",function(event){self.onSearch(event)}),$(this.resetButton).on("click",function(event){self.onReset(event)})),$(this.addressElement).on("keypress",function(event){13==event.which&&self.onSearch(event)}),this.onQueryParamSearch(),self.trigger("init.storelocator")},WPGMZA.StoreLocator.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.StoreLocator.prototype.constructor=WPGMZA.StoreLocator,WPGMZA.StoreLocator.STATE_INITIAL="initial",WPGMZA.StoreLocator.STATE_APPLIED="applied",WPGMZA.StoreLocator.createInstance=function(map,element){return new WPGMZA.StoreLocator(map,element)},Object.defineProperty(WPGMZA.StoreLocator.prototype,"address",{get:function(){return $(this.addressElement).val()}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"addressElement",{get:function(){return(this.legacyModernAdapter?$(this.legacyModernAdapter.element):$(this.element)).find("input.wpgmza-address")[0]}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"countryRestriction",{get:function(){return this.map.settings.wpgmza_store_locator_restrict}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radiusElement",{get:function(){return WPGMZA.InternalEngine.isLegacy()?$("#radiusSelect, #radiusSelect_"+this.map.id):$(this.element).find("select.wpgmza-radius")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"searchButton",{get:function(){return $(this.element).find(".wpgmza-search")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"resetButton",{get:function(){return $(this.element).find(".wpgmza-reset")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"errorElement",{get:function(){return $(this.element).find(".wpgmza-error")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radius",{get:function(){return parseFloat(this.radiusElement.val())}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"center",{get:function(){return this._center}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"bounds",{get:function(){return this._bounds}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"marker",{get:function(){if(1!=this.map.settings.store_locator_bounce)return null;if(this._marker)return this._marker;return this._marker=WPGMZA.Marker.createInstance({visible:!1}),this._marker.disableInfoWindow=!0,this._marker.isFilterable=!1,this._marker.setAnimation(WPGMZA.Marker.ANIMATION_BOUNCE),this._marker}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"circle",{get:function(){return this._circle||("modern"!=this.map.settings.wpgmza_store_locator_radius_style||WPGMZA.isDeviceiOS()?this._circle=WPGMZA.Circle.createInstance({strokeColor:"#ff0000",strokeOpacity:"0.25",strokeWeight:2,fillColor:"#ff0000",fillOpacity:"0.15",visible:!1,clickable:!1,center:new WPGMZA.LatLng}):(this._circle=WPGMZA.ModernStoreLocatorCircle.createInstance(this.map.id),this._circle.settings.color=this.circleStrokeColor),this._circle)}}),WPGMZA.StoreLocator.prototype.onGeocodeComplete=function(event){if(!event.results||!event.results.length)return this._center=null,void(this._bounds=null);event.results[0].latLng?this._center=new WPGMZA.LatLng(event.results[0].latLng):event.results[0]instanceof WPGMZA.LatLng&&(this._center=new WPGMZA.LatLng(event.results[0])),this._bounds=new WPGMZA.LatLngBounds(event.results[0].bounds),this.isCapsule?this.redirectUrl&&this.onRedirectSearch():this.map.markerFilter.update({},this)},WPGMZA.StoreLocator.prototype.onSearch=function(event){var geocoder,options,self=this;return this.state=WPGMZA.StoreLocator.STATE_APPLIED,this.address&&this.address.length?(WPGMZA.InternalEngine.isLegacy()&&void 0!==this.map.settings.store_locator_style&&"modern"!==this.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style&&"default"===WPGMZA.settings.user_interface_style&&WPGMZA.animateScroll(this.map.element),$(this.element).find(".wpgmza-not-found-msg").hide(),$(this.element).find(".wpgmza-error").removeClass("visible"),this.setVisualState("busy"),WPGMZA.LatLng.isLatLngString(this.address)?callback([WPGMZA.LatLng.fromString(this.address)],WPGMZA.Geocoder.SUCCESS):(geocoder=WPGMZA.Geocoder.createInstance(),options={address:this.address},this.countryRestriction&&(options.country=this.countryRestriction),geocoder.geocode(options,function(results,status){status==WPGMZA.Geocoder.SUCCESS?callback(results,status):WPGMZA.InternalEngine.isLegacy()?alert(WPGMZA.localized_strings.address_not_found):(self.showError(WPGMZA.localized_strings.address_not_found),self.setVisualState(!1))})),self.trigger("search.storelocator"),!0):(this.addressElement.focus(),!1);function callback(results,status){self.map.trigger({type:"storelocatorgeocodecomplete",results:results,status:status}),self.setVisualState("complete")}},WPGMZA.StoreLocator.prototype.onReset=function(event){this.state=WPGMZA.StoreLocator.STATE_INITIAL,this._center=null,this._bounds=null,this.map.setZoom(this.map.settings.map_start_zoom),$(this.element).find(".wpgmza-not-found-msg").hide(),this.circle&&this.circle.setVisible(!1),this.marker&&this.marker.map&&this.map.removeMarker(this.marker),this.map.markerFilter.update({},this),this.setVisualState(!1),WPGMZA.InternalEngine.isLegacy()||$(this.addressElement).val("").focus(),this.trigger("reset.storelocator")},WPGMZA.StoreLocator.prototype.onRedirectSearch=function(){if(this.redirectUrl)try{var data={radius:this.radius,center:this.center.lat+","+this.center.lng};const params=new URLSearchParams(data);window.location.href=this.redirectUrl+"?"+params.toString(),this.setVisualState("busy")}catch(ex){console.warn(ex)}},WPGMZA.StoreLocator.prototype.getFilteringParameters=function(){return this.center?{center:this.center,radius:this.radius}:{}},WPGMZA.StoreLocator.prototype.getZoomFromRadius=function(radius){return this.distanceUnits==WPGMZA.Distance.MILES&&(radius*=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(14-Math.log(radius)/Math.LN2)},WPGMZA.StoreLocator.prototype.onFilteringComplete=function(event){var factor,params=event.filteringParams,marker=this.marker,marker=(marker&&marker.setVisible(!1),params.center&&(this.map.setCenter(params.center),marker&&(marker.setPosition(params.center),marker.setVisible(!0),marker.map!=this.map&&this.map.addMarker(marker))),params.radius&&this.map.setZoom(this.getZoomFromRadius(params.radius)),this.circle);marker&&(marker.setVisible(!1),factor=this.distanceUnits==WPGMZA.Distance.MILES?WPGMZA.Distance.KILOMETERS_PER_MILE:1,params.center&&params.radius&&(marker.setRadius(params.radius*factor),marker.setCenter(params.center),marker.setVisible(!0),marker instanceof WPGMZA.ModernStoreLocatorCircle||marker.map==this.map||this.map.addCircle(marker)),marker instanceof WPGMZA.ModernStoreLocatorCircle&&(marker.settings.radiusString=this.radius)),0==event.filteredMarkers.length&&this.state===WPGMZA.StoreLocator.STATE_APPLIED&&(WPGMZA.InternalEngine.isLegacy()?0<$(this.element).find(".wpgmza-no-results").length&&"legacy"===WPGMZA.settings.user_interface_style?$(this.element).find(".wpgmza-no-results").show():alert(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results):this.showError(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results))},WPGMZA.StoreLocator.prototype.onQueryParamSearch=function(){var queryCenter=WPGMZA.getQueryParamValue("center"),queryCenter=(queryCenter&&$(this.addressElement).val(queryCenter),WPGMZA.getQueryParamValue("radius"));queryCenter&&$(this.radiusElement).val(queryCenter),this.isCapsule||this.map.on("init",()=>{this.onSearch()})},WPGMZA.StoreLocator.prototype.setVisualState=function(state){!1!==state?$(this.element).attr("data-state",state):$(this.element).removeAttr("data-state")},WPGMZA.StoreLocator.prototype.showError=function(error){var self=this;WPGMZA.InternalEngine.isLegacy()||($(this.errorElement).text(error).addClass("visible"),setTimeout(function(){$(self.errorElement).text("").removeClass("visible")},3e3))}}),jQuery(function($){WPGMZA.StylingPage=function(){var self=this;this.element=document.body,this.styleGuide={wrapper:$(this.element).find(".wpgmza-styling-map-preview .wpgmza-style-guide-wrapper")},this.controls={},$(this.element).find(".wpgmza-styling-editor fieldset").each(function(){self.prepareControl(this)}),$(this.element).find(".wpgmza-styling-preset-select").on("change",function(){self.applyPreset(this)}),this.bindEvents(),this.parseUserPreset()},WPGMZA.StylingPage.PRESETS={},WPGMZA.StylingPage.PRESETS.default={"--wpgmza-component-color":"#ffffff","--wpgmza-component-text-color":"#000000","--wpgmza-component-color-accent":"#1A73E8","--wpgmza-component-text-color-accent":"#ffffff","--wpgmza-color-grey-500":"#bfbfbf","--wpgmza-component-border-radius":"2px","--wpgmza-component-font-size":"15px","--wpgmza-component-backdrop-filter":"none"},WPGMZA.StylingPage.PRESETS.glass={"--wpgmza-component-color":"rgba(255, 255, 255, 0.3)","--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"8px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":"blur(20px)"},WPGMZA.StylingPage.PRESETS.rounded={"--wpgmza-component-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color"],"--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"20px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-backdrop-filter"]},WPGMZA.StylingPage.createInstance=function(){return new WPGMZA.StylingPage},WPGMZA.StylingPage.prototype.prepareControl=function(element){var element=$(element),input=element.find("input"),name=input.attr("name");if(""!==name.trim()){this.controls[name]={container:element,input:input};element=0<this.controls[name].input.length&&this.controls[name].input.get(0);if(element)if(element.wpgmzaColorInput){const colorInput=element.wpgmzaColorInput;colorInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),colorInput.container.prepend(this.controls[name].resetButton),colorInput.container.addClass("wpgmza-styling-editor-contains-reset"))}else if(element.wpgmzaCSSUnitInput){const unitInput=element.wpgmzaCSSUnitInput;unitInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),unitInput.container.prepend(this.controls[name].resetButton),unitInput.container.addClass("wpgmza-styling-editor-contains-reset"))}this.resetControl(this.controls[name])}},WPGMZA.StylingPage.prototype.bindEvents=function(){var name,self=this;for(name in this.controls)this.controls[name].input.on("change",function(){self.updateControl(this)});this.styleGuide.steps=this.styleGuide.wrapper.find(".wpgmza-style-guide-step").length,this.styleGuide.index=0,this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .prev-btn").on("click",function(){--self.styleGuide.index,self.styleGuide.index<0&&(self.styleGuide.index=self.styleGuide.steps-1),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .next-btn").on("click",function(){self.styleGuide.index+=1,self.styleGuide.index>=self.styleGuide.steps&&(self.styleGuide.index=0),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.on("update-view",function(){self.styleGuide.wrapper.find(".wpgmza-style-guide-step").removeClass("active"),self.styleGuide.wrapper.find(".wpgmza-style-guide-step:nth-child("+(self.styleGuide.index+1)+")").addClass("active")}),$(document.body).on("click",".wpgmza-styling-editor-reset-btn",function(){$(this);var field=$(this).data("reset-control-name");field&&self.controls[field]&&self.resetControl(self.controls[field])})},WPGMZA.StylingPage.prototype.updateControl=function(input){var name=$(input).attr("name");name&&-1!==name.indexOf("--")&&$(".wpgmza-styling-preview-wrap .wpgmza_map").css(name,$(input).val())},WPGMZA.StylingPage.prototype.resetControl=function(control){var name=control.input.attr("name");if(name&&-1!==name.indexOf("--")&&(name=$(":root").css(name))){var name=name.trim(),activeInput=0<control.input.length&&control.input.get(0);if(activeInput)if(activeInput.wpgmzaColorInput){const colorInput=activeInput.wpgmzaColorInput;colorInput.parseColor(name)}else if(activeInput.wpgmzaCSSUnitInput){const unitInput=activeInput.wpgmzaCSSUnitInput;unitInput.parseUnits(name)}else if(activeInput.wpgmzaCSSBackdropFilterInput){const backdropInput=activeInput.wpgmzaCSSBackdropFilterInput;backdropInput.parseFilters(name)}else control.input.val(name)}},WPGMZA.StylingPage.prototype.parseUserPreset=function(){WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length&&(WPGMZA.StylingPage.PRESETS.user=WPGMZA.stylingSettings,$(".wpgmza-styling-preset-select").append("<option value='user'>User Defined</option>"),$(".wpgmza-styling-preset-select").val("user").trigger("change"))},WPGMZA.StylingPage.prototype.applyPreset=function(element){element=(element=$(element)).val();if(element&&WPGMZA.StylingPage.PRESETS[element]){var fieldName,preset=WPGMZA.StylingPage.PRESETS[element];for(fieldName in preset){var fieldValue=preset[fieldName];let field=$(this.element).find('input[name="'+fieldName+'"]');0<field.length&&((field=field.get(0)).wpgmzaColorInput?field.wpgmzaColorInput.parseColor(fieldValue):field.wpgmzaCSSUnitInput?field.wpgmzaCSSUnitInput.parseUnits(fieldValue):field.wpgmzaCSSBackdropFilterInput?field.wpgmzaCSSBackdropFilterInput.parseFilters(fieldValue):($(field).val(fieldValue),$(field).trigger("change")))}}},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.stylingPage=WPGMZA.StylingPage.createInstance())})}),jQuery(function($){WPGMZA.SupportPage=function(){$(".support-page").tabs(),$(".wpgmza-copy-sysinfo").on("click",function(){var info=$(".system-info").text();if(info.length){const temp=jQuery("<textarea>");$(document.body).append(temp),temp.val(info).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Info Copied")}})},WPGMZA.SupportPage.createInstance=function(){return new WPGMZA.SupportPage},$(document).ready(function(event){WPGMZA.getCurrentPage()===WPGMZA.PAGE_SUPPORT&&(WPGMZA.supportPage=WPGMZA.SupportPage.createInstance())})}),jQuery(function($){WPGMZA.Text=function(options){if(options)for(var name in options)this[name]=options[name]},WPGMZA.Text.createInstance=function(options){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleText:WPGMZA.OLText)(options)},WPGMZA.Text.prototype.setPosition=function(position){this.overlay&&this.overlay.setPosition(position)},WPGMZA.Text.prototype.setText=function(text){this.overlay&&this.overlay.setText(text)},WPGMZA.Text.prototype.setFontSize=function(size){this.overlay&&this.overlay.setFontSize(size)},WPGMZA.Text.prototype.setFillColor=function(color){this.overlay&&this.overlay.setFillColor(color)},WPGMZA.Text.prototype.setLineColor=function(color){this.overlay&&this.overlay.setLineColor(color)},WPGMZA.Text.prototype.setOpacity=function(opacity){this.overlay&&this.overlay.setOpacity(opacity)},WPGMZA.Text.prototype.remove=function(){this.overlay&&this.overlay.remove()},WPGMZA.Text.prototype.refresh=function(){}}),jQuery(function($){WPGMZA.ThemeEditor=function(){if(WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-theme-editor"),"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemeEditor=new WPGMZA.OLThemeEditor);this.element.length?(this.json=[{}],this.mapElement=WPGMZA.maps[0].element,this.element.appendTo("#wpgmza-map-theme-editor__holder"),$(window).on("scroll",function(event){}),setInterval(function(){},200),this.initHTML(),WPGMZA.themeEditor=this):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.ThemeEditor,WPGMZA.EventDispatcher),WPGMZA.ThemeEditor.prototype.updatePosition=function(){},WPGMZA.ThemeEditor.features={all:[],administrative:["country","land_parcel","locality","neighborhood","province"],landscape:["man_made","natural","natural.landcover","natural.terrain"],poi:["attraction","business","government","medical","park","place_of_worship","school","sports_complex"],road:["arterial","highway","highway.controlled_access","local"],transit:["line","station","station.airport","station.bus","station.rail"],water:[]},WPGMZA.ThemeEditor.elements={all:[],geometry:["fill","stroke"],labels:["icon","text","text.fill","text.stroke"]},WPGMZA.ThemeEditor.prototype.parse=function(){$("#wpgmza_theme_editor_feature option, #wpgmza_theme_editor_element option").css("font-weight","normal"),$("#wpgmza_theme_editor_error").hide(),$("#wpgmza_theme_editor").show(),$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val("");var textarea=$('textarea[name="wpgmza_theme_data"]');if(this.refreshColorInputs(),!textarea.val()||textarea.val().length<1)this.json=[{}];else{try{this.json=$.parseJSON($('textarea[name="wpgmza_theme_data"]').val())}catch(e){return this.json=[{}],$("#wpgmza_theme_editor").hide(),void $("#wpgmza_theme_editor_error").show()}$.isArray(this.json)||(textarea=this.json,this.json=[],this.json.push(textarea)),this.highlightFeatures(),this.highlightElements(),this.loadElementStylers()}},WPGMZA.ThemeEditor.prototype.highlightFeatures=function(){$("#wpgmza_theme_editor_feature option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")?$('#wpgmza_theme_editor_feature option[value="'+v.featureType+'"]'):$('#wpgmza_theme_editor_feature option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.highlightElements=function(){var feature=$("#wpgmza_theme_editor_feature").val();$("#wpgmza_theme_editor_element option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")?$('#wpgmza_theme_editor_element option[value="'+v.elementType+'"]'):$('#wpgmza_theme_editor_element option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.loadElementStylers=function(){var feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val();$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val(""),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&v.hasOwnProperty("stylers")&&$.isArray(v.stylers)&&0<v.stylers.length&&$.each(v.stylers,function(ii,vv){vv.hasOwnProperty("hue")&&($("#wpgmza_theme_editor_do_hue").prop("checked",!0),$("#wpgmza_theme_editor_hue").val(vv.hue)),vv.hasOwnProperty("lightness")&&$("#wpgmza_theme_editor_lightness").val(vv.lightness),vv.hasOwnProperty("saturation")&&$("#wpgmza_theme_editor_saturation").val(vv.xaturation),vv.hasOwnProperty("gamma")&&$("#wpgmza_theme_editor_gamma").val(vv.gamma),vv.hasOwnProperty("invert_lightness")&&$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!0),vv.hasOwnProperty("visibility")&&$("#wpgmza_theme_editor_visibility").val(vv.visibility),vv.hasOwnProperty("color")&&($("#wpgmza_theme_editor_do_color").prop("checked",!0),$("#wpgmza_theme_editor_color").val(vv.color)),vv.hasOwnProperty("weight")&&$("#wpgmza_theme_editor_weight").val(vv.weight)})}),this.refreshColorInputs()},WPGMZA.ThemeEditor.prototype.writeElementStylers=function(){var new_feature_element_stylers,feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val(),indexJSON=null,stylers=[];"inherit"!=$("#wpgmza_theme_editor_visibility").val()&&stylers.push({visibility:$("#wpgmza_theme_editor_visibility").val()}),!0===$("#wpgmza_theme_editor_do_color").prop("checked")&&stylers.push({color:$("#wpgmza_theme_editor_color").val()}),!0===$("#wpgmza_theme_editor_do_hue").prop("checked")&&stylers.push({hue:$("#wpgmza_theme_editor_hue").val()}),0<$("#wpgmza_theme_editor_gamma").val().length&&stylers.push({gamma:parseFloat($("#wpgmza_theme_editor_gamma").val())}),0<$("#wpgmza_theme_editor_weight").val().length&&stylers.push({weight:parseFloat($("#wpgmza_theme_editor_weight").val())}),0<$("#wpgmza_theme_editor_saturation").val().length&&stylers.push({saturation:parseFloat($("#wpgmza_theme_editor_saturation").val())}),0<$("#wpgmza_theme_editor_lightness").val().length&&stylers.push({lightness:parseFloat($("#wpgmza_theme_editor_lightness").val())}),!0===$("#wpgmza_theme_editor_do_invert_lightness").prop("checked")&&stylers.push({invert_lightness:!0}),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&(indexJSON=i)}),null===indexJSON?0<stylers.length&&(new_feature_element_stylers={},"all"!=feature&&(new_feature_element_stylers.featureType=feature),"all"!=element&&(new_feature_element_stylers.elementType=element),new_feature_element_stylers.stylers=stylers,this.json.push(new_feature_element_stylers)):0<stylers.length?this.json[indexJSON].stylers=stylers:this.json.splice(indexJSON,1),$('textarea[name="wpgmza_theme_data"]').val(JSON.stringify(this.json).replace(/:/g,": ").replace(/,/g,", ")),this.highlightFeatures(),this.highlightElements(),WPGMZA.themePanel.updateMapTheme()},WPGMZA.ThemeEditor.prototype.initHTML=function(){var self=this;$.each(WPGMZA.ThemeEditor.features,function(i,v){$("#wpgmza_theme_editor_feature").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_feature").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),$.each(WPGMZA.ThemeEditor.elements,function(i,v){$("#wpgmza_theme_editor_element").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_element").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),this.parse(),$('textarea[name="wpgmza_theme_data"]').on("input selectionchange propertychange",function(){self.parse()}),$(".wpgmza_theme_selection").click(function(){setTimeout(function(){$('textarea[name="wpgmza_theme_data"]').trigger("input")},1e3)}),$("#wpgmza-theme-editor__toggle").click(function(){$("#wpgmza-theme-editor").removeClass("active")}),$("#wpgmza_theme_editor_feature").on("change",function(){self.highlightElements(),self.loadElementStylers()}),$("#wpgmza_theme_editor_element").on("change",function(){self.loadElementStylers()}),$("#wpgmza_theme_editor_do_hue, #wpgmza_theme_editor_hue, #wpgmza_theme_editor_lightness, #wpgmza_theme_editor_saturation, #wpgmza_theme_editor_gamma, #wpgmza_theme_editor_do_invert_lightness, #wpgmza_theme_editor_visibility, #wpgmza_theme_editor_do_color, #wpgmza_theme_editor_color, #wpgmza_theme_editor_weight").on("input selectionchange propertychange",function(){self.writeElementStylers()}),"open-layers"==WPGMZA.settings.engine&&$("#wpgmza_theme_editor :input").prop("disabled",!0)},WPGMZA.ThemeEditor.prototype.refreshColorInputs=function(){$("input#wpgmza_theme_editor_hue,input#wpgmza_theme_editor_color").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor(this.value)})}}),jQuery(function($){WPGMZA.ThemePanel=function(){var self=this;if(this.element=$("#wpgmza-theme-panel"),this.map=WPGMZA.maps[0],"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemePanel=new WPGMZA.OLThemePanel);this.element.length?($("#wpgmza-theme-presets").owlCarousel({items:6,dots:!0}),this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),$("#wpgmza-open-theme-editor").on("click",function(event){$("#wpgmza-map-theme-editor__holder").addClass("active"),$("#wpgmza-theme-editor").addClass("active"),WPGMZA.animateScroll($("#wpgmza-theme-editor"))}),WPGMZA.themePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.ThemePanel.previewImageCenter={lat:33.701806462148646,lng:-118.15949896058983},WPGMZA.ThemePanel.previewImageZoom=11,WPGMZA.ThemePanel.prototype.onThemePresetClick=function(event){var event=$(event.currentTarget).find("[data-theme-json]").attr("data-theme-json"),textarea=$("textarea[name='wpgmza_theme_data']"),existingData=textarea.val(),allPresetData=[];$(this.element).find("[data-theme-json]").each(function(index,el){allPresetData.push($(el).attr("data-theme-json"))}),existingData.length&&-1==allPresetData.indexOf(existingData)&&!confirm(WPGMZA.localized_strings.overwrite_theme_data)||(textarea.val(event),this.updateMapTheme(),WPGMZA.themeEditor.parse())},WPGMZA.ThemePanel.prototype.updateMapTheme=function(){var data;try{data=JSON.parse($("textarea[name='wpgmza_theme_data']").val())}catch(e){return void alert(WPGMZA.localized_strings.invalid_theme_data)}this.map.setOptions({styles:data})}}),jQuery(function($){WPGMZA.Version=function(){},WPGMZA.Version.GREATER_THAN=1,WPGMZA.Version.EQUAL_TO=0,WPGMZA.Version.LESS_THAN=-1,WPGMZA.Version.compare=function(v1,v2){for(var v1parts=v1.match(/\d+/g),v2parts=v2.match(/\d+/g),i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.XMLCacheConverter=function(){},WPGMZA.XMLCacheConverter.prototype.convert=function(xml){var markers=[],remap={marker_id:"id",linkd:"link"};return $(xml).find("marker").each(function(index,el){var data={};$(el).children().each(function(j,child){var key=child.nodeName;remap[key]&&(key=remap[key]),child.hasAttribute("data-json")?data[key]=JSON.parse($(child).text()):data[key]=$(child).text()}),markers.push(data)}),markers}}),jQuery(function($){WPGMZA.loadXMLAsWebWorker=function(){function tXml(a,d){function c(){for(var l=[];a[b];){if(60==a.charCodeAt(b)){if(47===a.charCodeAt(b+1)){b=a.indexOf(">",b);break}if(33===a.charCodeAt(b+1)){if(45==a.charCodeAt(b+2)){for(;62!==a.charCodeAt(b)||45!=a.charCodeAt(b-1)||45!=a.charCodeAt(b-2)||-1==b;)b=a.indexOf(">",b+1);-1===b&&(b=a.length)}else for(b+=2;62!==a.charCodeAt(b);)b++;b++;continue}var c=f();l.push(c)}else c=b,-2===(b=a.indexOf("<",b)-1)&&(b=a.length),0<(c=a.slice(c,b+1)).trim().length&&l.push(c);b++}return l}function l(){for(var c=b;-1===g.indexOf(a[b]);)b++;return a.slice(c,b)}function f(){var d={};b++,d.tagName=l();for(var f=!1;62!==a.charCodeAt(b);){if(64<(e=a.charCodeAt(b))&&e<91||96<e&&e<123){for(var h,g=l(),e=a.charCodeAt(b);39!==e&&34!==e&&!(64<e&&e<91||96<e&&e<123)&&62!==e;)b++,e=a.charCodeAt(b);f||(d.attributes={},f=!0),39===e||34===e?(e=a[b],h=++b,b=a.indexOf(e,h),e=a.slice(h,b)):(e=null,b--),d.attributes[g]=e}b++}return 47!==a.charCodeAt(b-1)&&("script"==d.tagName?(f=b+1,b=a.indexOf("<\/script>",b),d.children=[a.slice(f,b-1)],b+=8):"style"==d.tagName?(f=b+1,b=a.indexOf("</style>",b),d.children=[a.slice(f,b-1)],b+=7):-1==k.indexOf(d.tagName)&&(b++,d.children=c())),d}var b,g="\n\t>/= ",k=["img","br","input","meta","link"],h=null;return(d=d||{}).searchId?(-1===(b=new RegExp("s*ids*=s*['\"]"+d.searchId+"['\"]").exec(a).index)||-1!==(b=a.lastIndexOf("<",b))&&(h=f()),b):(b=0,h=c(),d.filter&&(h=tXml.filter(h,d.filter)),d.simplify?tXml.simplefy(h):h)}tXml.simplify=function(a){var c,d={};if(1===a.length&&"string"==typeof a[0])return a[0];for(c in a.forEach(function(a){var c;d[a.tagName]||(d[a.tagName]=[]),"object"==typeof a?(c=tXml.simplefy(a.children),d[a.tagName].push(c),a.attributes&&(c._attributes=a.attributes)):d[a.tagName].push(a)}),d)1==d[c].length&&(d[c]=d[c][0]);return d},tXml.filter=function(a,d){var c=[];return a.forEach(function(a){"object"==typeof a&&d(a)&&c.push(a),a.children&&(a=tXml.filter(a.children,d),c=c.concat(a))}),c},tXml.domToXml=function(a){var c="";return function d(a){if(a)for(var f=0;f<a.length;f++)if("string"==typeof a[f])c+=a[f].trim();else{var g=a[f],k=void(c+="<"+g.tagName);for(k in g.attributes)c=-1===g.attributes[k].indexOf('"')?c+(" "+k+'="'+g.attributes[k].trim())+'"':c+(" "+k+"='"+g.attributes[k].trim())+"'";c+=">",d(g.children),c+="</"+g.tagName+">"}}(O),c},"object"!=typeof window&&(module.exports=tXml);var inputData,totalFiles,worker=self,dataForMainThread=[],filesLoaded=0;function onXMLLoaded(request){4==request.readyState&&200==request.status&&((new Date).getTime(),function(xml){for(var markers=xml[0].children[0],remap={marker_id:"id",linkd:"link"},i=0;i<markers.children.length;i++){var data={};markers.children[i].children.forEach(function(node){var key=node.tagName;remap[key]&&(key=remap[key]),node.attributes["data-json"]?data[key]=JSON.parse(node.children[0]):node.children.length?data[key]=node.children[0]:data[key]=""}),dataForMainThread.push(data)}}(tXml(request.responseText)),++filesLoaded>=totalFiles?worker.postMessage(dataForMainThread):loadNextFile())}function loadNextFile(){var url=inputData.urls[filesLoaded],request=new XMLHttpRequest;request.onreadystatechange=function(){onXMLLoaded(this)},request.open("GET",inputData.protocol+url,!0),request.send()}self.addEventListener("message",function(event){event=event.data;if("load"!==event.command)throw new Error("Unknown command");dataForMainThread=[],filesLoaded=0,totalFiles=(inputData=event).urls.length,loadNextFile()},!1)}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={},WPGMZA.Integration.Blocks={},WPGMZA.Integration.Blocks.instances={}}),jQuery(function($){var __,registerBlockType,InspectorControls,_wp$editor,Dashicon,PanelBody;window.wp&&wp.i18n&&wp.blocks&&wp.editor&&wp.components&&(__=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$editor.BlockControls,_wp$editor=wp.components,Dashicon=_wp$editor.Dashicon,_wp$editor.Toolbar,_wp$editor.Button,_wp$editor.Tooltip,PanelBody=_wp$editor.PanelBody,_wp$editor.TextareaControl,_wp$editor.CheckboxControl,_wp$editor.TextControl,_wp$editor.SelectControl,_wp$editor.RichText,WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Go Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:WPGMZA.InternalEngine.isLegacy()?__("WP Go Maps"):__("Map"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:!WPGMZA.InternalEngine.isLegacy()&&this.verifyCategory("wpgmza-gutenberg")?"wpgmza-gutenberg":"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.prototype.verifyCategory=function(category){if(wp.blocks&&wp.blocks.getCategories){var i,categories=wp.blocks.getCategories();for(i in categories)if(categories[i].slug===category)return!0}return!1},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||/^6/.test(WPGMZA.pro_version)||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance()))}),jQuery(function($){$(document).ready(function(event){var parent=document.body.onclick;parent&&(document.body.onclick=function(event){event.target instanceof WPGMZA.Marker||parent(event)})})}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){var style;navigator.vendor&&-1<navigator.vendor.indexOf("Apple")&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS")||((style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>")).html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style))},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;Parent.call(this,options,googleCircle),googleCircle?(this.googleCircle=googleCircle,options&&(options.center=WPGMZA.LatLng.fromGoogleLatLng(googleCircle.getCenter()),options.radius=googleCircle.getRadius()/1e3)):(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),this.googleFeature=this.googleCircle,options&&this.setOptions(options),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.GoogleCircle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle,WPGMZA.GoogleCircle.prototype.getCenter=function(){return WPGMZA.LatLng.fromGoogleLatLng(this.googleCircle.getCenter())},WPGMZA.GoogleCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.googleCircle.setCenter(center)},WPGMZA.GoogleCircle.prototype.getRadius=function(){return this.googleCircle.getRadius()/1e3},WPGMZA.GoogleCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments),this.googleCircle.setRadius(1e3*parseFloat(radius))},WPGMZA.GoogleCircle.prototype.setVisible=function(visible){this.googleCircle.setVisible(!!visible)},WPGMZA.GoogleCircle.prototype.setDraggable=function(value){this.googleCircle.setDraggable(!!value)},WPGMZA.GoogleCircle.prototype.setEditable=function(value){var self=this;this.googleCircle.setOptions({editable:value}),value&&(google.maps.event.addListener(this.googleCircle,"center_changed",function(event){self.center=WPGMZA.LatLng.fromGoogleLatLng(self.googleCircle.getCenter()),self.trigger("change")}),google.maps.event.addListener(this.googleCircle,"radius_changed",function(event){self.radius=self.googleCircle.getRadius()/1e3,self.trigger("change")}))},WPGMZA.GoogleCircle.prototype.setOptions=function(options){WPGMZA.Circle.prototype.setOptions.apply(this,arguments),options.center&&(this.center=new WPGMZA.LatLng(options.center))},WPGMZA.GoogleCircle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),center=new WPGMZA.LatLng(this.center);googleOptions.radius*=1e3,googleOptions.center=center.toGoogleLatLng(),this.googleCircle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleDrawingManager=function(map){var self=this;WPGMZA.DrawingManager.call(this,map),this.mode=null,this.googleDrawingManager=new google.maps.drawing.DrawingManager({drawingControl:!1,polygonOptions:{editable:!0},polylineOptions:{editable:!0},circleOptions:{editable:!0},rectangleOptions:{draggable:!0,editable:!0,strokeWeight:1,fillOpacity:0}}),this.googleDrawingManager.setMap(map.googleMap),google.maps.event.addListener(this.googleDrawingManager,"polygoncomplete",function(polygon){self.onPolygonClosed(polygon)}),google.maps.event.addListener(this.googleDrawingManager,"polylinecomplete",function(polyline){self.onPolylineComplete(polyline)}),google.maps.event.addListener(this.googleDrawingManager,"circlecomplete",function(circle){self.onCircleComplete(circle)}),google.maps.event.addListener(this.googleDrawingManager,"rectanglecomplete",function(rectangle){self.onRectangleComplete(rectangle)})},WPGMZA.GoogleDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.GoogleDrawingManager.prototype.constructor=WPGMZA.GoogleDrawingManager,WPGMZA.GoogleDrawingManager.prototype.setDrawingMode=function(mode){var googleMode;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:googleMode=null;break;case WPGMZA.DrawingManager.MODE_POLYGON:googleMode=google.maps.drawing.OverlayType.POLYGON;break;case WPGMZA.DrawingManager.MODE_POLYLINE:googleMode=google.maps.drawing.OverlayType.POLYLINE;break;case WPGMZA.DrawingManager.MODE_CIRCLE:googleMode=google.maps.drawing.OverlayType.CIRCLE;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:googleMode=null;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;default:throw new Error("Invalid drawing mode")}this.googleDrawingManager.setDrawingMode(googleMode)},WPGMZA.GoogleDrawingManager.prototype.setOptions=function(options){this.googleDrawingManager.setOptions({polygonOptions:options,polylineOptions:options})},WPGMZA.GoogleDrawingManager.prototype.onVertexClicked=function(event){},WPGMZA.GoogleDrawingManager.prototype.onPolygonClosed=function(googlePolygon){var event=new WPGMZA.Event("polygonclosed");event.enginePolygon=googlePolygon,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onPolylineComplete=function(googlePolyline){var event=new WPGMZA.Event("polylinecomplete");event.enginePolyline=googlePolyline,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onCircleComplete=function(googleCircle){var event=new WPGMZA.Event("circlecomplete");event.engineCircle=googleCircle,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onRectangleComplete=function(googleRectangle){var event;this.mode===WPGMZA.DrawingManager.MODE_IMAGEOVERLAY?this.onImageoverlayComplete(googleRectangle):((event=new WPGMZA.Event("rectanglecomplete")).engineRectangle=googleRectangle,this.dispatchEvent(event))},WPGMZA.GoogleDrawingManager.prototype.onHeatmapPointAdded=function(googleMarker){var position=WPGMZA.LatLng.fromGoogleLatLng(googleMarker.getPosition()),googleMarker=(googleMarker.setMap(null),WPGMZA.Marker.createInstance()),image=(googleMarker.setPosition(position),{url:WPGMZA.imageFolderURL+"heatmap-point.png",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(13,13)}),image=(googleMarker.googleMarker.setIcon(image),this.map.addMarker(googleMarker),new WPGMZA.Event("heatmappointadded"));image.position=position,this.trigger(image)},WPGMZA.GoogleDrawingManager.prototype.onImageoverlayComplete=function(rectangle){var event=new WPGMZA.Event("imageoverlaycomplete");event.engineImageoverlay={googleRectangle:rectangle},this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(options&&options.address)return options.lat&&options.lng&&(latLng={lat:options.lat,lng:options.lng},callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng,bounds:null}],WPGMZA.Geocoder.SUCCESS)),WPGMZA.isLatLngString(options.address)?WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback):(options.country&&(options.componentRestrictions={country:options.country}),void(new google.maps.Geocoder).geocode(options,function(results,status){var bounds,location;status==google.maps.GeocoderStatus.OK?(location={lat:(location=results[0].geometry.location).lat(),lng:location.lng()},bounds=null,results[0].geometry.bounds&&(bounds=WPGMZA.LatLngBounds.fromGoogleLatLngBounds(results[0].geometry.bounds)),callback(results=[{geometry:{location:location},latLng:location,lat:location.lat,lng:location.lng,bounds:bounds}],WPGMZA.Geocoder.SUCCESS)):(location=WPGMZA.Geocoder.FAIL,status==google.maps.GeocoderStatus.ZERO_RESULTS&&(location=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,location))}));var latLng;nativeStatus=WPGMZA.Geocoder.NO_ADDRESS,callback(null,nativeStatus)},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder,options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}});let fullResult=!1;options.fullResult&&(fullResult=!0,delete options.fullResult),delete options.latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),fullResult?callback([results[0]],WPGMZA.Geocoder.SUCCESS):callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){WPGMZA.settings.engine&&"google-maps"!=WPGMZA.settings.engine||window.google&&window.google.maps&&(WPGMZA.GoogleHTMLOverlay=function(map){this.element=$("<div class='wpgmza-google-html-overlay'></div>"),this.visible=!0,this.position=new WPGMZA.LatLng,this.setMap(map.googleMap),this.wpgmzaMap=map},WPGMZA.GoogleHTMLOverlay.prototype=new google.maps.OverlayView,WPGMZA.GoogleHTMLOverlay.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.element[0])},WPGMZA.GoogleHTMLOverlay.prototype.onRemove=function(){this.element&&$(this.element).parent().length&&($(this.element).remove(),this.element=null)},WPGMZA.GoogleHTMLOverlay.prototype.draw=function(){this.updateElementPosition()},WPGMZA.GoogleHTMLOverlay.prototype.updateElementPosition=function(){var projection=this.getProjection();projection&&(projection=projection.fromLatLngToDivPixel(this.position.toGoogleLatLng()),$(this.element).css({left:projection.x,top:projection.y}))})}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(feature){Parent.call(this,feature),this.setFeature(feature)},WPGMZA.GoogleInfoWindow.Z_INDEX=99,Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setFeature=function(feature){(this.feature=feature)instanceof WPGMZA.Marker?this.googleObject=feature.googleMarker:feature instanceof WPGMZA.Polygon?this.googleObject=feature.googlePolygon:feature instanceof WPGMZA.Polyline&&(this.googleObject=feature.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){var self=this;this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow,this.googleInfoWindow.setZIndex(WPGMZA.GoogleInfoWindow.Z_INDEX),google.maps.event.addListener(this.googleInfoWindow,"domready",function(event){self.trigger("domready")}),google.maps.event.addListener(this.googleInfoWindow,"closeclick",function(event){self.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(self.state=WPGMZA.InfoWindow.STATE_CLOSED,self.feature.map.trigger("infowindowclose"))}))},WPGMZA.GoogleInfoWindow.prototype.open=function(map,feature){var self=this;if(!Parent.prototype.open.call(this,map,feature))return!1;this.parent=map,this.createGoogleInfoWindow(),this.setFeature(feature),void 0!==feature._osDisableAutoPan&&(feature._osDisableAutoPan?(this.googleInfoWindow.setOptions({disableAutoPan:!0}),feature._osDisableAutoPan=!1):this.googleInfoWindow.setOptions({disableAutoPan:!1})),this.googleInfoWindow.open(this.feature.map.googleMap,this.googleObject);var intervalID,guid=WPGMZA.guid(),map=WPGMZA.isProVersion()?"":this.addEditButton(),feature="<div id='"+guid+"'>"+map+" "+this.content+"</div>";return this.googleInfoWindow.setContent(feature),intervalID=setInterval(function(event){(div=$("#"+guid)).length&&(clearInterval(intervalID),div[0].wpgmzaFeature=self.feature,div.addClass("wpgmza-infowindow"),self.element=div[0],self.trigger("infowindowopen"))},50),!0},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;Parent.call(this,element,options),this.loadGoogleMap(),options?this.setOptions(options,!0):this.setOptions({},!0),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),this.googleMap.getStreetView()&&(google.maps.event.addListener(this.googleMap.getStreetView(),"visible_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_visible_changed");wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"position_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_position_changed");const position=this.getPosition();position&&(wpgmzaEvent.latLng={lat:position.lat(),lng:position.lng()}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"pov_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_pov_changed"),pov=this.getPov();pov&&(wpgmzaEvent.pov={heading:pov.heading,pitch:pov.pitch}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)})),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.parseThemeData=function(raw){var json;try{json=JSON.parse(raw)}catch(e){try{json=eval(raw)}catch(e){var str=raw,str=str.replace(/\\'/g,"'");str=str.replace(/\\"/g,'"'),str=str.replace(/\\0/g,"\0"),str=str.replace(/\\\\/g,"\\");try{json=eval(str)}catch(e){return console.warn("Couldn't parse theme data"),[]}}}return json},WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),this.settings.transport_layer&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.wpgmza_show_point_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options,initializing){Parent.prototype.setOptions.call(this,options),options.scrollwheel&&delete options.scrollwheel,initializing?(initializing=$.extend(options,this.settings.toGoogleMapsOptions()),!(initializing=$.extend({},initializing)).center instanceof google.maps.LatLng&&(initializing.center instanceof WPGMZA.LatLng||"object"==typeof initializing.center)&&(initializing.center={lat:parseFloat(initializing.center.lat),lng:parseFloat(initializing.center.lng)}),this.settings.hide_point_of_interest&&(initializing.styles||(initializing.styles=[]),initializing.styles.push({featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]})),this.googleMap.setOptions(initializing)):this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.addRectangle=function(rectangle){rectangle.googleRectangle.setMap(this.googleMap),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.removeRectangle=function(rectangle){rectangle.googleRectangle.setMap(null),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(parseInt(value))},WPGMZA.GoogleMap.prototype.getBounds=function(){var nativeBounds=new WPGMZA.LatLngBounds({});try{var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();nativeBounds.north=northEast.lat(),nativeBounds.south=southWest.lat(),nativeBounds.west=southWest.lng(),nativeBounds.east=northEast.lng(),nativeBounds.topLeft={lat:northEast.lat(),lng:southWest.lng()},nativeBounds.bottomRight={lat:southWest.lat(),lng:northEast.lng()}}catch(ex){}return nativeBounds},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=new google.maps.LatLngBounds(southWest,northEast);this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();text&&((text=JSON.parse(text)).push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:text}))},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,latLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),map=map.getProjection().fromLatLngToPoint(latLng);return{x:(map.x-bottomLeft.x)*scale,y:(map.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),x=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),bottomLeft=map.getProjection().fromPointToLatLng(x);return{lat:bottomLeft.lat(),lng:bottomLeft.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")},WPGMZA.GoogleMap.prototype.enableAllInteractions=function(){var options={scrollwheel:!0,draggable:!0,disableDoubleClickZoom:!1};this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.openStreetView=function(options){if(this.googleMap.getStreetView()){if(options&&(options.position&&options.position instanceof WPGMZA.LatLng&&this.googleMap.getStreetView().setPosition(options.position.toGoogleLatLng()),options.heading||options.pitch)){const pov={};options.heading&&(pov.heading=parseFloat(options.heading)),options.pitch&&(pov.pitch=parseFloat(options.pitch)),this.googleMap.getStreetView().setPov(pov)}this.googleMap.getStreetView().setVisible(!0)}},WPGMZA.GoogleMap.prototype.closeStreetView=function(){this.googleMap.getStreetView()&&this.googleMap.getStreetView().setVisible(!1)},WPGMZA.GoogleMap.prototype.isFullScreen=function(){return!(WPGMZA.Map.prototype.isFullScreen.call(this)||!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.firstChild.offsetHeight))},WPGMZA.GoogleMap.prototype.onFullScreenChange=function(fullscreen){if(fullscreen&&!this._stackedComponentsMoved&&this.element.firstChild){const innerContainer=this.element.firstChild;$(this.element).find(".wpgmza-inner-stack").each(function(index,element){$(element).appendTo(innerContainer)}),this._stackedComponentsMoved=!0}}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toGoogleLatLng():options[name]instanceof WPGMZA.Map||"icon"==name||(settings[name]=options[name]);this.googleMarker=new google.maps.Marker(settings),(this.googleMarker.wpgmzaMarker=this).googleFeature=this.googleMarker,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.anim&&this.googleMarker.setAnimation(this.anim),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"mouseout",function(){self.dispatchEvent("mouseout")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()}),self.trigger("change")}),this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,Object.defineProperty(WPGMZA.GoogleMarker.prototype,"opacity",{get:function(){return this._opacity},set:function(value){this._opacity=value,this.googleMarker.setOpacity(value)}}),WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.updateOffset=function(){var self=this,icon=this.googleMarker.getIcon(),img=new Image,x=this._offset.x,y=this._offset.y,params="string"==typeof(icon=icon||WPGMZA.settings.default_marker_icon)?{url:icon}:icon;img.onload=function(){var defaultAnchor_x=img.width/2,defaultAnchor_y=img.height;params.anchor=new google.maps.Point(defaultAnchor_x-x,defaultAnchor_y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(!!visible)},WPGMZA.GoogleMarker.prototype.getVisible=function(visible){return this.googleMarker.getVisible()},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)},WPGMZA.GoogleMarker.prototype.setOpacity=function(opacity){this.googleMarker.setOpacity(opacity)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).bind("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),center=new WPGMZA.LatLng({lat:center.lat,lng:0}),equator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),spherical=.006395*km*(spherical.computeOffset(center.toGoogleLatLng(),1e3*km,90).lng()/equator.lng());if(isNaN(spherical))throw new Error("here");return spherical},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){var map=this.map=WPGMZA.getMapByID(map_id),map_id=(WPGMZA.ModernStoreLocator.call(this,map_id),map.settings.wpgmza_store_locator_restrict);this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&map_id&&map_id.length,this.map.googleMap.controls[google.maps.ControlPosition.TOP_CENTER].push(this.element)},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),(this.googleFeature=this).setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.GooglePointlabel,Parent),WPGMZA.GooglePointlabel.prototype.setOptions=function(options){options.name&&this.textFeature.setText(options.name)}}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(options,googlePolygon){var self=this;Parent.call(this,options=options||{},googlePolygon),this.googlePolygon=googlePolygon||new google.maps.Polygon,this.googleFeature=this.googlePolygon,options&&options.polydata&&this.googlePolygon.setOptions({paths:this.parseGeometry(options.polydata)}),this.googlePolygon.wpgmzaPolygon=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.updateNativeFeature=function(){this.googlePolygon.setOptions(this.getScalarProperties())},WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){var self=this;this.googlePolygon.setOptions({editable:value}),value&&(this.googlePolygon.getPaths().forEach(function(path,index){["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})})}),google.maps.event.addListener(this.googlePolygon,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolygon,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolygon.prototype.setDraggable=function(value){this.googlePolygon.setDraggable(value)},WPGMZA.GooglePolygon.prototype.getGeometry=function(){for(var result=[],path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(options,googlePolyline){var self=this;WPGMZA.Polyline.call(this,options,googlePolyline),this.googlePolyline=googlePolyline||new google.maps.Polyline(this.settings),this.googleFeature=this.googlePolyline,options&&options.polydata&&(googlePolyline=this.parseGeometry(options.polydata),this.googlePolyline.setPath(googlePolyline)),this.googlePolyline.wpgmzaPolyline=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.updateNativeFeature=function(){this.googlePolyline.setOptions(this.getScalarProperties())},WPGMZA.GooglePolyline.prototype.setEditable=function(value){var path,self=this;this.googlePolyline.setOptions({editable:value}),value&&(path=this.googlePolyline.getPath(),["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})}),google.maps.event.addListener(this.googlePolyline,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolyline,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolyline.prototype.setDraggable=function(value){this.googlePolyline.setOptions({draggable:value})},WPGMZA.GooglePolyline.prototype.getGeometry=function(){for(var result=[],path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.GoogleRectangle=function(options,googleRectangle){var self=this;Parent.call(this,options=options||{},googleRectangle),googleRectangle?(this.googleRectangle=googleRectangle,this.cornerA=options.cornerA=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getNorthEast().lat(),lng:googleRectangle.getBounds().getSouthWest().lng()}),this.cornerB=options.cornerB=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getSouthWest().lat(),lng:googleRectangle.getBounds().getNorthEast().lng()})):(this.googleRectangle=new google.maps.Rectangle,this.googleRectangle.wpgmzaRectangle=this),this.googleFeature=this.googleRectangle,options&&this.setOptions(options),google.maps.event.addListener(this.googleRectangle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.GoogleRectangle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleRectangle.prototype.constructor=WPGMZA.GoogleRectangle,WPGMZA.GoogleRectangle.prototype.getBounds=function(){return WPGMZA.LatLngBounds.fromGoogleLatLngBounds(this.googleRectangle.getBounds())},WPGMZA.GoogleRectangle.prototype.setVisible=function(visible){this.googleRectangle.setVisible(!!visible)},WPGMZA.GoogleRectangle.prototype.setDraggable=function(value){this.googleRectangle.setDraggable(!!value)},WPGMZA.GoogleRectangle.prototype.setEditable=function(value){var self=this;this.googleRectangle.setEditable(!!value),value&&google.maps.event.addListener(this.googleRectangle,"bounds_changed",function(event){self.trigger("change")})},WPGMZA.GoogleRectangle.prototype.setOptions=function(options){WPGMZA.Rectangle.prototype.setOptions.apply(this,arguments),options.cornerA&&options.cornerB&&(this.cornerA=new WPGMZA.LatLng(options.cornerA),this.cornerB=new WPGMZA.LatLng(options.cornerB))},WPGMZA.GoogleRectangle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),north=parseFloat(this.cornerA.lat),west=parseFloat(this.cornerA.lng),south=parseFloat(this.cornerB.lat),east=parseFloat(this.cornerB.lng);north&&west&&south&&east&&(googleOptions.bounds={north:north,west:west,south:south,east:east}),this.googleRectangle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.GoogleTextOverlay(options)},WPGMZA.extend(WPGMZA.GoogleText,WPGMZA.Text)}),jQuery(function($){WPGMZA.GoogleTextOverlay=function(options){this.element=$("<div class='wpgmza-google-text-overlay'><div class='wpgmza-inner'></div></div>"),(options=options||{}).position&&(this.position=options.position),options.text&&this.element.find(".wpgmza-inner").text(options.text),options.map&&this.setMap(options.map.googleMap)},window.google&&google.maps&&google.maps.OverlayView&&(WPGMZA.GoogleTextOverlay.prototype=new google.maps.OverlayView),WPGMZA.GoogleTextOverlay.prototype.onAdd=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"}),this.getPanes().floatPane.appendChild(this.element[0])},WPGMZA.GoogleTextOverlay.prototype.draw=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"})},WPGMZA.GoogleTextOverlay.prototype.onRemove=function(){this.element.remove()},WPGMZA.GoogleTextOverlay.prototype.hide=function(){this.element.hide()},WPGMZA.GoogleTextOverlay.prototype.show=function(){this.element.show()},WPGMZA.GoogleTextOverlay.prototype.toggle=function(){this.element.is(":visible")?this.element.hide():this.element.show()},WPGMZA.GoogleTextOverlay.prototype.setPosition=function(position){this.position=position},WPGMZA.GoogleTextOverlay.prototype.setText=function(text){this.element.find(".wpgmza-inner").text(text)},WPGMZA.GoogleTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.element.find(".wpgmza-inner").css("font-size",size+"px")},WPGMZA.GoogleTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("color",color)},WPGMZA.GoogleTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("--wpgmza-color-white",color)},WPGMZA.GoogleTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.element.find(".wpgmza-inner").css("opacity",opacity)},WPGMZA.GoogleTextOverlay.prototype.remove=function(){this.element&&this.element.remove()}}),jQuery(function($){"google-maps"!=WPGMZA.settings.engine||WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();position&&projection&&(projection=projection.fromLatLngToDivPixel(position),this.element.style.top=projection.y+"px",this.element.style.left=projection.x+"px")},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&null!=vertex&&path.removeAt(vertex),this.close()})}),jQuery(function($){WPGMZA.FeaturePanel=function(element,mapEditPage){var self=this;WPGMZA.EventDispatcher.apply(this,arguments),this.map=mapEditPage.map,this.drawingManager=mapEditPage.drawingManager,this.writersblock=!1,this.feature=null,this.element=element,this.initDefaults(),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.drawingInstructionsElement=$(this.element).find(".wpgmza-feature-drawing-instructions"),this.drawingInstructionsElement.detach(),this.editingInstructionsElement=$(this.element).find(".wpgmza-feature-editing-instructions"),this.editingInstructionsElement.detach(),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.newPanel[0],self.element[0])&&self.onTabActivated(event)}),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.oldPanel[0],self.element[0])&&self.onTabDeactivated(event)}),$(".grouping").on("feature-block-opened",function(event){$(event.currentTarget).data("feature")===self.featureType?self.onTabActivated(event):self.onTabDeactivated(event)}),$(".grouping").on("feature-block-closed",function(event){self.onTabDeactivated(event),mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE)}),$(document.body).on("click","[data-edit-"+this.featureType+"-id]",function(event){self.onEditFeature(event)}),$(document.body).on("click","[data-delete-"+this.featureType+"-id]",function(event){self.onDeleteFeature(event)}),$(this.element).find(".wpgmza-save-feature").on("click",function(event){self.onSave(event)}),this.drawingManager.on(self.drawingManagerCompleteEvent,function(event){self.onDrawingComplete(event)}),this.drawingManager.on("drawingmodechanged",function(event){self.onDrawingModeChanged(event)}),$(this.element).on("change input",function(event){self.onPropertyChanged(event)})},WPGMZA.extend(WPGMZA.FeaturePanel,WPGMZA.EventDispatcher),WPGMZA.FeaturePanel.MODE_ADD="add",WPGMZA.FeaturePanel.MODE_EDIT="edit",WPGMZA.FeaturePanel.prevEditableFeature=null,Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"drawingManagerCompleteEvent",{get:function(){return this.featureType+"complete"}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureDataTable",{get:function(){return $("[data-wpgmza-datatable][data-wpgmza-feature-type='"+this.featureType+"']")[0].wpgmzaDataTable}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureAccordion",{get:function(){return $(this.element).closest(".wpgmza-accordion")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"map",{get:function(){return WPGMZA.mapEditPage.map}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"mode",{get:function(){return this._mode}}),WPGMZA.FeaturePanel.prototype.initPreloader=function(){this.preloader||(this.preloader=$(WPGMZA.preloaderHTML),this.preloader.hide(),$(this.element).append(this.preloader))},WPGMZA.FeaturePanel.prototype.initDataTable=function(){var el=$(this.element).find("[data-wpgmza-datatable][data-wpgmza-rest-api-route]");this[this.featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)},WPGMZA.FeaturePanel.prototype.initDefaults=function(){$(this.element).find("[data-ajax-name]:not([type='radio'])").each(function(index,el){var val=$(el).val();val&&$(el).attr("data-default-value",val)})},WPGMZA.FeaturePanel.prototype.setCaptionType=function(type,id){var icons={add:"fa-plus-circle",save:"fa-pencil-square-o"};switch(type){case WPGMZA.FeaturePanel.MODE_ADD:case WPGMZA.FeaturePanel.MODE_EDIT:this.featureAccordion.find("[data-add-caption][data-edit-caption]").each(function(index,el){var text=$(el).attr("data-"+type+"-caption"),icon=$(el).find("i.fa");id&&(text+=" "+id),$(el).text(text),icon.length&&((icon=$("<i class='fa' aria-hidden='true'></i>")).addClass(icons[type]),$(el).prepend(" "),$(el).prepend(icon))}),this.sidebarTriggerDelegate("feature-caption-loaded");break;default:throw new Error("Invalid type")}},WPGMZA.FeaturePanel.prototype.setMode=function(type,id){this._mode=type,this.setCaptionType(type,id)},WPGMZA.FeaturePanel.prototype.setTargetFeature=function(feature){var prev,self=this;WPGMZA.FeaturePanel.prevEditableFeature&&((prev=WPGMZA.FeaturePanel.prevEditableFeature).setEditable(!1),prev.setDraggable(!1),prev.off("change")),feature?(feature.setEditable(!0),feature.setDraggable(!0),feature.on("change",function(event){self.onFeatureChanged(event)}),this.setMode(WPGMZA.FeaturePanel.MODE_EDIT),this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showInstructions()):this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.feature=WPGMZA.FeaturePanel.prevEditableFeature=feature},WPGMZA.FeaturePanel.prototype.reset=function(){$(this.element).find("[data-ajax-name]:not([data-ajax-name='map_id']):not([type='color']):not([type='checkbox']):not([type='radio'])").val(""),$(this.element).find("select[data-ajax-name]>option:first-child").prop("selected",!0),$(this.element).find("[data-ajax-name='id']").val("-1"),$(this.element).find("input[type='checkbox']").prop("checked",!1),WPGMZA.InternalEngine.isLegacy()?tinyMCE.get("wpgmza-description-editor")?tinyMCE.get("wpgmza-description-editor").setContent(""):$("#wpgmza-description-editor").val(""):("undefined"!=typeof WritersBlock&&0!=this.writersblock&&this.writersblock.ready?(this.writersblock.setContent(""),this.writersblock.elements&&this.writersblock.elements._codeEditor&&(this.writersblock.elements._codeEditor.value="")):$("#wpgmza-description-editor").val(""),$(this.element).find("input.wpgmza-color-input").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor($(this).data("default-value")||this.value)})),$("#wpgmza-description-editor").val(""),$(this.element).find(".wpgmza-image-single-input").trigger("change"),this.showPreloader(!1),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),$(this.element).find("[data-ajax-name][data-default-value]").each(function(index,el){$(el).val($(el).data("default-value"))})},WPGMZA.FeaturePanel.prototype.select=function(arg){var id,expectedBaseClass,self=this;if(this.reset(),$.isNumeric(arg))id=arg;else{if(expectedBaseClass=WPGMZA[WPGMZA.capitalizeWords(this.featureType)],!(feature instanceof expectedBaseClass))throw new Error("Invalid feature type for this panel");id=arg.id}this.showPreloader(!0),this.sidebarTriggerDelegate("edit"),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll($(".wpgmza_map")),WPGMZA.restAPI.call("/"+this.featureType+"s/"+id+"?skip_cache=1",{success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),functionSuffix=self.map["get"+functionSuffix+"ByID"](id);self.populate(data),self.showPreloader(!1),self.setMode(WPGMZA.FeaturePanel.MODE_EDIT,id),self.setTargetFeature(functionSuffix)}})},WPGMZA.FeaturePanel.prototype.showPreloader=function(show){this.initPreloader(),0==arguments.length||show?(this.preloader.fadeIn(),this.element.addClass("wpgmza-loading")):(this.preloader.fadeOut(),this.element.removeClass("wpgmza-loading"))},WPGMZA.FeaturePanel.prototype.populate=function(data){var value,target,name;for(name in data)switch(target=$(this.element).find("[data-ajax-name='"+name+"']"),value=data[name],(target.attr("type")||"").toLowerCase()){case"checkbox":case"radio":target.prop("checked",1==data[name]);break;case"color":value.match(/^#/)||(value="#"+value);default:if("object"==typeof value&&(value=JSON.stringify(value)),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").val(value),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-color-input")){let colorInput=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);colorInput.wpgmzaColorInput&&colorInput.wpgmzaColorInput.parseColor(colorInput.value)}if($(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-image-single-input")){let imageInputSingle=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);imageInputSingle.wpgmzaImageInputSingle&&imageInputSingle.wpgmzaImageInputSingle.parseImage(imageInputSingle.value)}$(this.element).find("select[data-ajax-name='"+name+"']").each(function(index,el){"string"==typeof value&&0==data[name].length||$(el).val(value)})}},WPGMZA.FeaturePanel.prototype.serializeFormData=function(){var fields=$(this.element).find("[data-ajax-name]"),data={};return fields.each(function(index,el){var type="text";switch(type=$(el).attr("type")?$(el).attr("type").toLowerCase():type){case"checkbox":data[$(el).attr("data-ajax-name")]=$(el).prop("checked")?1:0;break;case"radio":$(el).prop("checked")&&(data[$(el).attr("data-ajax-name")]=$(el).val());break;default:data[$(el).attr("data-ajax-name")]=$(el).val()}}),data},WPGMZA.FeaturePanel.prototype.discardChanges=function(){var feature;this.feature&&(feature=this.feature,this.setTargetFeature(null),feature&&feature.map&&(this.map["remove"+WPGMZA.capitalizeWords(this.featureType)](feature),-1<feature.id&&this.updateFeatureByID(feature.id)))},WPGMZA.FeaturePanel.prototype.updateFeatureByID=function(id){var feature,self=this,route="/"+this.featureType+"s/",functionSuffix=WPGMZA.capitalizeWords(self.featureType),getByIDFunction="get"+functionSuffix+"ByID",removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;WPGMZA.restAPI.call(route+id,{success:function(data,status,xhr){(feature=self.map[getByIDFunction](id))&&self.map[removeFunction](feature),feature=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](feature)}})},WPGMZA.FeaturePanel.prototype.showInstructions=function(){this.mode===WPGMZA.FeaturePanel.MODE_ADD?WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.drawingInstructionsElement),$(this.drawingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.drawingInstructionsElement):WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.editingInstructionsElement),$(this.editingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.editingInstructionsElement)},WPGMZA.FeaturePanel.prototype.onTabActivated=function(){var featureString;this.reset(),this.drawingManager.setDrawingMode(this.featureType),this.onAddFeature(event),WPGMZA.InternalEngine.isLegacy()&&($(".wpgmza-table-container-title").hide(),$(".wpgmza-table-container").hide(),featureString=this.featureType.charAt(0).toUpperCase()+this.featureType.slice(1),$("#wpgmza-table-container-"+featureString).show(),$("#wpgmza-table-container-title-"+featureString).show())},WPGMZA.FeaturePanel.prototype.onTabDeactivated=function(){this.discardChanges(),this.setTargetFeature(null)},WPGMZA.FeaturePanel.prototype.onAddFeature=function(event){this.drawingManager.setDrawingMode(this.featureType)},WPGMZA.FeaturePanel.prototype.onEditFeature=function(event){var name="data-edit-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.select(event)},WPGMZA.FeaturePanel.prototype.onDeleteFeature=function(event){var self=this,name="data-delete-"+this.featureType+"-id",event=$(event.currentTarget).attr(name),name="/"+this.featureType+"s/",feature=this.map["get"+WPGMZA.capitalizeWords(this.featureType)+"ByID"](event);confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(this.featureDataTable.dataTable.processing(!0),WPGMZA.restAPI.call(name+event,{method:"DELETE",success:function(data,status,xhr){self.map["remove"+WPGMZA.capitalizeWords(self.featureType)](feature),self.featureDataTable.reload()}}))},WPGMZA.FeaturePanel.prototype.onDrawingModeChanged=function(event){$(this.drawingInstructionsElement).detach(),$(this.editingInstructionsElement).detach(),this.drawingManager.mode==this.featureType&&this.showInstructions()},WPGMZA.FeaturePanel.prototype.onDrawingComplete=function(event){var event=event["engine"+WPGMZA.capitalizeWords(this.featureType)],formData=this.serializeFormData(),geometryField=$(this.element).find("textarea[data-ajax-name$='data']"),formData=(delete formData.polydata,WPGMZA[WPGMZA.capitalizeWords(this.featureType)].createInstance(formData,event));this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.map["add"+WPGMZA.capitalizeWords(this.featureType)](formData),this.setTargetFeature(formData),geometryField.length&&geometryField.val(JSON.stringify(formData.getGeometry())),this.featureType},WPGMZA.FeaturePanel.prototype.onPropertyChanged=function(event){var feature=this.feature;feature&&(feature._dirtyFields||(feature._dirtyFields=[]),$(this.element).find(":input[data-ajax-name]").each(function(index,el){var key=$(el).attr("data-ajax-name");feature[key]&&-1===feature._dirtyFields.indexOf(key)&&feature[key]!==$(el).val()&&feature._dirtyFields.push(key),feature[key]=$(el).val()}),feature.updateNativeFeature())},WPGMZA.FeaturePanel.prototype.onFeatureChanged=function(event){var geometryField=$(this.element).find("textarea[data-ajax-name$='data']");geometryField.length&&geometryField.val(JSON.stringify(this.feature.getGeometry()))},WPGMZA.FeaturePanel.prototype.onSave=function(event){WPGMZA.EmbeddedMedia.detatchAll();var self=this,id=$(self.element).find("[data-ajax-name='id']").val(),data=this.serializeFormData(),route="/"+this.featureType+"s/",isNew=-1==id;"circle"!=this.featureType||data.center?"rectangle"!=this.featureType||data.cornerA?"polygon"!=this.featureType||data.polydata?"polyline"!=this.featureType||data.polydata?(isNew||(route+=id),WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),self.sidebarTriggerDelegate("busy"),WPGMZA.restAPI.call(route,{method:"POST",data:data,success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;(functionSuffix=self.map["get"+functionSuffix+"ByID"](id))&&self.map[removeFunction](functionSuffix),self.setTargetFeature(null),self.showPreloader(!1),functionSuffix=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](functionSuffix),self.featureDataTable.reload(),self.onTabActivated(event),self.reset(),isNew?self.sidebarTriggerDelegate("created"):self.sidebarTriggerDelegate("saved"),WPGMZA.notification(WPGMZA.capitalizeWords(self.featureType)+" "+(isNew?"Added":"Saved"))}})):alert(WPGMZA.localized_strings.no_shape_polyline):alert(WPGMZA.localized_strings.no_shape_polygon):alert(WPGMZA.localized_strings.no_shape_rectangle):alert(WPGMZA.localized_strings.no_shape_circle)},WPGMZA.FeaturePanel.prototype.sidebarTriggerDelegate=function(type){type="sidebar-delegate-"+type;$(this.element).trigger({type:type,feature:this.featureType})},WPGMZA.FeaturePanel.prototype.initWritersBlock=function(element){!element||WPGMZA.InternalEngine.isLegacy()||"undefined"==typeof WritersBlock||(this.writersblock=new WritersBlock(element,this.getWritersBlockConfig()),this.writersblock.elements&&this.writersblock.elements.editor&&($(this.writersblock.elements.editor).on("click",".wpgmza-embedded-media",event=>{event.stopPropagation(),event.currentTarget&&(event.currentTarget.wpgmzaEmbeddedMedia||(event.currentTarget.wpgmzaEmbeddedMedia=WPGMZA.EmbeddedMedia.createInstance(event.currentTarget,this.writersblock.elements.editor)),event.currentTarget.wpgmzaEmbeddedMedia.onSelect())}),$(this.writersblock.elements.editor).on("media_resized",()=>{this.writersblock.onEditorChange()})))},WPGMZA.FeaturePanel.prototype.getWritersBlockConfig=function(){return{customTools:[{tag:"shared-blocks",tools:{"custom-media":{icon:"fa fa-file-image-o",title:"Upload Media",action:editor=>{"undefined"!=typeof wp&&void 0!==wp.media&&void 0!==WPGMZA.openMediaDialog&&WPGMZA.openMediaDialog((mediaId,mediaUrl,media)=>{if(mediaUrl)if(media.type)switch(media.type){case"image":editor.writeHtml(`<img class='wpgmza-embedded-media' src='${mediaUrl}' />`);break;case"video":editor.writeHtml(`<video class='wpgmza-embedded-media' controls src='${mediaUrl}'></video>`);break;case"audio":editor.writeHtml(`<audio controls src='${mediaUrl}'></audio>`)}else WPGMZA.notification("We couldn't determine the type of media being added")},{title:"Select media",button:{text:"Add media"},multiple:!1,library:{type:["video","image","audio"]}})}},"code-editor":{icon:"fa fa-code",title:"Code Editor (HTML)",action:editor=>{if(editor._codeEditorActive){if(editor.elements._codeEditor){editor.elements.editor.classList.remove("wpgmza-hidden"),editor.elements._codeEditor.classList.add("wpgmza-hidden");let toolbarItems=editor.elements.toolbar.querySelectorAll("a.tool");for(let tool of toolbarItems)"codeeditor"!==tool.getAttribute("data-value")?tool.classList.remove("wpgmza-writersblock-disabled"):tool.classList.remove("wpgmza-writersblock-hold-state");$(editor.elements._codeEditor).trigger("wpgmza-writersblock-code-edited")}editor._codeEditorActive=!1}else{var tool;editor.elements._codeEditor||(editor.elements._codeEditor=editor.createElement("textarea",["writersblock-wpgmza-code-editor"]),editor.elements._codeEditor.setAttribute("placeholder","\x3c!-- Add HTML Here --\x3e"),editor.elements.wrap.appendChild(editor.elements._codeEditor),editor.elements._codeEditor.__editor=editor,$(editor.elements._codeEditor).on("wpgmza-writersblock-code-edited",function(){const target=$(this).get(0);if(target.__editor){let editedHtml=target.__editor.elements._codeEditor.value;editedHtml=editedHtml.replaceAll("\n","");const validator=document.createElement("div");validator.innerHTML=editedHtml,validator.innerHTML===editedHtml&&(target.__editor.elements.editor.innerHTML=validator.innerHTML,target.__editor.onEditorChange())}}),$(editor.elements._codeEditor).on("change input",function(){$(this).trigger("wpgmza-writersblock-code-edited")})),editor.elements.editor.classList.add("wpgmza-hidden"),editor.elements._codeEditor.classList.remove("wpgmza-hidden");for(tool of editor.elements.toolbar.querySelectorAll("a.tool"))"codeeditor"!==tool.getAttribute("data-value")?tool.classList.add("wpgmza-writersblock-disabled"):tool.classList.add("wpgmza-writersblock-hold-state");if(editor.elements.editor.innerHTML&&0<editor.elements.editor.innerHTML.trim().length){let sourceHtml=editor.elements.editor.innerHTML;sourceHtml=sourceHtml.replaceAll(/<\/(\w+)>/g,"</$1>\n"),editor.elements._codeEditor.value=sourceHtml}editor._codeEditorActive=!0}}}}}],enabledTools:["p","h1","h2","createlink","unlink","bold","italic","underline","strikeThrough","justifyLeft","justifyCenter","justifyRight","insertUnorderedList","insertOrderedList","insertHorizontalRule","custom-media","code-editor"],events:{onUpdateSelection:packet=>{packet.instance&&setTimeout(()=>{const pingedSelection=window.getSelection();pingedSelection&&0===pingedSelection.toString().trim().length&&this.writersblock.hidePopupTools()},10)}}}},WPGMZA.FeaturePanel.prototype.hasDirtyField=function(field){if(this.feature&&this.feature._dirtyFields){if(this.feature._dirtyFields instanceof Array&&-1!==this.feature._dirtyFields.indexOf(field))return!0}else if(!this.feature)return!0;return!1}}),jQuery(function($){WPGMZA.MarkerPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.MarkerPanel,WPGMZA.FeaturePanel),WPGMZA.MarkerPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProMarkerPanel:WPGMZA.MarkerPanel)(element,mapEditPage)},WPGMZA.MarkerPanel.prototype.initDefaults=function(){var self=this;WPGMZA.FeaturePanel.prototype.initDefaults.apply(this,arguments),this.adjustSubMode=!1,WPGMZA.InternalEngine.isLegacy()&&this.onTabActivated(null),$(document.body).on("click","[data-adjust-"+this.featureType+"-id]",function(event){self.onAdjustFeature(event)}),$(document.body).on("click",".wpgmza_approve_btn",function(event){self.onApproveMarker(event)})},WPGMZA.MarkerPanel.prototype.onAdjustFeature=function(event){var name="data-adjust-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.adjustSubMode=!0,this.select(event)},WPGMZA.MarkerPanel.prototype.onApproveMarker=function(event){var self=this,event="/"+this.featureType+"s/"+$(event.currentTarget).attr("id");WPGMZA.restAPI.call(event,{method:"POST",data:{approved:"1"},success:function(data,status,xhr){self.featureDataTable.reload()}})},WPGMZA.MarkerPanel.prototype.onFeatureChanged=function(event){var aPos,pos;this.adjustSubMode?(aPos=this.feature.getPosition())&&($(this.element).find("[data-ajax-name='lat']").val(aPos.lat),$(this.element).find("[data-ajax-name='lng']").val(aPos.lng)):(aPos=$(this.element).find("input[data-ajax-name$='address']")).length&&(pos=this.feature.getPosition(),aPos.val(pos.lat+", "+pos.lng),aPos.trigger("change"))},WPGMZA.MarkerPanel.prototype.setTargetFeature=function(feature){var prev;WPGMZA.FeaturePanel.prevEditableFeature&&(prev=WPGMZA.FeaturePanel.prevEditableFeature).setOpacity&&prev.setOpacity(1),$(this.element).find("[data-ajax-name]").removeAttr("disabled"),$(this.element).find("fieldset").show(),$(this.element).find(".wpgmza-adjust-mode-notice").addClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","hidden"),$(this.element).find('[data-ajax-name="lng"]').attr("type","hidden"),$(this.element).find(".wpgmza-hide-in-adjust-mode").removeClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").addClass("wpgmza-hidden"),feature?(feature.setOpacity&&feature.setOpacity(.7),feature.getMap().panTo(feature.getPosition()),this.adjustSubMode&&($(this.element).find("[data-ajax-name]").attr("disabled","disabled"),$(this.element).find("fieldset:not(.wpgmza-always-on)").hide(),$(this.element).find(".wpgmza-adjust-mode-notice").removeClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","text").removeAttr("disabled"),$(this.element).find('[data-ajax-name="lng"]').attr("type","text").removeAttr("disabled"),$(this.element).find(".wpgmza-hide-in-adjust-mode").addClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").removeClass("wpgmza-hidden"))):this.adjustSubMode=!1,WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments)},WPGMZA.MarkerPanel.prototype.onSave=function(event){var self=this,geocoder=WPGMZA.Geocoder.createInstance(),geocodingData={address:$(this.element).find("[data-ajax-name='address']").val()},cloud_lat=(WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),!1),cloud_lng=!1,cloud_lat=(0<document.getElementsByName("lat").length&&(cloud_lat=document.getElementsByName("lat")[0].value),0<document.getElementsByName("lng").length&&(cloud_lng=document.getElementsByName("lng")[0].value),cloud_lat&&cloud_lng&&(WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey||(geocodingData.lat=parseFloat(cloud_lat),geocodingData.lng=parseFloat(cloud_lng))),!this.hasDirtyField("address"));this.adjustSubMode||cloud_lat?WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments):geocoder.geocode(geocodingData,function(results,status){switch(status){case WPGMZA.Geocoder.ZERO_RESULTS:return alert(WPGMZA.localized_strings.zero_results),void self.showPreloader(!1);case WPGMZA.Geocoder.SUCCESS:break;case WPGMZA.Geocoder.NO_ADDRESS:return alert(WPGMZA.localized_strings.no_address),void self.showPreloader(!1);default:WPGMZA.Geocoder.FAIL;return alert(WPGMZA.localized_strings.geocode_fail),void self.showPreloader(!1)}var result=results[0];$(self.element).find("[data-ajax-name='lat']").val(result.lat),$(self.element).find("[data-ajax-name='lng']").val(result.lng),WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments)}),WPGMZA.mapEditPage.map.resetBounds()}}),jQuery(function($){WPGMZA.CirclePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.CirclePanel,WPGMZA.FeaturePanel),WPGMZA.CirclePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProCirclePanel:WPGMZA.CirclePanel)(element,mapEditPage)},WPGMZA.CirclePanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getCenter().toString()),$(this.element).find("[data-ajax-name='radius']").val(this.feature.getRadius())},WPGMZA.CirclePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.CirclePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.CirclePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}});var wpgmza_autoCompleteDisabled=!1;jQuery(function($){"map-edit"==WPGMZA.currentPage&&(WPGMZA.MapEditPage=function(){var self=this,element=document.body,ajaxRequest=(WPGMZA.EventDispatcher.call(this),WPGMZA.settings.internalEngine&&!WPGMZA.InternalEngine.isLegacy()||$("#wpgmaps_options fieldset").wrapInner("<div class='wpgmza-flex'></div>"),this.themePanel=new WPGMZA.ThemePanel,this.themeEditor=new WPGMZA.ThemeEditor,this.sidebarGroupings=new WPGMZA.SidebarGroupings,this.map=WPGMZA.maps[0],(!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.1.0")>=WPGMZA.Version.EQUAL_TO)&&(this.drawingManager=WPGMZA.DrawingManager.createInstance(this.map)),this.initDataTables(),this.initFeaturePanels(),this.initJQueryUIControls(),"en"!==WPGMZA.locale&&(WPGMZA.InternalEngine.isLegacy()?$("#datatable_no_result_message,#datatable_search_string").parent():$("#datatable_no_result_message,#datatable_search_string")).parent().hide(),$("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,self.map)}),$('#wpgmza-map-edit-page input[type="color"]').each(function(){var buttonClass=WPGMZA.InternalEngine.isLegacy()?"button-secondary":"wpgmza-button";$("<div class='"+buttonClass+" wpgmza-paste-color-btn' title='Paste a HEX color code'><i class='fa fa-clipboard' aria-hidden='true'></i></div>").insertAfter(this)}),jQuery("body").on("click",".wpgmza_ac_result",function(e){var index=jQuery(this).data("id"),lat=jQuery(this).data("lat"),lng=jQuery(this).data("lng"),index=jQuery("#wpgmza_item_address_"+index).html();jQuery("input[name='lat']").val(lat),jQuery("input[name='lng']").val(lng),jQuery("#wpgmza_add_address_map_editor").val(index),jQuery("#wpgmza_autocomplete_search_results").hide()}),jQuery("body").on("click",".wpgmza-paste-color-btn",function(){try{var colorBtn=$(this);if(!navigator||!navigator.clipboard||!navigator.clipboard.readText)return;navigator.clipboard.readText().then(function(textcopy){colorBtn.parent().find('input[type="color"]').val("#"+textcopy.replace("#","").trim())}).catch(function(err){console.error("WP Go Maps: Could not access clipboard",err)})}catch(c_ex){}}),jQuery("body").on("focusout","#wpgmza_add_address_map_editor",function(e){setTimeout(function(){jQuery("#wpgmza_autocomplete_search_results").fadeOut("slow")},500)}),!1),wpgmzaAjaxTimeout=!1,wpgmzaStartTyping=!1,wpgmzaKeyStrokeCount=1,wpgmzaAvgTimeBetweenStrokes=300,wpgmzaTotalTimeForKeyStrokes=0,wpgmzaTmp="",wpgmzaIdentifiedTypingSpeed=!1;$("body").on("keypress",".wpgmza-address",function(e){if("wpgmza_add_address_map_editor"==this.id&&!wpgmza_autoCompleteDisabled){var wpgmza_apikey=!1;if(WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey&&(wpgmza_apikey=WPGMZA_localized_data.settings.googleMapsApiKey),"Escape"===e.key||"Alt"===e.key||"Control"===e.key||"Option"===e.key||"Shift"===e.key||"ArrowLeft"===e.key||"ArrowRight"===e.key||"ArrowUp"===e.key||"ArrowDown"===e.key)$("#wpgmza_autocomplete_search_results").hide();else{if(!wpgmzaIdentifiedTypingSpeed)return e=new Date,clearTimeout(wpgmzaTmp),wpgmzaTmp=setTimeout(function(){wpgmzaStartTyping=!1,wpgmzaAvgTimeBetweenStrokes=300,wpgmzaTotalTimeForKeyStrokes=0},1500),wpgmzaStartTyping?1!=wpgmzaKeyStrokeCount&&(wpgmzaCurrentTimeBetweenStrokes=e.getTime()-wpgmzaStartTyping,wpgmzaTotalTimeForKeyStrokes+=wpgmzaCurrentTimeBetweenStrokes,wpgmzaAvgTimeBetweenStrokes=wpgmzaTotalTimeForKeyStrokes/(wpgmzaKeyStrokeCount-1),wpgmzaStartTyping=e.getTime(),3<=wpgmzaKeyStrokeCount&&(wpgmzaIdentifiedTypingSpeed=wpgmzaAvgTimeBetweenStrokes)):wpgmzaStartTyping=e.getTime(),void wpgmzaKeyStrokeCount++;clearTimeout(wpgmzaAjaxTimeout),$("#wpgmza_autocomplete_search_results").html('<div class="wpgmza-pad-5">Searching...</div>'),$("#wpgmza_autocomplete_search_results").show();e=jQuery(this).val();if(""!==e){!1!==ajaxRequest&&ajaxRequest.abort();var domain=window.location.hostname;if("localhost"===domain)try{var paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(domain+="-"+paths[1])}catch(ex){}var wpgmza_api_url="",wpgmza_api_url=wpgmza_apikey?"https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+e+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash+"&k="+wpgmza_apikey:"https://wpgmaps.us-3.evennode.com/api/v1/autocomplete?s="+e+"&d="+domain+"&hash="+WPGMZA_localized_data.siteHash;WPGMZA&&WPGMZA.settings&&WPGMZA.settings.engine&&(wpgmza_api_url+="&engine="+WPGMZA.settings.engine),wpgmzaAjaxTimeout=setTimeout(function(){ajaxRequest=$.ajax({url:wpgmza_api_url,type:"GET",dataType:"json",success:function(results){try{if(void 0!==results.error)"error1"==results.error?($("#wpgmza_autoc_disabled").html(WPGMZA.localized_strings.cloud_api_key_error_1),$("#wpgmza_autoc_disabled").fadeIn("slow"),$("#wpgmza_autocomplete_search_results").hide(),wpgmza_autoCompleteDisabled=!0):console.error(results.error);else{$("#wpgmza_autocomplete_search_results").html("");var i,html="";for(i in results)html+="<div class='wpgmza_ac_result "+(""===html?"":"border-top")+"' data-id='"+i+"' data-lat='"+results[i].lat+"' data-lng='"+results[i].lng+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i].icon+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>"+results[i].place_name+"</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>"+results[i].formatted_address+"</span></div></div></div>";""==html&&(html="<div class='p-2 text-center'><small>No results found...</small></div>"),$("#wpgmza_autocomplete_search_results").html(html),$("#wpgmza_autocomplete_search_results").show()}}catch(exception){console.error("WP Go Maps Plugin: There was an error returning the list of places for your search")}},error:function(){$("#wpgmza_autocomplete_search_results").hide()}})},2*wpgmzaIdentifiedTypingSpeed)}else $("#wpgmza_autocomplete_search_results").hide()}}}),$("#wpgmza_map_height_type").on("change",function(event){self.onMapHeightTypeChange(event)}),$("#advanced-markers .wpgmza-feature-drawing-instructions").remove(),$("[data-search-area='auto']").hide(),$(document.body).on("click","[data-wpgmza-admin-marker-datatable] input[name='mark']",function(event){self.onShiftClick(event)}),$("#wpgmza_map_type").on("change",function(event){self.onMapTypeChanged(event)}),$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")}),this.on("markerupdated",function(event){self.onMarkerUpdated(event)}),this.map&&(this.map.on("zoomchanged",function(event){self.onZoomChanged(event)}),this.map.on("boundschanged",function(event){self.onBoundsChanged(event)}),this.map.on("rightclick",function(event){self.onRightClick(event)})),$(element).on("click",".wpgmza_poly_del_btn",function(event){self.onDeletePolygon(event)}),$(element).on("click",".wpgmza_polyline_del_btn",function(event){self.onDeletePolyline(event)}),$(element).on("click",".wpgmza_dataset_del_btn",function(evevnt){self.onDeleteHeatmap(event)}),$(element).on("click",".wpgmza_circle_del_btn",function(event){self.onDeleteCircle(event)}),$(element).on("click",".wpgmza_rectangle_del_btn",function(event){self.onDeleteRectangle(event)}),$(element).on("click","#wpgmza-open-advanced-theme-data",function(event){event.preventDefault(),$(".wpgmza_theme_data_container").toggleClass("wpgmza_hidden")}),$(element).on("click",".wpgmza-shortcode-button",function(event){event.preventDefault(),$(element).find(".wpgmza-shortcode-description").addClass("wpgmza-hidden");const nearestRow=$(this).closest(".wpgmza-row");if(nearestRow.length){const nearestHint=nearestRow.next(".wpgmza-shortcode-description");nearestHint.length&&nearestHint.removeClass("wpgmza-hidden")}event=$(this).text();if(event.length){const temp=jQuery("<input>");$(document.body).append(temp),temp.val(event).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Shortcode Copied")}})},WPGMZA.extend(WPGMZA.MapEditPage,WPGMZA.EventDispatcher),WPGMZA.MapEditPage.createInstance=function(){return new(WPGMZA.isProVersion()&&WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?WPGMZA.ProMapEditPage:WPGMZA.MapEditPage)},WPGMZA.MapEditPage.prototype.initDataTables=function(){var self=this;$("[data-wpgmza-datatable][data-wpgmza-rest-api-route]").each(function(index,el){var featureType=$(el).attr("data-wpgmza-feature-type");self[featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)})},WPGMZA.MapEditPage.prototype.initFeaturePanels=function(){var self=this;$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").each(function(index,el){var featurePanelElement=$(el).find(".wpgmza-feature-panel-container > *"),el=$(el).attr("data-wpgmza-feature-type"),panelClassName=WPGMZA.capitalizeWords(el)+"Panel",panelClassName=WPGMZA[panelClassName].createInstance(featurePanelElement,self);self[el+"Panel"]=panelClassName})},WPGMZA.MapEditPage.prototype.initJQueryUIControls=function(){var mapContainer,self=this;$("#wpgmaps_tabs").tabs(),mapContainer=$("#wpgmza-map-container").detach(),$("#wpgmaps_tabs_markers").tabs(),$(".map_wrapper").prepend(mapContainer),$("#slider-range-max").slider({range:"max",min:1,max:21,value:$("input[name='map_start_zoom']").val(),slide:function(event,ui){$("input[name='map_start_zoom']").val(ui.value),self.map.setZoom(ui.value)}})},WPGMZA.MapEditPage.prototype.onShiftClick=function(event){var checkbox=event.currentTarget,checkbox=jQuery(checkbox).closest("tr");if(this.lastSelectedRow&&event.shiftKey){var event=this.lastSelectedRow.index(),currIndex=checkbox.index(),startIndex=Math.min(event,currIndex),endIndex=Math.max(event,currIndex),rows=jQuery("[data-wpgmza-admin-marker-datatable] tbody>tr");jQuery("[data-wpgmza-admin-marker-datatable] input[name='mark']").prop("checked",!1);for(var i=startIndex;i<=endIndex;i++)jQuery(rows[i]).find("input[name='mark']").prop("checked",!0)}this.lastSelectedRow=checkbox},WPGMZA.MapEditPage.prototype.onMapTypeChanged=function(event){if("open-layers"!=WPGMZA.settings.engine){var mapTypeId;switch(event.target.value){case"2":mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"3":mapTypeId=google.maps.MapTypeId.HYBRID;break;case"4":mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:mapTypeId=google.maps.MapTypeId.ROADMAP}this.map.setOptions({mapTypeId:mapTypeId})}},WPGMZA.MapEditPage.prototype.onMarkerUpdated=function(event){this.markerDataTable.reload()},WPGMZA.MapEditPage.prototype.onZoomChanged=function(event){$(".map_start_zoom").val(this.map.getZoom())},WPGMZA.MapEditPage.prototype.onBoundsChanged=function(event){var location=this.map.getCenter();$("#wpgmza_start_location").val(location.lat+","+location.lng),$("input[name='map_start_lat']").val(location.lat),$("input[name='map_start_lng']").val(location.lng),$("#wpgmza_start_zoom").val(this.map.getZoom()),$("#wpgmaps_save_reminder").show()},WPGMZA.MapEditPage.prototype.onMapHeightTypeChange=function(event){"%"==event.target.value&&$("#wpgmza_height_warning").show()},WPGMZA.MapEditPage.prototype.onRightClick=function(event){var marker,self=this;this.drawingManager&&this.drawingManager.mode!=WPGMZA.DrawingManager.MODE_MARKER||(this.rightClickMarker||(this.rightClickMarker=WPGMZA.Marker.createInstance({draggable:!0}),this.rightClickMarker.on("dragend",function(event){$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng)}),this.map.on("click",function(event){self.rightClickMarker.setMap(null),$(".wpgmza-marker-panel [data-ajax-name='address']").val("")})),(marker=this.rightClickMarker).setPosition(event.latLng),marker.setMap(this.map),$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng))},WPGMZA.MapEditPage.prototype.onDeletePolygon=function(event){var cur_id=parseInt($(this).attr("id")),data={action:"delete_poly",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_Path[cur_id].setMap(null),delete WPGM_PathData[cur_id],delete WPGM_Path[cur_id],$("#wpgmza_poly_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeletePolyline=function(event){var cur_id=$(this).attr("id"),data={action:"delete_polyline",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_PathLine[cur_id].setMap(null),delete WPGM_PathLineData[cur_id],delete WPGM_PathLine[cur_id],$("#wpgmza_polyline_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteHeatmap=function(event){var cur_id=$(this).attr("id"),data={action:"delete_dataset",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){heatmap[cur_id].setMap(null),delete heatmap[cur_id],$("#wpgmza_heatmap_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteCircle=function(event){var circle_id=$(this).attr("id"),data={action:"delete_circle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,circle_id:circle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-5 table").replaceWith(response),circle_array.forEach(function(circle){if(circle.id==circle_id)return circle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.onDeleteRectangle=function(event){var rectangle_id=$(this).attr("id"),data={action:"delete_rectangle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,rectangle_id:rectangle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-6 table").replaceWith(response),rectangle_array.forEach(function(rectangle){if(rectangle.id==rectangle_id)return rectangle.setMap(null),!1})})},$(document).ready(function(event){WPGMZA.mapEditPage=WPGMZA.MapEditPage.createInstance()}))}),jQuery(function($){WPGMZA.PointlabelPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PointlabelPanel,WPGMZA.FeaturePanel),WPGMZA.PointlabelPanel.createInstance=function(element,mapEditPage){return new WPGMZA.PointlabelPanel(element,mapEditPage)},WPGMZA.PointlabelPanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getPosition().toString())},WPGMZA.PointlabelPanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.PointlabelPanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.PointlabelPanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){WPGMZA.PolygonPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolygonPanel,WPGMZA.FeaturePanel),WPGMZA.PolygonPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolygonPanel:WPGMZA.PolygonPanel)(element,mapEditPage)},Object.defineProperty(WPGMZA.PolygonPanel.prototype,"drawingManagerCompleteEvent",{get:function(){return"polygonclosed"}})}),jQuery(function($){WPGMZA.PolylinePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolylinePanel,WPGMZA.FeaturePanel),WPGMZA.PolylinePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolylinePanel:WPGMZA.PolylinePanel)(element,mapEditPage)}}),jQuery(function($){WPGMZA.RectanglePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.RectanglePanel,WPGMZA.FeaturePanel),WPGMZA.RectanglePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProRectanglePanel:WPGMZA.RectanglePanel)(element,mapEditPage)},WPGMZA.RectanglePanel.prototype.updateFields=function(){var bounds=this.feature.getBounds();bounds.north&&bounds.west&&bounds.south&&bounds.east&&($(this.element).find("[data-ajax-name='cornerA']").val(bounds.north+", "+bounds.west),$(this.element).find("[data-ajax-name='cornerB']").val(bounds.south+", "+bounds.east))},WPGMZA.RectanglePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.RectanglePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.RectanglePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){var center,geom;Parent.call(this,options,olFeature),options=options||{},olFeature?(olFeature=olFeature.getGeometry(),center=ol.proj.toLonLat(olFeature.getCenter()),geom=olFeature,options.center=new WPGMZA.LatLng(center[1],center[0]),options.radius=olFeature.getRadius()/1e3):geom=new ol.geom.Circle(ol.proj.fromLonLat([parseFloat(options.center.lng),parseFloat(options.center.lat)]),1e3*options.radius),this.layer=new ol.layer.Vector({source:new ol.source.Vector}),this.olFeature=new ol.Feature({geometry:geom}),this.layer.getSource().addFeature(this.olFeature),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaCircle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)},WPGMZA.OLCircle.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olFeature.getGeometry().getCenter());return new WPGMZA.LatLng({lat:lonLat[1],lng:lonLat[0]})},WPGMZA.OLCircle.prototype.recreate=function(){var radius,y,x;this.olFeature&&(this.layer.getSource().removeFeature(this.olFeature),delete this.olFeature),this.center&&this.radius&&(radius=1e3*parseFloat(this.radius),x=this.center.lng,y=this.center.lat,x=ol.geom.Polygon.circular([x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857"),this.olFeature=new ol.Feature(x),this.layer.getSource().addFeature(this.olFeature))},WPGMZA.OLCircle.prototype.setVisible=function(visible){this.layer.setVisible(!!visible)},WPGMZA.OLCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.recreate()},WPGMZA.OLCircle.prototype.getRadius=function(){return this.layer.getSource().getFeatures()[0].getGeometry().getRadius()/1e3},WPGMZA.OLCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments)},WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLDrawingManager=function(map){WPGMZA.DrawingManager.call(this,map),this.source=new ol.source.Vector({wrapX:!1}),this.layer=new ol.layer.Vector({source:this.source})},WPGMZA.OLDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.OLDrawingManager.prototype.constructor=WPGMZA.OLDrawingManager,WPGMZA.OLDrawingManager.prototype.setOptions=function(options){var params={};options.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(options.strokeColor,options.strokeOpacity)})),options.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(options.fillColor,options.fillOpacity)})),this.layer.setStyle(new ol.style.Style(params))},WPGMZA.OLDrawingManager.prototype.setDrawingMode=function(mode){var type,endEventType,self=this;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),this.interaction&&(this.map.olMap.removeInteraction(this.interaction),this.interaction=null),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:return;case WPGMZA.DrawingManager.MODE_POLYGON:type="Polygon",endEventType="polygonclosed";break;case WPGMZA.DrawingManager.MODE_POLYLINE:type="LineString",endEventType="polylinecomplete";break;case WPGMZA.DrawingManager.MODE_CIRCLE:type="Circle",endEventType="circlecomplete";break;case WPGMZA.DrawingManager.MODE_RECTANGLE:type="Circle",endEventType="rectanglecomplete";break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:return;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:type="Circle",endEventType="imageoverlaycomplete";break;default:throw new Error("Invalid drawing mode")}WPGMZA.mapEditPage&&WPGMZA.mapEditPage.selectInteraction&&WPGMZA.mapEditPage.map.olMap.removeInteraction(WPGMZA.mapEditPage.selectInteraction);var options={source:this.source,type:type};mode!=WPGMZA.DrawingManager.MODE_RECTANGLE&&mode!=WPGMZA.DrawingManager.MODE_IMAGEOVERLAY||(options.geometryFunction=ol.interaction.Draw.createBox()),this.interaction=new ol.interaction.Draw(options),this.interaction.on("drawend",function(event){if(endEventType){var WPGMZAEvent=new WPGMZA.Event(endEventType);switch(mode){case WPGMZA.DrawingManager.MODE_POLYGON:WPGMZAEvent.enginePolygon=event.feature;break;case WPGMZA.DrawingManager.MODE_POLYLINE:WPGMZAEvent.enginePolyline=event.feature;break;case WPGMZA.DrawingManager.MODE_CIRCLE:WPGMZAEvent.engineCircle=event.feature;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:WPGMZAEvent.engineRectangle=event.feature;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:WPGMZAEvent.engineImageoverlay={engineRectangle:event.feature};break;default:throw new Error("Drawing mode not implemented")}self.dispatchEvent(WPGMZAEvent)}}),this.map.olMap.addInteraction(this.interaction)}}),jQuery(function($){WPGMZA.OLFeature=function(options){WPGMZA.assertInstangeOf(this,"OLFeature"),WPGMZA.Feature.apply(this,arguments)},WPGMZA.extend(WPGMZA.OLFeature,WPGMZA.Feature),WPGMZA.OLFeature.getOLStyle=function(options){var translated={};if(!options)return new ol.style.Style;var name,opacity,weight,map={fillcolor:"fillColor",opacity:"fillOpacity",linecolor:"strokeColor",lineopacity:"strokeOpacity",linethickness:"strokeWeight"};for(name in options=$.extend({},options))name in map&&(options[map[name]]=options[name]);return options.strokeColor&&(weight=opacity=1,"strokeOpacity"in options&&(opacity=options.strokeOpacity),"strokeWeight"in options&&(weight=options.strokeWeight),translated.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToString(options.strokeColor,opacity),width:weight})),options.fillColor&&(opacity=1,"fillOpacity"in options&&(opacity=options.fillOpacity),weight=WPGMZA.hexOpacityToString(options.fillColor,opacity),translated.fill=new ol.style.Fill({color:weight})),new ol.style.Style(translated)},WPGMZA.OLFeature.setInteractionsOnFeature=function(feature,enable){enable?feature.modifyInteraction||(feature.snapInteraction=new ol.interaction.Snap({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.snapInteraction),feature.modifyInteraction=new ol.interaction.Modify({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.modifyInteraction),feature.modifyInteraction.on("modifyend",function(event){feature.trigger("change")})):feature.modifyInteraction&&(feature.map&&(feature.map.olMap.removeInteraction(feature.snapInteraction),feature.map.olMap.removeInteraction(feature.modifyInteraction)),delete feature.snapInteraction,delete feature.modifyInteraction)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(query,callback){WPGMZA.restAPI.call("/geocode-cache",{data:{query:JSON.stringify(query)},success:function(response,xhr,status){response.lng=response.lon,callback(response)},useCompressedPathVariable:!0})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.componentRestrictions&&options.componentRestrictions.country?data.countrycodes=options.componentRestrictions.country:options.country&&(data.countrycodes=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(query,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:JSON.stringify(query),response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.clearCache=function(callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_clear_nominatim_cache"},method:"POST",success:function(response){callback(response)}})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var latLng,finish,location,self=this;if(!options)throw new Error("Invalid options");if(WPGMZA.LatLng.REGEXP.test(options.address))return latLng=WPGMZA.LatLng.fromString(options.address),void callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS);if(options.location&&(options.latLng=new WPGMZA.LatLng(options.location)),options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].bounds=new WPGMZA.LatLngBounds(new WPGMZA.LatLng({lat:response[i].boundingbox[1],lng:response[i].boundingbox[2]}),new WPGMZA.LatLng({lat:response[i].boundingbox[0],lng:response[i].boundingbox[3]})),response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;options.fullResult&&(address=response[0]),callback([address],status)}}var query={location:location,options:options};this.getResponseFromCache(query,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status==WPGMZA.Geocoder.FAIL?callback(null,WPGMZA.Geocoder.FAIL):0==response.length?callback([],WPGMZA.Geocoder.ZERO_RESULTS):(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(query,response))})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(feature){var self=this;Parent.call(this,feature),this.element=$("<div class='wpgmza-infowindow ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,Object.defineProperty(WPGMZA.OLInfoWindow.prototype,"isPanIntoViewAllowed",{get:function(){return!0}}),WPGMZA.OLInfoWindow.prototype.open=function(map,feature){var self=this,latLng=feature.getPosition();return!!latLng&&(!!Parent.prototype.open.call(this,map,feature)&&(this.parent=map,this.overlay&&this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element,stopEvent:!0,insertFirst:!0}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.feature.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.setContent(this.content),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&WPGMZA.getImageDimensions(feature.getIcon(),function(size){$(self.element).css({left:Math.round(size.width/2)+"px"})}),this.autoResize(),this.trigger("infowindowopen"),void this.trigger("domready")))},WPGMZA.OLInfoWindow.prototype.close=function(event){this.overlay&&($(this.element).hide(),WPGMZA.InfoWindow.prototype.close.call(this),this.trigger("infowindowclose"),this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html;var eaBtn=WPGMZA.isProVersion()?"":this.addEditButton();$(this.element).html(eaBtn+"<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})},WPGMZA.OLInfoWindow.prototype.onOpen=function(){var self=this,imgs=$(this.element).find("img"),numImages=imgs.length,numImagesLoaded=0;WPGMZA.InfoWindow.prototype.onOpen.apply(this,arguments);let canAutoPan=!0;function inside(el,viewport){el=$(el)[0].getBoundingClientRect(),viewport=$(viewport)[0].getBoundingClientRect();return el.left>=viewport.left&&el.left<=viewport.right&&el.right<=viewport.right&&el.right>=viewport.left&&el.top>=viewport.top&&el.top<=viewport.bottom&&el.bottom<=viewport.bottom&&el.bottom>=viewport.top}function panIntoView(){var height=$(self.element).height();self.feature.map.animateNudge(0,.45*-(height+180),self.feature.getPosition())}void 0!==this.feature._osDisableAutoPan&&this.feature._osDisableAutoPan&&(canAutoPan=!1,this.feature._osDisableAutoPan=!1),this.isPanIntoViewAllowed&&canAutoPan&&(imgs.each(function(index,el){el.onload=function(){++numImagesLoaded!=numImages||inside(self.element,self.feature.map.element)||panIntoView()}}),0!=numImages||inside(self.element,self.feature.map.element)||panIntoView())},WPGMZA.OLInfoWindow.prototype.autoResize=function(){var mapWidth,mapHeight;$(this.element).css("max-height","none"),$(this.feature.map.element).length&&(mapHeight=$(this.feature.map.element).height(),mapWidth=$(this.feature.map.element).width(),mapHeight=mapHeight-180,$(this.element).height()>mapHeight&&$(this.element).css("max-height",mapHeight+"px"),mapHeight=648<mapWidth?648:mapWidth-120,$(this.element).width()>mapHeight&&$(this.element).css("max-width",mapHeight+"px"))}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this,options=(Parent.call(this,element),this.setOptions(options),this.settings.toOLViewOptions());if($(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:this.getTileView(options)}),this.customTileMode&&!ol.extent.containsCoordinate(this.customTileModeExtent,this.olMap.getView().getCenter())){const view=this.olMap.getView();view.setCenter(ol.extent.getCenter(this.customTileModeExtent)),this.wrapLongitude(),this.onBoundsChanged()}function isSettingDisabled(value){return"yes"===value||!!value}this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_draggable)):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_clickzoom)):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_scroll))},this),"greedy"!=this.settings.wpgmza_force_greedy_gestures&&"yes"!=this.settings.wpgmza_force_greedy_gestures&&1!=this.settings.wpgmza_force_greedy_gestures&&(this.gestureOverlay=$("<div class='wpgmza-gesture-overlay'></div>"),this.gestureOverlayTimeoutID=null,WPGMZA.isTouchDevice()?(this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&self.olMap.removeInteraction(interaction)}),this.olMap.addInteraction(new ol.interaction.DragPan({condition:function(olBrowserEvent){let allowed=!1;olBrowserEvent=olBrowserEvent.originalEvent;return olBrowserEvent instanceof PointerEvent?this.targetPointers&&this.targetPointers.length&&(allowed=2==this.targetPointers.length):olBrowserEvent instanceof TouchEvent&&olBrowserEvent.touches&&olBrowserEvent.touches.length&&(allowed=2==olBrowserEvent.touches.length),allowed||self.showGestureOverlay(),allowed}})),this.gestureOverlay.text(WPGMZA.localized_strings.use_two_fingers)):(this.olMap.on("wheel",function(event){if(!ol.events.condition.platformModifierKeyOnly(event))return self.showGestureOverlay(),event.originalEvent.preventDefault(),!1}),this.gestureOverlay.text(WPGMZA.localized_strings.use_ctrl_scroll_to_zoom))),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&1==WPGMZA.settings.wpgmza_settings_map_zoom&&self.olMap.removeControl(control)},this),isSettingDisabled(WPGMZA.settings.wpgmza_settings_map_full_screen_control)||this.olMap.addControl(new ol.control.FullScreen),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("click",function(event){var event=self.olMap.getFeaturesAtPixel(event.pixel);event&&event.length&&((event=event[0].wpgmzaMarker)&&(event.trigger("click"),event.trigger("select")))})),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),setTimeout(function(){self.onIdle()},10)}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged(),this._mouseoverNativeFeatures=[],this.olMap.on("pointermove",function(event){if(!event.dragging){try{var featuresUnderPixel=event.target.getFeaturesAtPixel(event.pixel)}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),-1==self._mouseoverNativeFeatures.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseover"),self._mouseoverNativeFeatures.push(nativeFeature)));for(i=self._mouseoverNativeFeatures.length-1;0<=i;i--)nativeFeature=self._mouseoverNativeFeatures[i],-1==nativeFeaturesUnderPixel.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseout"),self._mouseoverNativeFeatures.splice(i,1))}}),$(this.element).on("click contextmenu",function(event){event=event||window.event;var isRight,latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1==event.which||1==event.button){if(self.isBeingDragged)return;if($(event.target).closest(".ol-marker").length)return;try{var featuresUnderPixel=self.olMap.getFeaturesAtPixel([event.offsetX,event.offsetY])}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),nativeFeature.trigger("click"));return 0<featuresUnderPixel.length?void 0:void self.trigger({type:"click",latLng:latLng})}if(isRight)return self.onRightClick(event)}),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){var options={};if(WPGMZA.settings.tile_server_url&&(options.url=WPGMZA.settings.tile_server_url,"custom_override"===WPGMZA.settings.tile_server_url&&(WPGMZA.settings.tile_server_url_override&&""!==WPGMZA.settings.tile_server_url_override.trim()?options.url=WPGMZA.settings.tile_server_url_override.trim():options.url="https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"),WPGMZA.settings.open_layers_api_key&&""!==WPGMZA.settings.open_layers_api_key&&(options.url+="?apikey="+WPGMZA.settings.open_layers_api_key.trim())),this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height){var width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height);if(this.settings.custom_tile_image)return width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),new ol.layer.Image({source:new ol.source.ImageStatic({attributions:this.settings.custom_tile_image_attribution||"©",url:this.settings.custom_tile_image,projection:height,imageExtent:width})})}return new ol.layer.Tile({source:new ol.source.OSM(options)})},WPGMZA.OLMap.prototype.getTileView=function(viewOptions){var width,height;return this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height&&(width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height),this.settings.custom_tile_image&&(width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),viewOptions.projection=height,this.customTileModeExtent=width,this.customTileMode=!0)),new ol.View(viewOptions)},WPGMZA.OLMap.prototype.wrapLongitude=function(){var transformed=ol.proj.transform(this.olMap.getView().getCenter(),"EPSG:3857","EPSG:4326"),transformed={lat:transformed[1],lng:transformed[0]};-180<=transformed.lng&&transformed.lng<=180||(transformed.lng=transformed.lng-360*Math.floor(transformed.lng/360),180<transformed.lng&&(transformed.lng-=360),this.setCenter(transformed))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),nativeBounds=new WPGMZA.LatLngBounds,topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bounds=ol.proj.toLonLat([bounds[2],bounds[3]]);return nativeBounds.north=topLeft[1],nativeBounds.south=bounds[1],nativeBounds.west=topLeft[0],nativeBounds.east=bounds[0],nativeBounds},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=this.olMap.getView(),southWest=ol.extent.boundingExtent([ol.proj.fromLonLat([parseFloat(southWest.lng),parseFloat(southWest.lat)]),ol.proj.fromLonLat([parseFloat(northEast.lng),parseFloat(northEast.lat)])]);bounds.fit(southWest,this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng,zoom){var view=this.olMap.getView(),options={center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500};1<arguments.length&&(options.zoom=parseInt(zoom)),view.animate(options)},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.addOverlay(marker.overlay):(this.markerLayer.getSource().addFeature(marker.feature),marker.featureInSource=!0),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.removeOverlay(marker.overlay):(this.markerLayer.getSource().removeFeature(marker.feature),marker.featureInSource=!1),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.addRectangle=function(rectangle){this.olMap.addLayer(rectangle.layer),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.removeRectangle=function(rectangle){this.olMap.removeLayer(rectangle.layer),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));x=this.olMap.getCoordinateFromPixel([x,y]);if(!x)return{x:null,y:null};y=ol.proj.toLonLat(x);return{lat:y[1],lng:y[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){latLng=ol.proj.fromLonLat([latLng.lng,latLng.lat]),latLng=this.olMap.getPixelFromCoordinate(latLng);return latLng?{x:latLng[0],y:latLng[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){value?(this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer)):this.bicycleLayer&&this.olMap.removeLayer(this.bicycleLayer)},WPGMZA.OLMap.prototype.showGestureOverlay=function(){var self=this;clearTimeout(this.gestureOverlayTimeoutID),$(this.gestureOverlay).stop().animate({opacity:"100"}),$(this.element).append(this.gestureOverlay),$(this.gestureOverlay).css({"line-height":$(this.element).height()+"px",opacity:"1.0"}),$(this.gestureOverlay).show(),this.gestureOverlayTimeoutID=setTimeout(function(){self.gestureOverlay.fadeOut(2e3)},2e3)},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,parentOffset=event.pageY-parentOffset.top,relX=this.pixelsToLatLng(relX,parentOffset);return this.trigger({type:"rightclick",latLng:relX}),$(this.element).trigger({type:"rightclick",latLng:relX}),event.preventDefault(),!1},WPGMZA.OLMap.prototype.enableAllInteractions=function(){this.olMap.getInteractions().forEach(function(interaction){(interaction instanceof ol.interaction.DragPan||interaction instanceof ol.interaction.DoubleClickZoom||interaction instanceof ol.interaction.MouseWheelZoom)&&interaction.setActive(!0)},this)}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toLatLngLiteral():options[name]instanceof WPGMZA.Map||(settings[name]=options[name]);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT){var img=$("<img alt=''/>")[0];img.onload=function(event){self.updateElementHeight(),self.map&&self.map.olMap.updateSize()},img.src=WPGMZA.defaultMarkerIcon,this.element=$("<div class='ol-marker'></div>")[0],this.element.appendChild(img),this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),$(this.element).on("mouseout",function(event){self.dispatchEvent("mouseout")}),this.overlay=new ol.Overlay({element:this.element,position:origin,positioning:"bottom-center",stopEvent:!1}),this.overlay.setPosition(origin),this.animation?this.setAnimation(this.animation):this.anim&&this.setAnimation(this.anim),options&&options.draggable&&this.setDraggable(!0),this.rebindClickListener()}else{if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)throw new Error("Invalid marker render mode");this.feature=new ol.Feature({geometry:new ol.geom.Point(origin)}),this.feature.setStyle(this.getVectorLayerStyle()),(this.feature.wpgmzaMarker=this).feature.wpgmzaFeature=this}this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT="element",WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER="vector",WPGMZA.OLMarker.renderMode=WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT,"open-layers"==WPGMZA.settings.engine&&WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(WPGMZA.OLMarker.defaultVectorLayerStyle=new ol.style.Style({image:new ol.style.Icon({anchor:[.5,1],src:WPGMZA.defaultMarkerIcon})}),WPGMZA.OLMarker.hiddenVectorLayerStyle=new ol.style.Style({})),WPGMZA.OLMarker.prototype.getVectorLayerStyle=function(){return this.vectorLayerStyle||WPGMZA.OLMarker.defaultVectorLayerStyle},WPGMZA.OLMarker.prototype.updateElementHeight=function(height,calledOnFocus){var self=this;0!=(height=height||$(this.element).find("img").height())||calledOnFocus||$(window).one("focus",function(event){self.updateElementHeight(!1,!0)}),$(this.element).css({height:height+"px"})},WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker labels are not currently supported in Vector Layer rendering mode"):label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.getVisible=function(visible){if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)return"none"!=this.overlay.getElement().style.display},WPGMZA.OLMarker.prototype.setVisible=function(visible){var style;Parent.prototype.setVisible.call(this,visible),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?visible?(style=this.getVectorLayerStyle(),this.feature.setStyle(style)):this.feature.setStyle(null):this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);latLng=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?this.feature.setGeometry(new ol.geom.Point(latLng)):this.overlay.setPosition(latLng)},WPGMZA.OLMarker.prototype.updateOffset=function(x,y){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker offset is not currently supported in Vector Layer rendering mode"):(x=this._offset.x,y=this._offset.y,this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px")},WPGMZA.OLMarker.prototype.setAnimation=function(anim){if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker animation is not currently supported in Vector Layer rendering mode");else switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker dragging is not currently supported in Vector Layer rendering mode");else if(draggable){draggable={disabled:!1};this.jQueryDraggableInitialized||(draggable.start=function(event){self.onDragStart(event)},draggable.stop=function(event){self.onDragEnd(event)});try{$(this.element).draggable(draggable),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}catch(ex){}}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.setOpacity=function(opacity){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker opacity is not currently supported in Vector Layer rendering mode"):$(this.element).css({opacity:opacity})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0,this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!1)})},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset_top=parseFloat($(this.element).css("top").match(/-?\d+/)[0]),offset_left=parseFloat($(this.element).css("left").match(/-?\d+/)[0]),currentLatLng=($(this.element).css({top:"0px",left:"0px"}),this.getPosition()),currentLatLng=this.map.latLngToPixels(currentLatLng),offset_left={x:currentLatLng.x+offset_left,y:currentLatLng.y+offset_top},currentLatLng=this.map.pixelsToLatLng(offset_left);this.setPosition(currentLatLng),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:currentLatLng}),this.trigger("change"),"yes"!=this.map.settings.wpgmza_settings_map_draggable&&this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!0)})},WPGMZA.OLMarker.prototype.onElementClick=function(event){event=event.currentTarget.wpgmzaMarker;event.isBeingDragged||(event.dispatchEvent("click"),event.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,olViewportElement=$(this.map.element).children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",olViewportElement.find(".ol-layers .ol-layer:first-child").prepend(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center),km=(outer.moveByDistance(km,90),this.map.latLngToPixels(center)),center=this.map.latLngToPixels(outer);return Math.abs(center.x-km.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?$(".wpgmza_map[data-map-id='"+map_id+"']"):$("#wpgmza_map")).append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent=WPGMZA.Pointlabel;WPGMZA.OLPointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),this.updateNativeFeature()},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.OLPointlabel,Parent),WPGMZA.OLPointlabel.prototype.updateNativeFeature=function(){var options=this.getScalarProperties();options.name&&this.textFeature.setText(options.name),this.textFeature.refresh()}}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(options,olFeature){if(Parent.call(this,options,olFeature),olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(options&&options.polydata)for(var paths=this.parseGeometry(options.polydata),i=0;i<=paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i%paths.length].lng),parseFloat(paths[i%paths.length].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getGeometry=function(){for(var coordinates=this.olFeature.getGeometry().getCoordinates()[0],result=[],i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolygon.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(options,olFeature){if(WPGMZA.Polyline.call(this,options),olFeature)this.olFeature=olFeature;else{var coordinates=[];if(options&&options.polydata)for(var path=this.parseGeometry(options.polydata),i=0;i<path.length;i++){if(!$.isNumeric(path[i].lat))throw new Error("Invalid latitude");if(!$.isNumeric(path[i].lng))throw new Error("Invalid longitude");coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]))}this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyline:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getGeometry=function(){for(var result=[],coordinates=this.olFeature.getGeometry().getCoordinates(),i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolyline.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.OLRectangle=function(options,olFeature){var coordinates;Parent.apply(this,arguments),olFeature?this.olFeature=olFeature:(coordinates=[[]],options.cornerA&&options.cornerB&&(coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)]))),this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})),this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaRectangle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.extend(WPGMZA.OLRectangle,Parent),WPGMZA.OLRectangle.prototype.getBounds=function(){var extent=this.olFeature.getGeometry().getExtent(),topLeft=ol.extent.getTopLeft(extent),extent=ol.extent.getBottomRight(extent),topLeft=ol.proj.toLonLat(topLeft),extent=ol.proj.toLonLat(extent),topLeft=new WPGMZA.LatLng(topLeft[1],topLeft[0]),extent=new WPGMZA.LatLng(extent[1],extent[0]);return new WPGMZA.LatLngBounds(topLeft,extent)},WPGMZA.OLRectangle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.OLTextOverlay(options)},WPGMZA.extend(WPGMZA.OLText,WPGMZA.Text),WPGMZA.OLText.prototype.refresh=function(){this.overlay&&this.overlay.refresh()}}),jQuery(function($){WPGMZA.OLTextOverlay=function(options){var coords;options.position&&options.map&&(coords=ol.proj.fromLonLat([options.position.lng,options.position.lat]),this.olFeature=new ol.Feature({geometry:new ol.geom.Point(coords)}),this.styleOptions=options||{},this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.getStyle()}),this.layer.setZIndex(10),options.map.olMap.addLayer(this.layer))},WPGMZA.OLTextOverlay.prototype.getStyle=function(){var i,defaults={fontSize:11,fillColor:"#000000",strokeColor:"#ffffff"};for(i in defaults)void 0===this.styleOptions[i]&&(this.styleOptions[i]=defaults[i]);let labelStyles=new ol.style.Style({text:new ol.style.Text({font:"bold "+this.styleOptions.fontSize+'px "Open Sans", "Arial Unicode MS", "sans-serif"',placement:"point",fill:new ol.style.Fill({color:this.styleOptions.fillColor}),stroke:new ol.style.Stroke({color:this.styleOptions.strokeColor,width:1})})});return labelStyles.getText().setText(this.styleOptions.text||""),labelStyles},WPGMZA.OLTextOverlay.prototype.refresh=function(){this.layer&&this.layer.setStyle(this.getStyle())},WPGMZA.OLTextOverlay.prototype.setPosition=function(position){this.olFeature&&(position=ol.proj.fromLonLat([parseFloat(position.lng),parseFloat(position.lat)]),this.olFeature.setGeometry(new ol.geom.Point(position)))},WPGMZA.OLTextOverlay.prototype.setText=function(text){this.styleOptions.text=text},WPGMZA.OLTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.styleOptions.fontSize=size},WPGMZA.OLTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.fillColor=color},WPGMZA.OLTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.strokeColor=color},WPGMZA.OLTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.layer&&this.layer.setOpacity(opacity)},WPGMZA.OLTextOverlay.prototype.remove=function(){this.styleOptions.map&&this.styleOptions.map.olMap.removeLayer(this.layer)}}),jQuery(function($){WPGMZA.OLThemeEditor=function(){var self=this;WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-ol-theme-editor"),this.element.length?(this.mapElement=WPGMZA.maps[0].element,$(this.element).find('input[name="wpgmza_ol_tile_filter"]').on("change",function(event){self.onFilterChange(event.currentTarget)})):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.OLThemeEditor,WPGMZA.EventDispatcher),WPGMZA.OLThemeEditor.prototype.onFilterChange=function(context){context instanceof HTMLInputElement&&(context=$(context).val(),this.mapElement&&$(this.mapElement).css("--wpgmza-ol-tile-filter",context))}}),jQuery(function($){WPGMZA.OLThemePanel=function(){var self=this;this.element=$("#wpgmza-ol-theme-panel"),this.map=WPGMZA.maps[0],this.element.length?(this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),WPGMZA.OLThemePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.OLThemePanel.prototype.onThemePresetClick=function(event){if(event.currentTarget){const element=$(event.currentTarget);event=element.data("filter");if(event&&$('input[name="wpgmza_ol_tile_filter"]').length){const input=$('input[name="wpgmza_ol_tile_filter"]').get(0);input.wpgmzaCSSFilterInput&&input.wpgmzaCSSFilterInput.parseFilters(event)}}}}),jQuery(function($){WPGMZA.DataTable=function(element){var version,self=this;if(!$.fn.dataTable)return console.warn("The dataTables library is not loaded. Cannot create a dataTable. Did you enable 'Do not enqueue dataTables'?"),void(WPGMZA.settings.wpgmza_do_not_enqueue_datatables&&WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT&&alert("You have selected 'Do not enqueue DataTables' in WP Go Maps' settings. No 3rd party software is loading the DataTables library. Because of this, the marker table cannot load. Please uncheck this option to use the marker table."));$.fn.dataTable.ext?$.fn.dataTable.ext.errMode="throw":(version=$.fn.dataTable.version||"unknown",console.warn("You appear to be running an outdated or modified version of the dataTables library. This may cause issues with table functionality. This is usually caused by 3rd party software loading an older version of DataTables. The loaded version is "+version+", we recommend version 1.10.12 or above.")),$.fn.dataTable.Api&&$.fn.dataTable.Api.register("processing()",function(show){return this.iterator("table",function(ctx){ctx.oApi._fnProcessingDisplay(ctx,show)})}),this.element=element,(this.element.wpgmzaDataTable=this).dataTableElement=this.getDataTableElement();var settings=this.getDataTableSettings();this.phpClass=$(element).attr("data-wpgmza-php-class"),(this.wpgmzaDataTable=this).useCompressedPathVariable=WPGMZA.restAPI.isCompressedPathVariableSupported&&WPGMZA.settings.enable_compressed_path_variables,this.method=this.useCompressedPathVariable?"GET":"POST",null==this.getLanguageURL()||"//cdn.datatables.net/plug-ins/1.10.12/i18n/English.json"==this.getLanguageURL()?(this.dataTable=$(this.dataTableElement).DataTable(settings),this.dataTable.ajax.reload()):$.ajax(this.getLanguageURL(),{success:function(response,status,xhr){self.languageJSON=response,self.dataTable=$(self.dataTableElement).DataTable(settings),self.dataTable.ajax.reload()}})},WPGMZA.DataTable.prototype.getDataTableElement=function(){return $(this.element).find("table")},WPGMZA.DataTable.prototype.onAJAXRequest=function(data,settings){var params={phpClass:this.phpClass},attr=$(this.element).attr("data-wpgmza-ajax-parameters");return attr&&$.extend(params,JSON.parse(attr)),$.extend(data,params)},WPGMZA.DataTable.prototype.onDataTableAjaxRequest=function(data,callback,settings){var self=this,element=this.element,element=$(element).attr("data-wpgmza-rest-api-route"),data=this.onAJAXRequest(data,settings),draw=data.draw;if(delete data.draw,!element)throw new Error("No data-wpgmza-rest-api-route attribute specified");settings={method:"POST",useCompressedPathVariable:!0,data:data,dataType:"json",cache:!this.preventCaching,beforeSend:function(xhr){xhr.setRequestHeader("X-DataTables-Draw",draw)},success:function(response,status,xhr){response.draw=draw,self.lastResponse=response,callback(response),$("[data-marker-icon-src]").each(function(index,element){WPGMZA.MarkerIcon.createInstance($(element).attr("data-marker-icon-src")).applyToElement(element)})}};return WPGMZA.restAPI.call(element,settings)},WPGMZA.DataTable.prototype.getDataTableSettings=function(){var self=this,element=this.element,options={},element=((options=$(element).attr("data-wpgmza-datatable-options")?JSON.parse($(element).attr("data-wpgmza-datatable-options")):options).deferLoading=!0,options.processing=!0,options.serverSide=!0,options.ajax=function(data,callback,settings){return WPGMZA.DataTable.prototype.onDataTableAjaxRequest.apply(self,arguments)},WPGMZA.AdvancedTableDataTable&&this instanceof WPGMZA.AdvancedTableDataTable&&WPGMZA.settings.wpgmza_default_items&&(options.iDisplayLength=parseInt(WPGMZA.settings.wpgmza_default_items)),options.aLengthMenu=[[5,10,25,50,100,-1],["5","10","25","50","100",WPGMZA.localized_strings.all]],this.getLanguageURL());return element&&(options.language={url:element}),options},WPGMZA.DataTable.prototype.getLanguageURL=function(){if(!WPGMZA.locale)return null;var languageURL;switch(WPGMZA.locale.substr(0,2)){case"af":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Afrikaans.json";break;case"sq":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Albanian.json";break;case"am":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Amharic.json";break;case"ar":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Arabic.json";break;case"hy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Armenian.json";break;case"az":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Azerbaijan.json";break;case"bn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bangla.json";break;case"eu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Basque.json";break;case"be":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Belarusian.json";break;case"bg":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bulgarian.json";break;case"ca":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Catalan.json";break;case"zh":languageURL="zh_TW"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Chinese-traditional.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Chinese.json";break;case"hr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Croatian.json";break;case"cs":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Czech.json";break;case"da":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Danish.json";break;case"nl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Dutch.json";break;case"et":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Estonian.json";break;case"fi":languageURL=WPGMZA.locale.match(/^fil/)?WPGMZA.pluginDirURL+"languages/datatables/Filipino.json":WPGMZA.pluginDirURL+"languages/datatables/Finnish.json";break;case"fr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/French.json";break;case"gl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Galician.json";break;case"ka":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Georgian.json";break;case"de":languageURL=WPGMZA.pluginDirURL+"languages/datatables/German.json";break;case"el":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Greek.json";break;case"gu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Gujarati.json";break;case"he":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hebrew.json";break;case"hi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hindi.json";break;case"hu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hungarian.json";break;case"is":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Icelandic.json";break;case"id":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Indonesian.json";break;case"ga":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Irish.json";break;case"it":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Italian.json";break;case"ja":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Japanese.json";break;case"kk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kazakh.json";break;case"ko":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Korean.json";break;case"ky":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kyrgyz.json";break;case"lv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Latvian.json";break;case"lt":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Lithuanian.json";break;case"mk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Macedonian.json";break;case"ml":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Malay.json";break;case"mn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Mongolian.json";break;case"ne":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Nepali.json";break;case"nb":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Bokmal.json";break;case"nn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Nynorsk.json";break;case"ps":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Pashto.json";break;case"fa":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Persian.json";break;case"pl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Polish.json";break;case"pt":languageURL="pt_BR"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Portuguese-Brasil.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese.json";break;case"ro":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Romanian.json";break;case"ru":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Russian.json";break;case"sr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Serbian.json";break;case"si":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Sinhala.json";break;case"sk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovak.json";break;case"sl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovenian.json";break;case"es":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Spanish.json";break;case"sw":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swahili.json";break;case"sv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swedish.json";break;case"ta":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Tamil.json";break;case"te":languageURL=WPGMZA.pluginDirURL+"languages/datatables/telugu.json";break;case"th":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Thai.json";break;case"tr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Turkish.json";break;case"uk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Ukrainian.json";break;case"ur":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Urdu.json";break;case"uz":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Uzbek.json";break;case"vi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Vietnamese.json";break;case"cy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Welsh.json"}return languageURL},WPGMZA.DataTable.prototype.onAJAXResponse=function(response){},WPGMZA.DataTable.prototype.reload=function(){this.dataTable.ajax.reload(null,!1)}}),jQuery(function($){WPGMZA.AdminFeatureDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),this.initModals(),$(element).on("click",".wpgmza.bulk_delete",function(event){self.onBulkDelete(event)}),$(element).on("click",".wpgmza.select_all_markers",function(event){self.onSelectAll(event)}),$(element).on("click",".wpgmza.bulk_edit",function(event){self.onBulkEdit(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)}),$(element).on("click","[data-duplicate-feature-id]",function(event){self.onDuplicate(event)}),$(element).on("click","[data-move-map-feature-id]",function(event){self.onMoveMap(event)})},WPGMZA.extend(WPGMZA.AdminFeatureDataTable,WPGMZA.DataTable),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featurePanel",{get:function(){return WPGMZA.mapEditPage[this.featureType+"Panel"]}}),WPGMZA.AdminFeatureDataTable.prototype.initModals=function(){this.moveModal=!1,this.bulkEditorModal=!1,"marker"===this.featureType&&($(".wpgmza-map-select-modal").length&&(this.moveModal=WPGMZA.GenericModal.createInstance($(".wpgmza-map-select-modal"))),$(".wpgmza-bulk-marker-editor-modal").length&&(this.bulkEditorModal=WPGMZA.GenericModal.createInstance($(".wpgmza-bulk-marker-editor-modal"))))},WPGMZA.AdminFeatureDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaFeatureData=index},options},WPGMZA.AdminFeatureDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0],plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/"+plural+"/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}}))},WPGMZA.AdminFeatureDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminFeatureDataTable.prototype.onBulkEdit=function(event){const self=this,ids=[];WPGMZA.maps[0];const plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),this.bulkEditorModal&&ids.length&&this.bulkEditorModal.show(function(data){data.ids=ids,data.action="bulk_edit",WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:data,success:function(response,status,xhr){self.reload()}})})},WPGMZA.AdminFeatureDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))},WPGMZA.AdminFeatureDataTable.prototype.onDuplicate=function(event){const self=this;let id=!1;id=null==event.currentTarget?event:$(event.currentTarget).attr("data-duplicate-feature-id");event=this.featureType+"s";WPGMZA.restAPI.call("/"+event+"/",{method:"POST",data:{id:id,action:"duplicate"},success:function(response,status,xhr){self.reload()}})},WPGMZA.AdminFeatureDataTable.prototype.onMoveMap=function(event){const self=this;let id=!1,plural=(id=null==event.currentTarget?event:$(event.currentTarget).attr("data-move-map-feature-id"),this.featureType+"s");this.moveModal&&this.moveModal.show(function(data){data=!!data.map_id&&parseInt(data.map_id);data&&WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:{id:id,map_id:data,action:"move_map"},success:function(response,status,xhr){self.reload()}})})}}),jQuery(function($){WPGMZA.AdminMapDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),$(element).on("mousedown","button[data-action='edit']",function(event){switch(event.which){case 1:var map_id=$(event.target).attr("data-map-id");window.location.href=window.location.href+"&action=edit&map_id="+map_id;break;case 2:map_id=$(event.target).attr("data-map-id");window.open(window.location.href+"&action=edit&map_id="+map_id)}}),$(element).find(".wpgmza.select_all_maps").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete_maps").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","button[data-action='duplicate']",function(event){event=$(event.target).attr("data-map-id");WPGMZA.restAPI.call("/maps/",{method:"POST",data:{id:event,action:"duplicate"},success:function(response,status,xhr){self.reload()}})}),$(element).on("click","button[data-action='trash']",function(event){confirm(WPGMZA.localized_strings.map_delete_prompt_text)&&(event=$(event.target).attr("data-map-id"),WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{id:event},success:function(response,status,xhr){self.reload()}}))})},WPGMZA.extend(WPGMZA.AdminMapDataTable,WPGMZA.DataTable),WPGMZA.AdminMapDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMapData=index},options},WPGMZA.AdminMapDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminMapDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMapData.id)}),confirm(WPGMZA.localized_strings.map_bulk_delete_prompt_text)&&WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},$(document).ready(function(event){$("[data-wpgmza-admin-map-datatable]").each(function(index,el){WPGMZA.AdminMapDataTable=new WPGMZA.AdminMapDataTable(el)})})}),jQuery(function($){WPGMZA.AdminMarkerDataTable=function(element){var self=this;this.preventCaching=!0,WPGMZA.DataTable.call(this,element),$(element).on("click","[data-delete-marker-id]",function(event){self.onDeleteMarker(event)}),$(element).find(".wpgmza.select_all_markers").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)})},WPGMZA.AdminMarkerDataTable.prototype=Object.create(WPGMZA.DataTable.prototype),WPGMZA.AdminMarkerDataTable.prototype.constructor=WPGMZA.AdminMarkerDataTable,WPGMZA.AdminMarkerDataTable.createInstance=function(element){return new WPGMZA.AdminMarkerDataTable(element)},WPGMZA.AdminMarkerDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMarkerData=index},options},WPGMZA.AdminMarkerDataTable.prototype.onEditMarker=function(event){WPGMZA.animatedScroll("#wpgmaps_tabs_markers")},WPGMZA.AdminMarkerDataTable.prototype.onDeleteMarker=function(event){var self=this,id=$(event.currentTarget).attr("data-delete-marker-id"),event={action:"delete_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:id};$.post(ajaxurl,event,function(response){WPGMZA.mapEditPage.map.removeMarkerByID(id),self.reload()})},WPGMZA.AdminMarkerDataTable.prototype.onApproveMarker=function(event){var cur_id=$(this).attr("id"),cur_id={action:"approve_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:cur_id};$.post(ajaxurl,cur_id,function(response){wpgmza_InitMap(),wpgmza_reinitialisetbl()})},WPGMZA.AdminMarkerDataTable.prototype.onSelectAll=function(event){$(this.element).find("input[name='mark']").prop("checked",!0)},WPGMZA.AdminMarkerDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMarkerData.id)}),ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/markers/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},WPGMZA.AdminMarkerDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.mapEditPage.map.setZoom(6),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))}});
1
+ jQuery(function($){var core={MARKER_PULL_DATABASE:"0",MARKER_PULL_XML:"1",PAGE_MAP_LIST:"map-list",PAGE_MAP_EDIT:"map-edit",PAGE_SETTINGS:"map-settings",PAGE_STYLING:"map-styling",PAGE_SUPPORT:"map-support",PAGE_INSTALLER:"installer",PAGE_CATEGORIES:"categories",PAGE_ADVANCED:"advanced",PAGE_CUSTOM_FIELDS:"custom-fields",maps:[],events:null,settings:null,restAPI:null,localized_strings:null,loadingHTML:'<div class="wpgmza-preloader"><div class="wpgmza-loader">...</div></div>',preloaderHTML:"<div class='wpgmza-preloader'><div></div><div></div><div></div><div></div></div>",getCurrentPage:function(){switch(WPGMZA.getQueryParamValue("page")){case"wp-google-maps-menu":return window.location.href.match(/action=edit/)&&window.location.href.match(/map_id=\d+/)?WPGMZA.PAGE_MAP_EDIT:window.location.href.match(/action=installer/)?WPGMZA.PAGE_INSTALLER:WPGMZA.PAGE_MAP_LIST;case"wp-google-maps-menu-settings":return WPGMZA.PAGE_SETTINGS;case"wp-google-maps-menu-styling":return WPGMZA.PAGE_STYLING;case"wp-google-maps-menu-support":return WPGMZA.PAGE_SUPPORT;case"wp-google-maps-menu-categories":return WPGMZA.PAGE_CATEGORIES;case"wp-google-maps-menu-advanced":return WPGMZA.PAGE_ADVANCED;case"wp-google-maps-menu-custom-fields":return WPGMZA.PAGE_CUSTOM_FIELDS;default:return null}},getScrollAnimationOffset:function(){return(WPGMZA.settings.scroll_animation_offset||0)+($("#wpadminbar").height()||0)},getScrollAnimationDuration:function(){return WPGMZA.settings.scroll_animation_milliseconds||500},animateScroll:function(element,milliseconds){var offset=WPGMZA.getScrollAnimationOffset();milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$("html, body").animate({scrollTop:$(element).offset().top-offset},milliseconds)},extend:function(child,parent){var constructor=child;child.prototype=Object.create(parent.prototype),child.prototype.constructor=constructor},guid:function(){var d=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(d+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+16*Math.random())%16|0;return d=Math.floor(d/16),("x"===c?r:3&r|8).toString(16)})},hexOpacityToRGBA:function(colour,opacity){colour=parseInt(colour.replace(/^#/,""),16);return[(16711680&colour)>>16,(65280&colour)>>8,255&colour,parseFloat(opacity)]},hexOpacityToString:function(colour,opacity){colour=WPGMZA.hexOpacityToRGBA(colour,opacity);return"rgba("+colour[0]+", "+colour[1]+", "+colour[2]+", "+colour[3]+")"},hexToRgba:function(hex){return/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)?{r:(hex="0x"+(hex=3==(hex=hex.substring(1).split("")).length?[hex[0],hex[0],hex[1],hex[1],hex[2],hex[2]]:hex).join(""))>>16&255,g:hex>>8&255,b:255&hex,a:1}:0},rgbaToString:function(rgba){return"rgba("+rgba.r+", "+rgba.g+", "+rgba.b+", "+rgba.a+")"},latLngRegexp:/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,isLatLngString:function(str){if("string"!=typeof str)return null;str=(str=str.match(/^\(.+\)$/)?str.replace(/^\(|\)$/,""):str).match(WPGMZA.latLngRegexp);return str?new WPGMZA.LatLng({lat:parseFloat(str[1]),lng:parseFloat(str[3])}):null},stringToLatLng:function(str){str=WPGMZA.isLatLngString(str);if(str)return str;throw new Error("Not a valid latLng")},isHexColorString:function(str){return"string"==typeof str&&!!str.match(/#[0-9A-F]{6}/i)},imageDimensionsCache:{},getImageDimensions:function(src,callback){var img;WPGMZA.imageDimensionsCache[src]?callback(WPGMZA.imageDimensionsCache[src]):((img=document.createElement("img")).onload=function(event){var result={width:img.width,height:img.height};WPGMZA.imageDimensionsCache[src]=result,callback(result)},img.src=src)},decodeEntities:function(input){return input.replace(/&(nbsp|amp|quot|lt|gt);/g,function(m,e){return m[e]}).replace(/&#(\d+);/gi,function(m,e){return String.fromCharCode(parseInt(e,10))})},isDeveloperMode:function(){return this.settings.developer_mode||window.Cookies&&window.Cookies.get("wpgmza-developer-mode")},isProVersion:function(){return"1"==this._isProVersion},openMediaDialog:function(callback,config){var file_frame;if(file_frame)return file_frame.uploader.uploader.param("post_id",set_to_post_id),void file_frame.open();(file_frame=wp.media.frames.file_frame=config?wp.media(config):wp.media({title:"Select a image to upload",button:{text:"Use this image"},multiple:!1})).on("select",function(){attachment=file_frame.state().get("selection").first().toJSON(),callback(attachment.id,attachment.url,attachment)}),file_frame.open()},getCurrentPosition:function(callback,error,watch){var options,nativeFunction="getCurrentPosition";WPGMZA.userLocationDenied?error&&error({code:1,message:"Location unavailable"}):(watch&&(nativeFunction="watchPosition"),navigator.geolocation?(options={enableHighAccuracy:!0},navigator.geolocation[nativeFunction]?navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){options.enableHighAccuracy=!1,navigator.geolocation[nativeFunction](function(position){callback&&callback(position),WPGMZA.events.trigger("userlocationfound")},function(err){console.warn(err.code,err.message),1==err.code&&(WPGMZA.userLocationDenied=!0),error&&error(err)},options)},options):console.warn(nativeFunction+" is not available")):console.warn("No geolocation available on this device"))},watchPosition:function(callback,error){return WPGMZA.getCurrentPosition(callback,error,!0)},runCatchableTask:function(callback,friendlyErrorContainer){if(WPGMZA.isDeveloperMode())callback();else try{callback()}catch(e){callback=new WPGMZA.FriendlyError(e);$(friendlyErrorContainer).html(""),$(friendlyErrorContainer).append(callback.element),$(friendlyErrorContainer).show()}},capitalizeWords:function(string){return(string+"").replace(/^(.)|\s+(.)/g,function(m){return m.toUpperCase()})},pluralize:function(string){return WPGMZA.singularize(string)+"s"},singularize:function(string){return string.replace(/s$/,"")},assertInstanceOf:function(instance,instanceName){var pro=WPGMZA.isProVersion()?"Pro":"",engine="open-layers"===WPGMZA.settings.engine?"OL":"Google",pro=WPGMZA[engine+pro+instanceName]&&engine+instanceName!="OLFeature"?engine+pro+instanceName:WPGMZA[pro+instanceName]?pro+instanceName:WPGMZA[engine+instanceName]&&WPGMZA[engine+instanceName].prototype?engine+instanceName:instanceName;if("OLFeature"!=pro&&!(instance instanceof WPGMZA[pro]))throw new Error("Object must be an instance of "+pro+" (did you call a constructor directly, rather than createInstance?)")},getMapByID:function(id){for(var i=0;i<WPGMZA.maps.length;i++)if(WPGMZA.maps[i].id==id)return WPGMZA.maps[i];return null},isGoogleAutocompleteSupported:function(){return!!window.google&&(!!google.maps&&(!!google.maps.places&&(!!google.maps.places.Autocomplete&&(!WPGMZA.CloudAPI||!WPGMZA.CloudAPI.isBeingUsed))))},googleAPIStatus:window.wpgmza_google_api_status,isSafari:function(){var ua=navigator.userAgent.toLowerCase();return ua.match(/safari/i)&&!ua.match(/chrome/i)},isTouchDevice:function(){return"ontouchstart"in window},isDeviceiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},isModernComponentStyleAllowed:function(){return!WPGMZA.settings.user_interface_style||"legacy"==WPGMZA.settings.user_interface_style||"modern"==WPGMZA.settings.user_interface_style},isElementInView:function(element){var pageTop=$(window).scrollTop(),pageBottom=pageTop+$(window).height(),elementTop=$(element).offset().top,element=elementTop+$(element).height();return elementTop<pageTop&&pageBottom<element||(pageTop<=elementTop&&elementTop<=pageBottom||pageTop<=element&&element<=pageBottom)},isFullScreen:function(){return wpgmzaisFullScreen},getQueryParamValue:function(name){var name=new RegExp(name+"=([^&#]*)");return(name=window.location.href.match(name))?decodeURIComponent(name[1]):null},notification:function(text,time){switch(arguments.length){case 0:text="",time=4e3;break;case 1:time=4e3}var html='<div class="wpgmza-popup-notification">'+text+"</div>";jQuery("body").append(html),setTimeout(function(){jQuery("body").find(".wpgmza-popup-notification").remove()},time)},initMaps:function(){$(document.body).find(".wpgmza_map:not(.wpgmza-initialized)").each(function(index,el){if(el.wpgmzaMap)console.warn("Element missing class wpgmza-initialized but does have wpgmzaMap property. No new instance will be created");else try{el.wpgmzaMap=WPGMZA.Map.createInstance(el)}catch(ex){console.warn("Map initalization: "+ex)}}),WPGMZA.Map.nextInitTimeoutID=setTimeout(WPGMZA.initMaps,3e3)},initCapsules:function(){WPGMZA.capsuleModules=WPGMZA.CapsuleModules.createInstance()},onScroll:function(){$(".wpgmza_map").each(function(index,el){var isInView=WPGMZA.isElementInView(el);el.wpgmzaScrollIntoViewTriggerFlag?isInView||(el.wpgmzaScrollIntoViewTriggerFlag=!1):isInView&&($(el).trigger("mapscrolledintoview.wpgmza"),el.wpgmzaScrollIntoViewTriggerFlag=!0)})},initInstallerRedirect:function(url){$(".wpgmza-wrap").hide(),window.location.href=url}},wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){var value=WPGMZA_localized_data[key];WPGMZA[key]=value}var key,wpgmzaisFullScreen=!1;for(key in[]){console.warn("It appears that the built in JavaScript Array has been extended, this can create issues with for ... in loops, which may cause failure.");break}for(key in window.WPGMZA?window.WPGMZA=$.extend(window.WPGMZA,core):window.WPGMZA=core,window.uc&&window.uc.reloadOnOptIn&&(window.uc.reloadOnOptIn("S1pcEj_jZX"),window.uc.reloadOnOptOut("S1pcEj_jZX")),WPGMZA_localized_data){value=WPGMZA_localized_data[key];WPGMZA[key]=value}WPGMZA.settings.useLegacyGlobals=!0,$(document).on("fullscreenchange mozfullscreenchange webkitfullscreenchange",function(){wpgmzaisFullScreen=!!document.fullscreenElement,$(document.body).trigger("fullscreenchange.wpgmza")}),$("body").on("click","#wpgmzaCloseChat",function(e){e.preventDefault(),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_hide_chat",nonce:WPGMZA_localized_data.ajaxnonce}}),$(".wpgmza-chat-help").remove()}),$(window).on("scroll",WPGMZA.onScroll),$(document.body).on("click","button.wpgmza-api-consent",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}),$(document.body).on("keydown",function(event){event.altKey&&(WPGMZA.altKeyDown=!0)}),$(document.body).on("keyup",function(event){event.altKey||(WPGMZA.altKeyDown=!1)}),$(document.body).on("preinit.wpgmza",function(){$(window).trigger("ready.wpgmza"),$(document.body).trigger("ready.body.wpgmza"),$("script[src*='wp-google-maps.combined.js'], script[src*='wp-google-maps-pro.combined.js']").length&&console.warn("Minified script is out of date, using combined script instead.");var key,elements=$("script[src]").filter(function(){return this.src.match(/(^|\/)jquery\.(min\.)?js(\?|$)/i)});1<elements.length&&console.warn("Multiple jQuery versions detected: ",elements);for(key in[]){console.warn("The Array object has been extended incorrectly by your theme or another plugin. This can cause issues with functionality.");break}"https:"!=window.location.protocol&&(elements='<div class="'+(WPGMZA.InternalEngine.isLegacy()?"":"wpgmza-shadow wpgmza-card wpgmza-pos-relative ")+'notice notice-warning"><p>'+WPGMZA.localized_strings.unsecure_geolocation+"</p></div>",$(".wpgmza-geolocation-setting").first().after($(elements))),WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code&&jQuery(".wpgmza-gdpr-compliance").length<=0&&($(".wpgmza-inner-stack").hide(),$("button.wpgmza-api-consent").on("click",function(event){Cookies.set("wpgmza-api-consent-given",!0),window.location.reload()}))}),function($){$(function(){WPGMZA.restAPI=WPGMZA.RestAPI.createInstance(),WPGMZA.CloudAPI&&(WPGMZA.cloudAPI=WPGMZA.CloudAPI.createInstance()),$(document.body).trigger("preinit.wpgmza"),WPGMZA.initMaps(),WPGMZA.onScroll(),WPGMZA.initCapsules(),$(document.body).trigger("postinit.wpgmza")})}($)}),jQuery(function($){WPGMZA.Compatibility=function(){this.preventDocumentWriteGoogleMapsAPI()},WPGMZA.Compatibility.prototype.preventDocumentWriteGoogleMapsAPI=function(){var old=document.write;document.write=function(content){content.match&&content.match(/maps\.google/)||old.call(document,content)}},WPGMZA.compatiblityModule=new WPGMZA.Compatibility}),!function(root,factory){"object"==typeof exports?module.exports=factory(root):"function"==typeof define&&define.amd?define([],factory.bind(root,root)):factory(root)}("undefined"!=typeof global?global:this,function(root){if(root.CSS&&root.CSS.escape)return root.CSS.escape;function cssEscape(value){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var codeUnit,string=String(value),length=string.length,index=-1,result="",firstCodeUnit=string.charCodeAt(0);++index<length;)0==(codeUnit=string.charCodeAt(index))?result+="�":result+=1<=codeUnit&&codeUnit<=31||127==codeUnit||0==index&&48<=codeUnit&&codeUnit<=57||1==index&&48<=codeUnit&&codeUnit<=57&&45==firstCodeUnit?"\\"+codeUnit.toString(16)+" ":(0!=index||1!=length||45!=codeUnit)&&(128<=codeUnit||45==codeUnit||95==codeUnit||48<=codeUnit&&codeUnit<=57||65<=codeUnit&&codeUnit<=90||97<=codeUnit&&codeUnit<=122)?string.charAt(index):"\\"+string.charAt(index);return result}return root.CSS||(root.CSS={}),root.CSS.escape=cssEscape}),jQuery(function($){Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Distance={MILES:!0,KILOMETERS:!1,MILES_PER_KILOMETER:.621371,KILOMETERS_PER_MILE:1.60934,uiToMeters:function(uiDistance){return parseFloat(uiDistance)/(WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?WPGMZA.Distance.MILES_PER_KILOMETER:1)*1e3},uiToKilometers:function(uiDistance){return.001*WPGMZA.Distance.uiToMeters(uiDistance)},uiToMiles:function(uiDistance){return WPGMZA.Distance.uiToKilometers(uiDistance)*WPGMZA.Distance.MILES_PER_KILOMETER},kilometersToUI:function(km){return WPGMZA.settings.distance_units==WPGMZA.Distance.MILES?km*WPGMZA.Distance.MILES_PER_KILOMETER:km},between:function(a,b){if(!(a instanceof WPGMZA.LatLng||"lat"in a&&"lng"in a))throw new Error("First argument must be an instance of WPGMZA.LatLng or a literal");if(!(b instanceof WPGMZA.LatLng||"lat"in b&&"lng"in b))throw new Error("Second argument must be an instance of WPGMZA.LatLng or a literal");if(a===b)return 0;var lat1=a.lat,lon1=a.lng,lat2=b.lat,b=b.lng,dLat=deg2rad(lat2-lat1),b=deg2rad(b-lon1),a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(b/2)*Math.sin(b/2);return 6371*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))}}}),jQuery(function($){WPGMZA.EliasFano=function(){if(!WPGMZA.EliasFano.isSupported)throw new Error("Elias Fano encoding is not supported on browsers without Uint8Array");WPGMZA.EliasFano.decodingTablesInitialised||WPGMZA.EliasFano.createDecodingTable()},WPGMZA.EliasFano.isSupported="Uint8Array"in window,WPGMZA.EliasFano.decodingTableHighBits=[],WPGMZA.EliasFano.decodingTableDocIDNumber=null,WPGMZA.EliasFano.decodingTableHighBitsCarryover=null,WPGMZA.EliasFano.createDecodingTable=function(){WPGMZA.EliasFano.decodingTableDocIDNumber=new Uint8Array(256),WPGMZA.EliasFano.decodingTableHighBitsCarryover=new Uint8Array(256);for(var decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,i=0;i<256;i++){var zeroCount=0;decodingTableHighBits[i]=[];for(var j=7;0<=j;j--)zeroCount=0<(i&1<<j)?(decodingTableHighBits[i][decodingTableDocIDNumber[i]]=zeroCount,decodingTableDocIDNumber[i]++,0):(zeroCount+1)%255;decodingTableHighBitsCarryover[i]=zeroCount}WPGMZA.EliasFano.decodingTablesInitialised=!0},WPGMZA.EliasFano.prototype.encode=function(list){var lastDocID=0,buffer1=0,bufferLength1=0,buffer2=0,bufferLength2=0;if(0==list.length)return result;var compressedBufferPointer1=0,compressedBufferPointer2=0,averageDelta=list[list.length-1]/list.length,averageDeltaLog=Math.log2(averageDelta),lowBitsLength=Math.floor(averageDeltaLog),lowBitsMask=(1<<lowBitsLength)-1,prev=null,averageDeltaLog=Math.floor((2+Math.ceil(Math.log2(averageDelta)))*list.length/8)+6,compressedBuffer=new Uint8Array(averageDeltaLog),result=(lowBitsLength<0&&(lowBitsLength=0),compressedBufferPointer2=Math.floor(lowBitsLength*list.length/8+6),compressedBuffer[compressedBufferPointer1++]=255&list.length,compressedBuffer[compressedBufferPointer1++]=255&list.length>>8,compressedBuffer[compressedBufferPointer1++]=255&list.length>>16,compressedBuffer[compressedBufferPointer1++]=255&list.length>>24,compressedBuffer[compressedBufferPointer1++]=255&lowBitsLength,list.forEach(function(docID){var docIDDelta=docID-lastDocID-1;if(!$.isNumeric(docID))throw new Error("Value is not numeric");if(docID=parseInt(docID),null!==prev&&docID<=prev)throw new Error("Elias Fano encoding can only be used on a sorted, ascending list of unique integers.");for(prev=docID,buffer1=buffer1<<lowBitsLength|docIDDelta&lowBitsMask,bufferLength1+=lowBitsLength;7<bufferLength1;)bufferLength1-=8,compressedBuffer[compressedBufferPointer1++]=255&buffer1>>bufferLength1;docIDDelta=1+(docIDDelta>>lowBitsLength);for(buffer2=buffer2<<docIDDelta|1,bufferLength2+=docIDDelta;7<bufferLength2;)bufferLength2-=8,compressedBuffer[compressedBufferPointer2++]=255&buffer2>>bufferLength2;lastDocID=docID}),0<bufferLength1&&(compressedBuffer[compressedBufferPointer1++]=255&buffer1<<8-bufferLength1),0<bufferLength2&&(compressedBuffer[compressedBufferPointer2++]=255&buffer2<<8-bufferLength2),new Uint8Array(compressedBuffer));return result.pointer=compressedBufferPointer2,result},WPGMZA.EliasFano.prototype.decode=function(compressedBuffer){for(var resultPointer=0,list=[],decodingTableHighBits=WPGMZA.EliasFano.decodingTableHighBits,decodingTableDocIDNumber=WPGMZA.EliasFano.decodingTableDocIDNumber,decodingTableHighBitsCarryover=WPGMZA.EliasFano.decodingTableHighBitsCarryover,lowBitsPointer=0,lastDocID=0,docID=0,listCount=compressedBuffer[lowBitsPointer++],lowBitsLength=(listCount=(listCount=(listCount|=compressedBuffer[lowBitsPointer++]<<8)|compressedBuffer[lowBitsPointer++]<<16)|compressedBuffer[lowBitsPointer++]<<24,compressedBuffer[lowBitsPointer++]),lowBitsCount=0,lowBits=0,cb=1,highBitsPointer=Math.floor(lowBitsLength*listCount/8+6);highBitsPointer<compressedBuffer.pointer;highBitsPointer++){docID+=decodingTableHighBitsCarryover[cb];for(var docIDNumber=decodingTableDocIDNumber[cb=compressedBuffer[highBitsPointer]],i=0;i<docIDNumber;i++){for(docID=docID<<lowBitsCount|lowBits&(1<<lowBitsCount)-1;lowBitsCount<lowBitsLength;)docID=(docID<<=8)|(lowBits=compressedBuffer[lowBitsPointer++]),lowBitsCount+=8;docID=(docID>>=lowBitsCount-=lowBitsLength)+((decodingTableHighBits[cb][i]<<lowBitsLength)+lastDocID+1),lastDocID=list[resultPointer++]=docID,docID=0}}return list}}),jQuery(function($){WPGMZA.EventDispatcher=function(){WPGMZA.assertInstanceOf(this,"EventDispatcher"),this._listenersByType={}},WPGMZA.EventDispatcher.prototype.addEventListener=function(type,listener,thisObject,useCapture){var types=type.split(/\s+/);if(1<types.length)for(var i=0;i<types.length;i++)this.addEventListener(types[i],listener,thisObject,useCapture);else{if(!(listener instanceof Function))throw new Error("Listener must be a function");type=this._listenersByType.hasOwnProperty(type)?this._listenersByType[type]:this._listenersByType[type]=[];type.push({listener:listener,thisObject:thisObject||this,useCapture:!!useCapture})}},WPGMZA.EventDispatcher.prototype.on=WPGMZA.EventDispatcher.prototype.addEventListener,WPGMZA.EventDispatcher.prototype.removeEventListener=function(type,listener,thisObject,useCapture){var arr,obj;if(arr=this._listenersByType[type]){thisObject=thisObject||this,useCapture=!!useCapture;for(var i=0;i<arr.length;i++)if(obj=arr[i],(1==arguments.length||obj.listener==listener)&&obj.thisObject==thisObject&&obj.useCapture==useCapture)return void arr.splice(i,1)}},WPGMZA.EventDispatcher.prototype.off=WPGMZA.EventDispatcher.prototype.removeEventListener,WPGMZA.EventDispatcher.prototype.hasEventListener=function(type){return!!_listenersByType[type]},WPGMZA.EventDispatcher.prototype.dispatchEvent=function(event){if(!(event instanceof WPGMZA.Event))if("string"==typeof event)event=new WPGMZA.Event(event);else{var name,src=event;for(name in event=new WPGMZA.Event,src)event[name]=src[name]}for(var path=[],obj=(event.target=this).parent;null!=obj;obj=obj.parent)path.unshift(obj);event.phase=WPGMZA.Event.CAPTURING_PHASE;for(var i=0;i<path.length&&!event._cancelled;i++)path[i]._triggerListeners(event);if(!event._cancelled){for(event.phase=WPGMZA.Event.AT_TARGET,this._triggerListeners(event),event.phase=WPGMZA.Event.BUBBLING_PHASE,i=path.length-1;0<=i&&!event._cancelled;i--)path[i]._triggerListeners(event);for(var topMostElement=this.element,obj=this.parent;null!=obj;obj=obj.parent)obj.element&&(topMostElement=obj.element);if(topMostElement){var key,customEvent={};for(key in event){var value=event[key];"type"==key&&(value+=".wpgmza"),customEvent[key]=value}$(topMostElement).trigger(customEvent)}}},WPGMZA.EventDispatcher.prototype.trigger=WPGMZA.EventDispatcher.prototype.dispatchEvent,WPGMZA.EventDispatcher.prototype._triggerListeners=function(event){var arr,obj;if(arr=this._listenersByType[event.type])for(var i=0;i<arr.length;i++)obj=arr[i],event.phase==WPGMZA.Event.CAPTURING_PHASE&&!obj.useCapture||obj.listener.call(arr[i].thisObject,event)},WPGMZA.events=new WPGMZA.EventDispatcher}),jQuery(function($){WPGMZA.AddressInput=function(element,map){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=element;var json,options={fields:["name","formatted_address"],types:["geocode","establishment"]};(json=$(element).attr("data-autocomplete-options"))&&(options=$.extend(options,JSON.parse(json))),map&&map.settings.wpgmza_store_locator_restrict&&(options.country=map.settings.wpgmza_store_locator_restrict),this.options=options,(element._wpgmzaAddressInput=this).googleAutocompleteLoaded=!1,WPGMZA.isGoogleAutocompleteSupported()?this.shouldAutoLoadGoogleAutocomplete()&&this.loadGoogleAutocomplete():WPGMZA.CloudAPI&&WPGMZA.CloudAPI.isBeingUsed&&(element.cloudAutoComplete=new WPGMZA.CloudAutocomplete(element,options))},WPGMZA.extend(WPGMZA.AddressInput,WPGMZA.EventDispatcher),WPGMZA.AddressInput.createInstance=function(element,map){return new WPGMZA.AddressInput(element,map)},WPGMZA.AddressInput.prototype.loadGoogleAutocomplete=function(){WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(WPGMZA.isGoogleAutocompleteSupported()&&(this.element.googleAutoComplete=new google.maps.places.Autocomplete(this.element,this.options),this.options.country&&this.element.googleAutoComplete.setComponentRestrictions({country:this.options.country})),this.googleAutocompleteLoaded=!0)},WPGMZA.AddressInput.prototype.shouldAutoLoadGoogleAutocomplete=function(){return!this.element||!this.element.id||"wpgmza_add_address_map_editor"!==this.element.id}}),jQuery(function($){WPGMZA.CapsuleModules=function(){WPGMZA.EventDispatcher.call(this),this.proxies={},this.capsules=[],this.prepareCapsules(),this.flagCapsules()},WPGMZA.extend(WPGMZA.CapsuleModules,WPGMZA.EventDispatcher),WPGMZA.CapsuleModules.getConstructor=function(){return WPGMZA.isProVersion()?WPGMZA.ProCapsuleModules:WPGMZA.CapsuleModules},WPGMZA.CapsuleModules.createInstance=function(){const constructor=WPGMZA.CapsuleModules.getConstructor();return new constructor},WPGMZA.CapsuleModules.prototype.proxyMap=function(id,settings){return this.proxies[id]||(this.proxies[id]=Object.create(this),this.proxies[id].id=id,this.proxies[id].markers=[],this.proxies[id].showPreloader=function(){},this.proxies[id].getMarkerByID=function(){return{}},this.proxies[id].markerFilter=WPGMZA.MarkerFilter.createInstance(this.proxies[id])),settings&&(this.proxies[id].settings=settings),this.proxies[id]},WPGMZA.CapsuleModules.prototype.flagCapsules=function(){if(this.capsules)for(var i in this.capsules)this.capsules[i].element&&$(this.capsules[i].element).addClass("wpgmza-capsule-module")},WPGMZA.CapsuleModules.prototype.prepareCapsules=function(){this.registerStoreLocator()},WPGMZA.CapsuleModules.prototype.registerStoreLocator=function(){$(".wpgmza-store-locator").each((index,element)=>{var mapId=$(element).data("map-id"),url=$(element).data("url");if(mapId&&!WPGMZA.getMapByID(mapId))if(url){var settings=$(element).data("map-settings"),settings=this.proxyMap(mapId,settings);const capsule={type:"store_locator",element:element,instance:WPGMZA.StoreLocator.createInstance(settings,element)};capsule.instance.isCapsule=!0,capsule.instance.redirectUrl=url,this.capsules.push(capsule)}else console.warn('WPGMZA: You seem to have added a stadalone store locator without a map page URL. Please add a URL to your shortcode [wpgmza_store_locator id="'+mapId+'" url="{URL}"] and try again')})}}),jQuery(function($){WPGMZA.ColorInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={format:"hex",anchor:"left",container:!1,autoClose:!0,autoOpen:!1,supportAlpha:!0,supportPalette:!0,wheelBorderWidth:10,wheelPadding:6,wheelBorderColor:"rgb(255,255,255)"},this.parseOptions(options),this.state={initialized:!1,sliderInvert:!1,lockSlide:!1,lockPicker:!1,open:!1,mouse:{down:!1}},this.color={h:0,s:0,l:100,a:1},this.wrap(),this.renderControls(),this.parseColor(this.value)},WPGMZA.extend(WPGMZA.ColorInput,WPGMZA.EventDispatcher),WPGMZA.ColorInput.createInstance=function(element){return new WPGMZA.ColorInput(element)},WPGMZA.ColorInput.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)},WPGMZA.ColorInput.prototype.degreesToRadians=function(degrees){return degrees*(Math.PI/180)},WPGMZA.ColorInput.prototype.hueToRgb=function(p,q,t){return t<0&&(t+=1),1<t&&--t,t<1/6?p+6*(q-p)*t:t<.5?q:t<2/3?p+(q-p)*(2/3-t)*6:p},WPGMZA.ColorInput.prototype.getMousePositionInCanvas=function(canvas,event){canvas=canvas.getBoundingClientRect();return{x:event.clientX-canvas.left,y:event.clientY-canvas.top}},WPGMZA.ColorInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.ColorInput.prototype.getColor=function(override,format){var hsl=Object.assign({},this.color);if(override)for(var i in override)hsl[i]=override[i];format=format||this.options.format;var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);switch(format){case"hsl":return"hsl("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%)";case"hsla":return"hsla("+hsl.h+", "+hsl.s+"%, "+hsl.l+"%, "+hsl.a+")";case"rgb":return"rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")";case"rgba":return"rgba("+rgb.r+", "+rgb.g+", "+rgb.b+", "+rgb.a+")"}return this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a)},WPGMZA.ColorInput.prototype.setColor=function(hsl){for(var i in hsl)this.color[i]=hsl[i];this.options.supportAlpha||(this.color.a=1),this.updatePreview(),this.commit(),this.state.initialized&&this.update()},WPGMZA.ColorInput.prototype.parseColor=function(value){var hsl;"string"==typeof value&&(-1!==(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"rgb(255,255,255)":value).indexOf("rgb")?(value=value.replace(/[a-z\(\)%]/g,""),parts=value.split(","),this.setColor(this.rgbToHsl(parts[0],parts[1],parts[2],parts[3]))):-1!==value.indexOf("hsl")?(value=value.replace(/[a-z\(\)%]/g,""),hsl={h:(parts=value.split(","))[0]?parseInt(parts[0]):0,s:parts[1]?parseInt(parts[1]):0,l:parts[2]?parseInt(parts[2]):100,a:parts[3]?parseFloat(parts[3]):1},this.setColor(hsl)):(hsl=this.hexToRgb(value),this.setColor(this.rgbToHsl(hsl.r,hsl.g,hsl.b,hsl.a))))},WPGMZA.ColorInput.prototype.rgbToHsl=function(r,g,b,a){var rgb={r:0<=r?r/255:255,g:0<=g?g/255:255,b:0<=b?b/255:255,a:0<=a?a:1},r=Math.min(rgb.r,rgb.g,rgb.b),g=Math.max(rgb.r,rgb.g,rgb.b),delta=g-r,hsl={h:(g+r)/2,s:(g+r)/2,l:(g+r)/2,a:rgb.a};if(0!=delta){switch(hsl.s=.5<hsl.l?delta/(2-g-r):delta/(g+r),g){case rgb.r:hsl.h=(rgb.g-rgb.b)/delta+(rgb.g<rgb.b?6:0);break;case rgb.g:hsl.h=(rgb.b-rgb.r)/delta+2;break;case rgb.b:hsl.h=(rgb.r-rgb.g)/delta+4}hsl.h=hsl.h/6}else hsl.h=0,hsl.s=0;return hsl.h=parseInt(360*hsl.h),hsl.s=parseInt(100*hsl.s),hsl.l=parseInt(100*hsl.l),hsl},WPGMZA.ColorInput.prototype.hexToRgb=function(hex){return(hex=hex.trim().toLowerCase().replace(/ /g,"").replace(/[^A-Za-z0-9\s]/g,"")).length<6&&(hex+=hex.charAt(hex.length-1).repeat(6-hex.length)),{r:parseInt(hex.slice(0,2),16),g:parseInt(hex.slice(2,4),16),b:parseInt(hex.slice(4,6),16),a:6<hex.length?this.floatToPrecision(parseInt(hex.slice(6,8),16)/255,2):1}},WPGMZA.ColorInput.prototype.hslToRgb=function(h,s,l,a){var h={h:0<=h?h:0,s:0<=s?s/100:0,l:0<=l?l/100:0,a:0<=a?a:1},s={r:0,g:0,b:0,a:h.a},l=(1-Math.abs(2*h.l-1))*h.s,a=l*(1-Math.abs(h.h/60%2-1)),diff=h.l-l/2;return 0<=h.h&&h.h<60?(s.r=l,s.g=a,s.b=0):60<=h.h&&h.h<120?(s.r=a,s.g=l,s.b=0):120<=h.h&&h.h<180?(s.r=0,s.g=l,s.b=a):180<=h.h&&h.h<240?(s.r=0,s.g=a,s.b=l):240<=h.h&&h.h<300?(s.r=a,s.g=0,s.b=l):300<=h.h&&h.h<360&&(s.r=l,s.g=0,s.b=a),s.r=Math.round(255*(s.r+diff)),s.g=Math.round(255*(s.g+diff)),s.b=Math.round(255*(s.b+diff)),s},WPGMZA.ColorInput.prototype.rgbToHex=function(r,g,b,a){var i,rgb={r:0<=r?r:255,g:0<=g?g:255,b:0<=b?b:255,a:0<=a?a:1};for(i in rgb.r=rgb.r.toString(16),rgb.g=rgb.g.toString(16),rgb.b=rgb.b.toString(16),rgb.a<1?rgb.a=Math.round(255*rgb.a).toString(16):rgb.a="",rgb)1===rgb[i].length&&(rgb[i]="0"+rgb[i]);return"#"+rgb.r+rgb.g+rgb.b+rgb.a},WPGMZA.ColorInput.prototype.floatToPrecision=function(float,precision){return float=parseFloat(float),parseFloat(float.toFixed(precision))},WPGMZA.ColorInput.prototype.wrap=function(){var self=this;if(!this.element||"text"!==this.type)throw new Error("WPGMZA.ColorInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-color-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element),this.options.autoClose&&($(document.body).on("click",function(){self.state.open&&(self.state.mouse.down=!1,self.onTogglePicker())}),$(document.body).on("colorpicker.open.wpgmza",function(event){event.instance!==self&&self.state.open&&self.onTogglePicker()}))},WPGMZA.ColorInput.prototype.renderControls=function(){var self=this;this.container&&(this.preview=$("<div class='wpgmza-color-preview wpgmza-shadow' />"),this.swatch=$("<div class='swatch' />"),this.picker=$("<div class='wpgmza-color-picker wpgmza-card wpgmza-shadow' />"),this.preview.append(this.swatch),this.picker.addClass("anchor-"+this.options.anchor),this.preview.addClass("anchor-"+this.options.anchor),this.preview.on("click",function(event){event.stopPropagation(),self.onTogglePicker()}),this.picker.on("click",function(event){event.stopPropagation()}),this.container.append(this.preview),this.options.container&&0<$(this.options.container).length?($(this.options.container).append(this.picker),$(this.options.container).addClass("wpgmza-color-input-host")):this.container.append(this.picker),this.options.autoOpen&&this.preview.trigger("click"))},WPGMZA.ColorInput.prototype.renderPicker=function(){this.state.initialized||(this.renderWheel(),this.renderFields(),this.renderPalette(),this.state.initialized=!0)},WPGMZA.ColorInput.prototype.renderWheel=function(){var self=this;this.wheel={wrap:$("<div class='canvas-wrapper' />"),element:$("<canvas class='color-wheel' />"),handle:$("<div class='canvas-handle' />"),slider:$("<div class='canvas-slider' />")},this.wheel.target=this.wheel.element.get(0),this.wheel.target.height=256,this.wheel.target.width=256,this.wheel.radius=(this.wheel.target.width-2*(this.options.wheelBorderWidth+this.options.wheelPadding))/2,this.wheel.degreeStep=1/this.wheel.radius,this.wheel.context=this.wheel.target.getContext("2d"),this.wheel.context.clearRect(0,0,this.wheel.target.width,this.wheel.target.height),this.wheel.grid={canvas:document.createElement("canvas")},this.wheel.grid.canvas.width=20,this.wheel.grid.canvas.height=20,this.wheel.grid.context=this.wheel.grid.canvas.getContext("2d"),this.wheel.grid.context.fillStyle="rgb(255,255,255)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width,this.wheel.grid.canvas.height),this.wheel.grid.context.fillStyle="rgb(180,180,180)",this.wheel.grid.context.fillRect(0,0,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.grid.context.fillRect(this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2,this.wheel.grid.canvas.width/2,this.wheel.grid.canvas.height/2),this.wheel.element.on("mousedown",function(event){self.state.mouse.down=!0,self.onPickerMouseSelect(event)}),this.wheel.element.on("mousemove",function(event){self.state.mouse.down&&self.onPickerMouseSelect(event)}),this.wheel.element.on("mouseup",function(event){self.clearStates()}),this.wheel.element.on("mouseleave",function(event){self.clearStates()}),this.wheel.wrap.append(this.wheel.element),this.wheel.wrap.append(this.wheel.handle),this.wheel.wrap.append(this.wheel.slider),this.picker.append(this.wheel.wrap)},WPGMZA.ColorInput.prototype.renderFields=function(){var group,self=this;for(group in this.fields={wrap:$("<div class='wpgmza-color-field-wrapper' />"),toggle:$("<div class='color-field-toggle' />"),blocks:{hsla:{keys:["h","s","l","a"]},rgba:{keys:["r","g","b","a"]},hex:{keys:["hex"]}}},this.fields.toggle.on("click",function(){var view=self.fields.view;switch(view){case"hex":view="hsla";break;case"hsla":view="rgba";break;case"rgba":view="hex"}self.updateFieldView(view)}),this.fields.wrap.append(this.fields.toggle),this.fields.blocks){var index,keys=this.fields.blocks[group].keys;for(index in this.fields.blocks[group].wrap=$("<div class='field-block' data-type='"+group+"'/>"),this.fields.blocks[group].rows={labels:$("<div class='labels' />"),controls:$("<div class='controls' />")},this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.controls),this.fields.blocks[group].wrap.append(this.fields.blocks[group].rows.labels),this.options.supportAlpha||-1===keys.indexOf("a")||this.fields.blocks[group].wrap.addClass("alpha-disabled"),keys){var name=keys[index],label=$("<div class='inner-label' />");label.text(name),this.fields.blocks[group][name]=$("<input type='text'/>"),this.fields.blocks[group].rows.controls.append(this.fields.blocks[group][name]),this.fields.blocks[group].rows.labels.append(label),this.fields.blocks[group][name].on("keydown",function(event){const originalEvent=event.originalEvent;"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.fields.blocks[group][name].on("change",function(){self.onFieldChange(this)})}this.fields.wrap.append(this.fields.blocks[group].wrap)}this.picker.append(this.fields.wrap),this.updateFieldView()},WPGMZA.ColorInput.prototype.renderPalette=function(){var self=this;if(this.options.supportPalette){for(var i in this.palette={wrap:$("<div class='wpgmza-color-palette-wrap' />"),variations:[{s:-10,l:-10},{h:15},{h:30},{h:-15},{h:-30},{h:100,s:10},{h:-100,s:-10},{h:180}],controls:[]},this.palette.variations){var mutator,variation=this.palette.variations[i],control=$("<div class='palette-swatch' />");for(mutator in variation)control.attr("data-"+mutator,variation[mutator]);control.on("click",function(){var elem=$(this);self.parseColor(elem.css("background-color")),self.element.trigger("input")}),this.palette.wrap.append(control),this.palette.controls.push(control)}this.picker.append(this.palette.wrap)}},WPGMZA.ColorInput.prototype.updateWheel=function(){this.wheel.center={x:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding,y:this.wheel.radius+this.options.wheelBorderWidth+this.options.wheelPadding},this.color.a<1&&(this.wheel.grid.pattern=this.wheel.context.createPattern(this.wheel.grid.canvas,"repeat"),this.wheel.context.fillStyle=this.wheel.grid.pattern,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill());for(var i=0;i<360;i++){var startAngle=(i-1)*Math.PI/180,endAngle=(i+1)*Math.PI/180;this.wheel.context.beginPath(),this.wheel.context.moveTo(this.wheel.center.x,this.wheel.center.y),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,startAngle,endAngle),this.wheel.context.closePath(),this.wheel.context.fillStyle="hsla("+i+", 100%, 50%, "+this.color.a+")",this.wheel.context.fill()}var gradient=this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius),gradient=(gradient.addColorStop(0,"rgba(255, 255, 255, 1)"),gradient.addColorStop(1,"rgba(255, 255, 255, 0)"),this.wheel.context.fillStyle=gradient,this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius,0,2*Math.PI,!0),this.wheel.context.closePath(),this.wheel.context.fill(),this.wheel.context.lineWidth=2,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.stroke(),this.wheel.context.createLinearGradient(this.wheel.center.x,0,this.wheel.center.x,this.wheel.target.height)),gradient=(gradient.addColorStop(0,this.getColor({l:95},"hsl")),gradient.addColorStop(.5,this.getColor({l:50},"hsl")),gradient.addColorStop(1,this.getColor({l:5},"hsl")),this.wheel.context.beginPath(),this.wheel.context.lineWidth=this.options.wheelBorderWidth,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth/2,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.lineWidth=1,this.wheel.context.strokeStyle=this.options.wheelBorderColor,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding+this.options.wheelBorderWidth,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.beginPath(),this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius+this.options.wheelPadding,0,2*Math.PI),this.wheel.context.stroke(),this.wheel.context.createRadialGradient(this.wheel.center.x,this.wheel.center.y,0,this.wheel.center.x,this.wheel.center.y,this.wheel.radius));gradient.addColorStop(0,"rgba(80, 80, 80, 0)"),gradient.addColorStop(.95,"rgba(80, 80, 80, 0.0)"),gradient.addColorStop(1,"rgba(80, 80, 80, 0.1)"),this.wheel.context.beginPath(),this.wheel.context.lineWidth=6,this.wheel.context.strokeStyle=gradient,this.wheel.context.arc(this.wheel.center.x,this.wheel.center.y,this.wheel.radius-3,0,2*Math.PI),this.wheel.context.stroke()},WPGMZA.ColorInput.prototype.update=function(){this.updateHandles(),this.updateWheel(),this.updateFields(),this.updatePalette()},WPGMZA.ColorInput.prototype.updateHandles=function(){var localRadius=this.wheel.element.width()/2,localHandleOffset=(localRadius-this.options.wheelBorderWidth-this.options.wheelPadding)/100*this.color.s,localHandleOffset={left:localRadius+localHandleOffset*Math.cos(this.degreesToRadians(this.color.h))+"px",top:localRadius+localHandleOffset*Math.sin(this.degreesToRadians(this.color.h))+"px"},localHandleOffset=(this.wheel.handle.css(localHandleOffset),this.color.l/100*360/2),localRadius=(this.state.sliderInvert&&(localHandleOffset=360-localHandleOffset),{left:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.cos(this.degreesToRadians(localHandleOffset+90))+"px",top:localRadius+(localRadius-this.options.wheelBorderWidth/2)*Math.sin(this.degreesToRadians(localHandleOffset+90))+"px"});this.wheel.slider.css(localRadius)},WPGMZA.ColorInput.prototype.updatePreview=function(){this.swatch.css({background:this.getColor(!1,"rgba")})},WPGMZA.ColorInput.prototype.updateFields=function(){var group,hsl=Object.assign({},this.color);for(group in this.fields.blocks)switch(group){case"hsla":this.fields.blocks[group].h.val(hsl.h),this.fields.blocks[group].s.val(hsl.s),this.fields.blocks[group].l.val(hsl.l),this.fields.blocks[group].a.val(hsl.a);break;case"rgba":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a);this.fields.blocks[group].r.val(rgb.r),this.fields.blocks[group].g.val(rgb.g),this.fields.blocks[group].b.val(rgb.b),this.fields.blocks[group].a.val(rgb.a);break;case"hex":var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l,hsl.a),hex=this.rgbToHex(rgb.r,rgb.g,rgb.b,rgb.a);this.fields.blocks[group].hex.val(hex)}},WPGMZA.ColorInput.prototype.updatePalette=function(){if(this.options.supportPalette)for(var i in this.palette.controls){var mutator,hsl=Object.assign({},this.color),i=this.palette.controls[i],data=i.data();for(mutator in 0===hsl.l?(data.h&&(hsl.l+=Math.abs(data.h)/360*100),hsl.l+=10):100===hsl.l&&(data.h&&(hsl.l-=Math.abs(data.h)/360*100),hsl.l-=10),data)hsl[mutator]+=data[mutator];hsl.h<0?hsl.h+=360:360<hsl.h&&(hsl.h-=360),hsl.h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l);var rgb=this.hslToRgb(hsl.h,hsl.s,hsl.l);i.css("background","rgb("+rgb.r+", "+rgb.g+", "+rgb.b+")")}},WPGMZA.ColorInput.prototype.updateFieldView=function(view){switch(view=view||this.options.format||"hex"){case"rgb":view="rgba";break;case"hsl":view="hsla"}for(var group in this.fields.view=view,this.fields.blocks)group===this.fields.view?this.fields.blocks[group].wrap.show():this.fields.blocks[group].wrap.hide()},WPGMZA.ColorInput.prototype.onPickerMouseSelect=function(event){var localRadius=this.wheel.element.width()/2,event=this.getMousePositionInCanvas(this.wheel.target,event),event={x:event.x-localRadius,y:event.y-localRadius},angle=360*Math.atan2(event.y,event.x)/(2*Math.PI),event=(angle<0&&(angle+=360),Math.sqrt(event.x*event.x+event.y*event.y)),range={pickerScaler:localRadius/this.wheel.radius};range.pickerEdge=range.pickerScaler*localRadius,(event<=range.pickerEdge||this.state.lockPicker)&&!this.state.lockSlide?(this.setColor({h:parseInt(angle),s:Math.min(parseInt(event/range.pickerEdge*100),100)}),this.state.lockPicker=!0):((angle-=90)<0&&(angle+=360),this.state.sliderInvert=!1,180<angle&&(angle=180-(angle-180),this.state.sliderInvert=!0),this.setColor({l:parseInt(angle/180*100)}),this.state.lockSlide=!0),this.element.trigger("input")},WPGMZA.ColorInput.prototype.onFieldChange=function(field){if(field&&""!==$(field).val().trim()){var field=$(field).closest(".field-block"),type=field.data("type"),raw=[];if(field.find("input").each(function(){raw.push($(this).val())}),("hsla"===type||"rgba"===type)&&raw[3]){field=raw[3];if("."===field.trim().charAt(field.trim().length-1))return}switch(type){case"hsla":(hsl={h:raw[0]?parseInt(raw[0]):0,s:raw[1]?parseInt(raw[1]):0,l:raw[2]?parseInt(raw[2]):100,a:raw[3]?parseFloat(raw[3]):1}).h=this.clamp(0,360,hsl.h),hsl.s=this.clamp(0,100,hsl.s),hsl.l=this.clamp(0,100,hsl.l),hsl.a=this.clamp(0,1,hsl.a),this.setColor(hsl);break;case"rgba":(rgb={r:raw[0]?parseInt(raw[0]):255,g:raw[1]?parseInt(raw[1]):255,b:raw[2]?parseInt(raw[2]):255,a:raw[3]?parseFloat(raw[3]):1}).r=this.clamp(0,255,rgb.r),rgb.g=this.clamp(0,255,rgb.g),rgb.b=this.clamp(0,255,rgb.b),rgb.a=this.clamp(0,1,rgb.a);var hsl=this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a);this.setColor(hsl);break;case"hex":var rgb=this.hexToRgb(raw[0]||"#ffffff");this.setColor(this.rgbToHsl(rgb.r,rgb.g,rgb.b,rgb.a))}this.element.trigger("input")}},WPGMZA.ColorInput.prototype.onTogglePicker=function(){this.renderPicker(),this.picker.toggleClass("active"),this.update(),this.state.open=this.picker.hasClass("active"),this.state.open&&$(document.body).trigger({type:"colorpicker.open.wpgmza",instance:this})},WPGMZA.ColorInput.prototype.clearStates=function(){this.state.mouse.down=!1,this.state.lockSlide=!1,this.state.lockPicker=!1},WPGMZA.ColorInput.prototype.commit=function(){var syncValue=this.getColor();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-color-input").each(function(index,el){el.wpgmzaColorInput=WPGMZA.ColorInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSBackdropFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSBackdropFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSBackdropFilterInput.createInstance=function(element){return new WPGMZA.CSSBackdropFilterInput(element)},WPGMZA.CSSBackdropFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSBackdropFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSBackdropFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSBackdropFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSBackdropFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSBackdropFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSBackdropFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSBackdropFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-backdrop-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSBackdropFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='backdrop-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='backdrop-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='backdrop-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='backdrop-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='backdrop-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='backdrop-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".backdrop-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSBackdropFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSBackdropFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.backdrop-filter-item-wrap[data-type="'+type+'"]');row.find(".backdrop-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".backdrop-filter-item-input").val(data.value).trigger("change"),row.find(".backdrop-filter-item-slider").slider("value",data.value),row.find(".backdrop-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSBackdropFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-styling-backdrop-filter-input").each(function(index,el){el.wpgmzaCSSBackdropFilterInput=WPGMZA.CSSBackdropFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSFilterInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.filters={blur:{enable:!1,value:0,unit:"px"},brightness:{enable:!1,value:0,unit:"%"},contrast:{enable:!1,value:0,unit:"%"},grayscale:{enable:!1,value:0,unit:"%"},hue_rotate:{enable:!1,value:0,unit:"deg"},invert:{enable:!1,value:0,unit:"%"},sepia:{enable:!1,value:0,unit:"%"},saturate:{enable:!1,value:0,unit:"%"}},this.wrap(),this.renderControls(),this.parseFilters(this.value)},WPGMZA.extend(WPGMZA.CSSFilterInput,WPGMZA.EventDispatcher),WPGMZA.CSSFilterInput.FILTER_PATTERN=/(\S+)/g,WPGMZA.CSSFilterInput.VALUE_PATTERN=/(\(\S*\))/g,WPGMZA.CSSFilterInput.createInstance=function(element){return new WPGMZA.CSSFilterInput(element)},WPGMZA.CSSFilterInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSFilterInput.prototype.getFilters=function(override,format){let filters=[];for(var type in this.filters){var data=this.filters[type];data.enable&&(type=type.replace("_","-"),filters.push(type+"("+data.value+data.unit+")"))}return 0<filters.length?filters.join(" "):"none"},WPGMZA.CSSFilterInput.prototype.setFilters=function(filters){if(this.clearFilters(),filters instanceof Object)for(var type in filters){var value;!this.filters[type]||(value=filters[type])&&(this.filters[type].enable=!0,this.filters[type].value=value)}this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSFilterInput.prototype.clearFilters=function(){for(var i in this.filters)this.filters[i].enable=!1,this.filters[i].value=0},WPGMZA.CSSFilterInput.prototype.parseFilters=function(value){if("string"==typeof value){let filters={};if("none"!==(value=""===(value=value.trim().toLowerCase())?"none":value)){value=value.match(WPGMZA.CSSFilterInput.FILTER_PATTERN);if(value&&value instanceof Array)for(var match of value){let valueArg=match.match(WPGMZA.CSSFilterInput.VALUE_PATTERN);valueArg=valueArg instanceof Array&&0<valueArg.length?valueArg[0]:"";var numericValue,match=match.replace(valueArg,"").replace("-","_");let value=null;0<valueArg.length&&((numericValue=valueArg.match(/(\d+)/g))instanceof Array&&0<numericValue.length&&(value=parseFloat(numericValue[0]))),filters[match]=value}}this.setFilters(filters)}},WPGMZA.CSSFilterInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSFilterInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-css-filter-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSFilterInput.prototype.renderControls=function(){if(this.container)for(var type in this.itemWrappers={},this.filters){var data=this.filters[type],printType=type.replace("_"," ");const wrapper=$("<div class='css-filter-item-wrap' data-type='"+type+"' />"),toggleWrap=$("<div class='css-filter-toggle-wrap' />"),toggleInput=$("<input type='checkbox' class='css-filter-item-toggle' />"),toggleLabel=$("<label />"),controlWrap=$("<div class='css-filter-control-wrap' />");controlAttributes="data-min='1' data-max='100'","deg"===data.unit?controlAttributes="data-min='1' data-max='360'":"px"===data.unit&&(controlAttributes="data-min='1' data-max='200'");const controlInput=$("<input class='css-filter-item-input' type='text' "+controlAttributes+" value='"+data.value+"' />"),controlLabel=$("<small />"),slider=(controlLabel.append("<span>"+data.value+"</span>"+data.unit),$("<div class='css-filter-item-slider' />"));toggleLabel.append(toggleInput),toggleLabel.append(printType),toggleWrap.append(toggleLabel),controlWrap.append(controlInput),controlWrap.append(controlLabel),controlWrap.append(slider),wrapper.append(toggleWrap),wrapper.append(controlWrap),this.itemWrappers[type]=wrapper,this.container.append(wrapper),this.state.initialized=!0,slider.slider({range:"max",min:controlInput.data("min"),max:controlInput.data("max"),value:controlInput.val(),slide:function(event,ui){controlInput.val(ui.value),controlLabel.find("span").text(ui.value),controlInput.trigger("change")},change:function(event,ui){}}),controlInput.wpgmzaRelativeSlider=slider,toggleInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");target.is(":checked")?(parent.addClass("enabled"),this.setFilterState(event,!0)):(parent.removeClass("enabled"),this.setFilterState(event,!1))}),controlInput.on("change",event=>{const target=$(event.currentTarget),parent=target.closest(".css-filter-item-wrap");event=parent.data("type");this.setFilterValue(event,target.val())})}},WPGMZA.CSSFilterInput.prototype.setFilterState=function(type,state){this.filters[type]&&(this.filters[type].enable=state),this.commit()},WPGMZA.CSSFilterInput.prototype.setFilterValue=function(type,value){this.filters[type]&&(this.filters[type].value=parseFloat(value)),this.commit()},WPGMZA.CSSFilterInput.prototype.update=function(){if(this.container)for(var type in this.filters){var data=this.filters[type];const row=this.container.find('.css-filter-item-wrap[data-type="'+type+'"]');row.find(".css-filter-item-toggle").prop("checked",data.enable).trigger("change"),row.find(".css-filter-item-input").val(data.value).trigger("change"),row.find(".css-filter-item-slider").slider("value",data.value),row.find(".css-filter-control-wrap").find("small span").text(data.value)}},WPGMZA.CSSFilterInput.prototype.commit=function(){var syncValue=this.getFilters();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-css-filter-input").each(function(index,el){el.wpgmzaCSSFilterInput=WPGMZA.CSSFilterInput.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSStateBlock=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.tabs=this.element.find(".wpgmza-css-state-block-item"),this.items=this.element.find(".wpgmza-css-state-block-content"),this.items.removeClass("active"),this.bindEvents(),this.element.find(".wpgmza-css-state-block-item:first-child").click()},WPGMZA.extend(WPGMZA.CSSStateBlock,WPGMZA.EventDispatcher),WPGMZA.CSSStateBlock.createInstance=function(element){return new WPGMZA.CSSStateBlock(element)},WPGMZA.CSSStateBlock.prototype.bindEvents=function(){let self=this;this.tabs.on("click",function(event){self.onClick($(this))})},WPGMZA.CSSStateBlock.prototype.onClick=function(item){var type=item.data("type");type&&(this.tabs.removeClass("active"),item.addClass("active"),this.items.removeClass("active"),this.element.find('.wpgmza-css-state-block-content[data-type="'+type+'"]').addClass("active"))},$(document.body).ready(function(){$(".wpgmza-css-state-block").each(function(index,el){el.wpgmzaCSSStateBlock=WPGMZA.CSSStateBlock.createInstance(el)})})}),jQuery(function($){WPGMZA.CSSUnitInput=function(element,options){if(!(element instanceof HTMLInputElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dataAttributes=this.element.data(),this.type=element.type,this.value=element.value,this.options={},this.parseOptions(options),this.state={initialized:!1},this.unit={value:0,suffix:"px"},this.wrap(),this.renderControls(),this.parseUnits(this.value)},WPGMZA.extend(WPGMZA.CSSUnitInput,WPGMZA.EventDispatcher),WPGMZA.CSSUnitInput.VALID_TYPES=["px","%","rem","em"],WPGMZA.CSSUnitInput.createInstance=function(element){return new WPGMZA.CSSUnitInput(element)},WPGMZA.CSSUnitInput.prototype.parseOptions=function(options){if(options)for(var i in options)void 0!==this.options[i]&&("object"==typeof this.options[i]&&"object"==typeof options[i]?this.options[i]=Object.assign(this.options[i],options[i]):this.options[i]=options[i]);if(this.dataAttributes)for(var i in this.dataAttributes)void 0!==this.options[i]&&(this.options[i]=this.dataAttributes[i])},WPGMZA.CSSUnitInput.prototype.getUnits=function(override,format){return this.unit.value+this.unit.suffix},WPGMZA.CSSUnitInput.prototype.setUnits=function(value,suffix){this.unit.value=value?parseFloat(value):this.unit.value,this.unit.suffix=suffix?suffix.trim():this.unit.suffix,0<this.unit.value-parseInt(this.unit.value)&&(this.unit.value=parseFloat(this.unit.value.toFixed(2))),this.unit.value<=0&&(this.unit.value=0),this.validateSuffix(),this.commit(),this.state.initialized&&this.update()},WPGMZA.CSSUnitInput.prototype.parseUnits=function(value){if("string"==typeof value){let unit=(value=""===(value=value.trim().toLowerCase().replace(/ /g,""))?"0px":value).match(/((\d+\.\d+)|(\d+))/),suffix=(unit=unit&&unit[0]?parseFloat(unit[0]):this.unit.value,value.match(/(([a-z]+)|(%))/));suffix=suffix&&suffix[0]?suffix[0]:this.unit.suffix,this.setUnits(unit,suffix)}},WPGMZA.CSSUnitInput.prototype.wrap=function(){if(!this.element||"text"!==this.type)throw new Error("WPGMZA.CSSUnitInput requires a text field as a base");this.element.hide(),this.container=$("<div class='wpgmza-styling-unit-input-wrapper' />"),this.container.insertAfter(this.element),this.container.append(this.element)},WPGMZA.CSSUnitInput.prototype.renderControls=function(){this.container&&(this.unitValueInput=$("<input type='text' class='unit-value-input' />"),this.unitSuffixToggle=$("<div class='unit-suffix-toggle' />"),this.unitValueStepDownBtn=$("<div class='unit-stepper-button' data-mode='down' />"),this.unitValueStepUpBtn=$("<div class='unit-stepper-button' data-mode='up' />"),this.unitValueStepperWrap=$("<div class='unit-stepper-wrapper' />"),this.unitInnerWrap=$("<div class='unit-input-inner-wrap' />"),this.unitValueStepperWrap.append(this.unitValueStepUpBtn),this.unitValueStepperWrap.append(this.unitValueStepDownBtn),this.unitInnerWrap.append(this.unitValueStepperWrap),this.unitInnerWrap.append(this.unitValueInput),this.unitInnerWrap.append(this.unitSuffixToggle),this.container.append(this.unitInnerWrap),this.state.initialized=!0,this.unitValueInput.on("keydown",event=>{const originalEvent=event.originalEvent;originalEvent.key&&1===originalEvent.key.length?(0===originalEvent.key.trim().length||"."!==originalEvent.key&&isNaN(parseInt(originalEvent.key)))&&this.unitSuffixToggle.hide():"ArrowUp"===originalEvent.key?this.increment():"ArrowDown"===originalEvent.key?this.decrement():"Enter"===originalEvent.key&&(originalEvent.preventDefault(),originalEvent.stopPropagation(),$(event.currentTarget).trigger("change"))}),this.unitValueInput.on("change",event=>{const input=$(event.currentTarget);this.parseUnits(input.val())}),this.unitValueStepUpBtn.on("click",event=>{this.increment()}),this.unitValueStepDownBtn.on("click",event=>{this.decrement()}))},WPGMZA.CSSUnitInput.prototype.validateSuffix=function(){(!this.unit.suffix||-1===WPGMZA.CSSUnitInput.VALID_TYPES.indexOf(this.unit.suffix))&&(this.unit.suffix=this.options.defaultSuffix)},WPGMZA.CSSUnitInput.prototype.increment=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value+=.1:value+=1,this.setUnits(value,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.decrement=function(){this.parseUnits(this.unitValueInput.val());let value=this.unit.value;0<value-parseInt(value)?value-=.1:--value,this.setUnits(this.unit.value-1,this.unit.suffix)},WPGMZA.CSSUnitInput.prototype.update=function(){this.unitValueInput&&this.unitSuffixToggle&&(this.unitValueInput.val(this.unit.value),this.unitSuffixToggle.text(this.unit.suffix),this.unitSuffixToggle.show())},WPGMZA.CSSUnitInput.prototype.commit=function(){var syncValue=this.getUnits();this.element.val(syncValue),this.element.trigger("change")},$(document.body).ready(function(){$("input.wpgmza-stylig-unit-input").each(function(index,el){el.wpgmzaCSSUnitInput=WPGMZA.CSSUnitInput.createInstance(el)})})}),jQuery(function($){WPGMZA.DrawingManager=function(map){WPGMZA.assertInstanceOf(this,"DrawingManager"),WPGMZA.EventDispatcher.call(this);var self=this;this.map=map,this.mode=WPGMZA.DrawingManager.MODE_NONE,this.map.on("click rightclick",function(event){self.onMapClick(event)})},WPGMZA.DrawingManager.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.DrawingManager.prototype.constructor=WPGMZA.DrawingManager,WPGMZA.DrawingManager.MODE_NONE=null,WPGMZA.DrawingManager.MODE_MARKER="marker",WPGMZA.DrawingManager.MODE_POLYGON="polygon",WPGMZA.DrawingManager.MODE_POLYLINE="polyline",WPGMZA.DrawingManager.MODE_CIRCLE="circle",WPGMZA.DrawingManager.MODE_RECTANGLE="rectangle",WPGMZA.DrawingManager.MODE_HEATMAP="heatmap",WPGMZA.DrawingManager.MODE_POINTLABEL="pointlabel",WPGMZA.DrawingManager.MODE_IMAGEOVERLAY="imageoverlay",WPGMZA.DrawingManager.getConstructor=function(){return"google-maps"!==WPGMZA.settings.engine?WPGMZA.OLDrawingManager:WPGMZA.GoogleDrawingManager},WPGMZA.DrawingManager.createInstance=function(map){return new(WPGMZA.DrawingManager.getConstructor())(map)},WPGMZA.DrawingManager.prototype.setDrawingMode=function(mode){this.mode=mode,this.trigger("drawingmodechanged")},WPGMZA.DrawingManager.prototype.onMapClick=function(event){event.target instanceof WPGMZA.Map&&(this.mode!==WPGMZA.DrawingManager.MODE_POINTLABEL||this.pointlabel||(this.pointlabel=WPGMZA.Pointlabel.createInstance({center:new WPGMZA.LatLng({lat:event.latLng.lat,lng:event.latLng.lng}),map:this.map}),this.map.addPointlabel(this.pointlabel),this.pointlabel.setEditable(!0),this.onPointlabelComplete(this.pointlabel),this.pointlabel=!1))},WPGMZA.DrawingManager.prototype.onPointlabelComplete=function(pointlabel){var event=new WPGMZA.Event("pointlabelcomplete");event.enginePointlabel=pointlabel,this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.EmbeddedMedia=function(element,container){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");if(!(container instanceof HTMLElement))throw new Error("Container is not an instance of HTMLInputElement");const self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(element),this.container=$(container),this.corners=["southEast"],this.handles=null,this.activeCorner=!1,this.container.on("mousemove",function(event){self.onMoveHandle(event)}),this.container.on("mouseup",function(event){self.activeCorner&&self.onDeactivateHandle(self.activeCorner)}),this.container.on("mouseleave",function(event){self.activeCorner&&(self.onDeactivateHandle(self.activeCorner),self.onDetach())}),this.container.on("mousedown",function(event){self.onDetach()})},WPGMZA.extend(WPGMZA.EmbeddedMedia,WPGMZA.EventDispatcher),WPGMZA.EmbeddedMedia.createInstance=function(element,container){return new WPGMZA.EmbeddedMedia(element,container)},WPGMZA.EmbeddedMedia.detatchAll=function(){var element;for(element of document.querySelectorAll(".wpgmza-embedded-media"))element.wpgmzaEmbeddedMedia&&element.wpgmzaEmbeddedMedia.onDetach();$(".wpgmza-embedded-media").removeClass("selected"),$(".wpgmza-embedded-media-handle").remove()},WPGMZA.EmbeddedMedia.prototype.onSelect=function(){this.element.addClass("selected"),this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onDetach=function(){this.element.removeClass("selected"),this.destroyHandles(),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.onActivateHandle=function(corner){this.activeCorner=corner},WPGMZA.EmbeddedMedia.prototype.onDeactivateHandle=function(corner){this.activeCorner=!1,this.updateHandles()},WPGMZA.EmbeddedMedia.prototype.onMoveHandle=function(event){if(this.activeCorner&&this.handles[this.activeCorner]){const mouse=this.getMousePosition(event);this.handles[this.activeCorner].element&&(event=this.getAnchorPosition().y+this.element.height(),mouse.y>event&&(mouse.y=event),this.handles[this.activeCorner].element.css({left:mouse.x-3+"px",top:mouse.y-3+"px"}),this.applyResize(mouse))}},WPGMZA.EmbeddedMedia.prototype.createHandles=function(){if(!this.handles){this.handles={};for(var corner of this.corners)this.handles[corner]={element:$("<div/>"),mutating:!1},this.handles[corner].element.addClass("wpgmza-embedded-media-handle"),this.handles[corner].element.attr("data-corner",corner),this.container.append(this.handles[corner].element),this.bindHandle(corner)}},WPGMZA.EmbeddedMedia.prototype.destroyHandles=function(){if(this.handles&&this.handles instanceof Object){for(var i in this.handles){const handle=this.handles[i];handle.element&&handle.element.remove()}this.handles=null}},WPGMZA.EmbeddedMedia.prototype.updateHandles=function(){this.createHandles();var anchor=this.getAnchorPosition();if(this.handles&&this.handles instanceof Object)for(var corner in this.handles){const handle=this.handles[corner].element,position={top:0,left:0};"southEast"===corner&&(position.left=anchor.x+this.element.width(),position.top=anchor.y+this.element.height()),handle.css({left:position.left-3+"px",top:position.top-3+"px"})}},WPGMZA.EmbeddedMedia.prototype.bindHandle=function(corner){const self=this;this.handles&&this.handles[corner]&&(this.handles[corner].element.on("mousedown",function(event){event.preventDefault(),event.stopPropagation(),self.onActivateHandle(corner)}),this.handles[corner].element.on("mouseup",function(event){event.preventDefault(),event.stopPropagation(),self.onDeactivateHandle(corner)}))},WPGMZA.EmbeddedMedia.prototype.applyResize=function(mouse){var anchor=this.getAnchorPosition(),padding=parseInt(this.container.css("padding").replace("px","")),mouse=Math.abs(mouse.x-anchor.x),mouse=this.clamp(padding,this.container.width()-padding,mouse);this.element.css("width",parseInt(mouse)+"px"),this.element.attr("width",parseInt(mouse)),this.container.trigger("media_resized")},WPGMZA.EmbeddedMedia.prototype.getMousePosition=function(event){event=event.originalEvent||event;const pos={x:parseInt(event.pageX-this.container.offset().left),y:parseInt(event.pageY-this.container.offset().top)};event=parseInt(this.container.css("padding").replace("px",""));return pos.x=this.clamp(event,this.container.width()-event,pos.x),pos.y=this.clamp(event,this.container.height()-event,pos.y),pos},WPGMZA.EmbeddedMedia.prototype.getAnchorPosition=function(){return{x:parseInt(this.element.offset().left-this.container.offset().left),y:parseInt(this.element.offset().top-this.container.offset().top)}},WPGMZA.EmbeddedMedia.prototype.clamp=function(min,max,value){return isNaN(value)&&(value=0),Math.min(Math.max(value,min),max)}}),jQuery(function($){WPGMZA.Event=function(options){if("string"==typeof options&&(this.type=options),this.bubbles=!0,this.cancelable=!0,this.phase=WPGMZA.Event.PHASE_CAPTURE,this.target=null,this._cancelled=!1,"object"==typeof options)for(var name in options)this[name]=options[name]},WPGMZA.Event.CAPTURING_PHASE=0,WPGMZA.Event.AT_TARGET=1,WPGMZA.Event.BUBBLING_PHASE=2,WPGMZA.Event.prototype.stopPropagation=function(){this._cancelled=!0}}),jQuery(function($){WPGMZA.FancyControls={formatToggleSwitch:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-round-flat"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)},formatToggleButton:function(el){var div=$("<div class='switch'></div>"),input=el,el=el.parentNode,text=$(el).text().trim(),label=$("<label></label>");$(input).addClass("cmn-toggle cmn-toggle-yes-no"),$(input).attr("id",$(input).attr("name")),$(label).attr("for",$(input).attr("name")),$(label).attr("data-on",WPGMZA.localized_strings.yes),$(label).attr("data-off",WPGMZA.localized_strings.no),$(div).append(input),$(div).append(label),$(el).replaceWith(div),$(div).wrap($("<div></div>")),$(div).after(text)}},$(".wpgmza-fancy-toggle-switch").each(function(index,el){WPGMZA.FancyControls.formatToggleSwitch(el)}),$(".wpgmza-fancy-toggle-button").each(function(index,el){WPGMZA.FancyControls.formatToggleButton(el)})}),jQuery(function($){WPGMZA.Feature=function(options){for(var key in WPGMZA.assertInstanceOf(this,"Feature"),WPGMZA.EventDispatcher.call(this),this.id=-1,options)this[key]=options[key]},WPGMZA.extend(WPGMZA.Feature,WPGMZA.EventDispatcher),WPGMZA.MapObject=WPGMZA.Feature,WPGMZA.Feature.prototype.parseGeometry=function(subject){if("string"==typeof subject&&subject.match(/^\[/))try{subject=JSON.parse(subject)}catch(e){}if("object"==typeof subject){for(var arr=subject,i=0;i<arr.length;i++)arr[i].lat=parseFloat(arr[i].lat),arr[i].lng=parseFloat(arr[i].lng);return arr}if("string"!=typeof subject)throw new Error("Invalid geometry");for(var coords,results=[],pairs=subject.replace(/[^ ,\d\.\-+e]/g,"").split(","),i=0;i<pairs.length;i++)coords=pairs[i].split(" "),results.push({lat:parseFloat(coords[1]),lng:parseFloat(coords[0])});return results},WPGMZA.Feature.prototype.setOptions=function(options){for(var key in options)this[key]=options[key];this.updateNativeFeature()},WPGMZA.Feature.prototype.setEditable=function(editable){this.setOptions({editable:editable})},WPGMZA.Feature.prototype.setDraggable=function(draggable){this.setOptions({draggable:draggable})},WPGMZA.Feature.prototype.getScalarProperties=function(){var key,options={};for(key in this)switch(typeof this[key]){case"number":options[key]=parseFloat(this[key]);break;case"boolean":case"string":options[key]=this[key]}return options},WPGMZA.Feature.prototype.updateNativeFeature=function(){var props=this.getScalarProperties();"open-layers"===WPGMZA.settings.engine?this.layer&&this.layer.setStyle(WPGMZA.OLFeature.getOLStyle(props)):this.googleFeature.setOptions(props)}}),jQuery(function($){WPGMZA.FriendlyError=function(){}}),jQuery(function($){WPGMZA.GenericModal=function(element,complete,cancel){this.element=$(element),this._onComplete=complete||!1,this._onCancel=cancel||!1,this.bindEvents()},WPGMZA.extend(WPGMZA.GenericModal,WPGMZA.EventDispatcher),WPGMZA.GenericModal.createInstance=function(element,complete,cancel){return new(WPGMZA.isProVersion()?WPGMZA.ProGenericModal:WPGMZA.GenericModal)(element,complete,cancel)},WPGMZA.GenericModal.prototype.bindEvents=function(){const self=this;this.element.on("click",".wpgmza-button",function(){"complete"===$(this).data("action")?self.onComplete():self.onCancel()})},WPGMZA.GenericModal.prototype.getData=function(){const data={};return this.element.find("input,select").each(function(){$(this).data("ajax-name")&&(data[$(this).data("ajax-name")]=$(this).val())}),data},WPGMZA.GenericModal.prototype.onComplete=function(){this.hide(),"function"==typeof this._onComplete&&this._onComplete(this.getData())},WPGMZA.GenericModal.prototype.onCancel=function(){this.hide(),"function"==typeof this._onCancel&&this._onCancel()},WPGMZA.GenericModal.prototype.show=function(complete,cancel){this._onComplete=complete||this._onComplete,this._onCancel=cancel||this._onCancel,this.element.addClass("pending")},WPGMZA.GenericModal.prototype.hide=function(){this.element.removeClass("pending")}}),jQuery(function($){WPGMZA.Geocoder=function(){WPGMZA.assertInstanceOf(this,"Geocoder")},WPGMZA.Geocoder.SUCCESS="success",WPGMZA.Geocoder.ZERO_RESULTS="zero-results",WPGMZA.Geocoder.FAIL="fail",WPGMZA.Geocoder.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleGeocoder:WPGMZA.OLGeocoder},WPGMZA.Geocoder.createInstance=function(){return new(WPGMZA.Geocoder.getConstructor())},WPGMZA.Geocoder.prototype.getLatLngFromAddress=function(options,callback){WPGMZA.isLatLngString(options.address)&&(options=options.address.split(/,\s*/),callback([(callback=new WPGMZA.LatLng({lat:parseFloat(options[0]),lng:parseFloat(options[1])})).latLng=callback],WPGMZA.Geocoder.SUCCESS))},WPGMZA.Geocoder.prototype.getAddressFromLatLng=function(options,callback){callback([new WPGMZA.LatLng(options.latLng).toString()],WPGMZA.Geocoder.SUCCESS)},WPGMZA.Geocoder.prototype.geocode=function(options,callback){if("address"in options)return this.getLatLngFromAddress(options,callback);if("latLng"in options)return this.getAddressFromLatLng(options,callback);throw new Error("You must supply either a latLng or address")}}),jQuery(function($){WPGMZA.GoogleAPIErrorHandler=function(){var _error,self=this;"google-maps"==WPGMZA.settings.engine&&("map-edit"==WPGMZA.currentPage||0==WPGMZA.is_admin&&1==WPGMZA.userCanAdministrator)&&(this.element=$(WPGMZA.html.googleMapsAPIErrorDialog),1==WPGMZA.is_admin&&this.element.find(".wpgmza-front-end-only").remove(),this.errorMessageList=this.element.find(".wpgmza-google-api-error-list"),this.templateListItem=this.element.find("li.template").remove(),this.messagesAlreadyDisplayed={},_error=console.error,console.error=function(message){self.onErrorMessage(message),_error.apply(this,arguments)},"google-maps"!=WPGMZA.settings.engine||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT||this.addErrorMessage(WPGMZA.localized_strings.no_google_maps_api_key,["https://www.wpgmaps.com/documentation/creating-a-google-maps-api-key/"]))},WPGMZA.GoogleAPIErrorHandler.prototype.onErrorMessage=function(message){var m,urls;message&&((m=message.match(/You have exceeded your (daily )?request quota for this API/))||(m=message.match(/This API project is not authorized to use this API/))||(m=message.match(/^Geocoding Service: .+/))?(urls=message.match(/http(s)?:\/\/[^\s]+/gm),this.addErrorMessage(m[0],urls)):(m=message.match(/^Google Maps.+error: (.+)\s+(http(s?):\/\/.+)/m))&&this.addErrorMessage(m[1].replace(/([A-Z])/g," $1"),[m[2]]))},WPGMZA.GoogleAPIErrorHandler.prototype.addErrorMessage=function(message,urls){var self=this;if(!this.messagesAlreadyDisplayed[message]){var li=this.templateListItem.clone(),buttonContainer=($(li).find(".wpgmza-message").html(message),$(li).find(".wpgmza-documentation-buttons")),buttonTemplate=$(li).find(".wpgmza-documentation-buttons>a");if(buttonTemplate.remove(),urls&&urls.length){for(var i=0;i<urls.length;i++){urls[i];var button=buttonTemplate.clone(),text=WPGMZA.localized_strings.documentation;button.attr("href",urls[i]),$(button).find("i").addClass("fa-external-link"),$(button).append(text)}buttonContainer.append(button)}$(this.errorMessageList).append(li),$("#wpgmza_map, .wpgmza_map").each(function(index,el){var container=$(el).find(".wpgmza-google-maps-api-error-overlay");0==container.length&&(container=$("<div class='wpgmza-google-maps-api-error-overlay'></div>")).html(self.element.html()),setTimeout(function(){$(el).append(container)},1e3)}),$(".gm-err-container").parent().css({"z-index":1}),this.messagesAlreadyDisplayed[message]=!0}},WPGMZA.googleAPIErrorHandler=new WPGMZA.GoogleAPIErrorHandler}),jQuery(function($){WPGMZA.InfoWindow=function(feature){var self=this;WPGMZA.EventDispatcher.call(this),WPGMZA.assertInstanceOf(this,"InfoWindow"),this.on("infowindowopen",function(event){self.onOpen(event)}),feature&&(this.feature=feature,this.state=WPGMZA.InfoWindow.STATE_CLOSED,feature.map?setTimeout(function(){self.onFeatureAdded(event)},100):feature.addEventListener("added",function(event){self.onFeatureAdded(event)}))},WPGMZA.InfoWindow.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.InfoWindow.prototype.constructor=WPGMZA.InfoWindow,WPGMZA.InfoWindow.OPEN_BY_CLICK=1,WPGMZA.InfoWindow.OPEN_BY_HOVER=2,WPGMZA.InfoWindow.STATE_OPEN="open",WPGMZA.InfoWindow.STATE_CLOSED="closed",WPGMZA.InfoWindow.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProInfoWindow:WPGMZA.GoogleInfoWindow:WPGMZA.isProVersion()?WPGMZA.OLProInfoWindow:WPGMZA.OLInfoWindow},WPGMZA.InfoWindow.createInstance=function(feature){return new(this.getConstructor())(feature)},Object.defineProperty(WPGMZA.InfoWindow.prototype,"content",{get:function(){return this.getContent()},set:function(value){this.contentHtml=value}}),WPGMZA.InfoWindow.prototype.addEditButton=function(){return"map-edit"==WPGMZA.currentPage&&this.feature instanceof WPGMZA.Marker?' <a title="Edit this marker" style="width:15px;" class="wpgmza_edit_btn" data-edit-marker-id="'+this.feature.id+'"><i class="fa fa-edit"></i></a>':""},WPGMZA.InfoWindow.prototype.workOutDistanceBetweenTwoMarkers=function(location1,location2){if(location1&&location2)return location1=WPGMZA.Distance.between(location1,location2),this.distanceUnits==WPGMZA.Distance.MILES&&(location1/=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(location1,2)},WPGMZA.InfoWindow.prototype.getContent=function(callback){var currentLatLng,html="",extra_html="";return this.feature instanceof WPGMZA.Marker&&(this.feature.map.settings.store_locator_show_distance&&this.feature.map.storeLocator&&this.feature.map.storeLocator.state==WPGMZA.StoreLocator.STATE_APPLIED&&(currentLatLng=this.feature.getPosition(),currentLatLng=this.workOutDistanceBetweenTwoMarkers(this.feature.map.storeLocator.center,currentLatLng),extra_html+="<p>"+(this.feature.map.settings.store_locator_distance==WPGMZA.Distance.KILOMETERS?currentLatLng+WPGMZA.localized_strings.kilometers_away:currentLatLng+" "+WPGMZA.localized_strings.miles_away)+"</p>"),html=this.feature.address+extra_html),this.contentHtml&&(html=this.contentHtml),callback&&callback(html),html},WPGMZA.InfoWindow.prototype.open=function(map,feature){return this.feature=feature,!WPGMZA.settings.disable_infowindows&&"1"!=WPGMZA.settings.wpgmza_settings_disable_infowindows&&(!this.feature.disableInfoWindow&&(this.state=WPGMZA.InfoWindow.STATE_OPEN,!0))},WPGMZA.InfoWindow.prototype.close=function(){this.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(this.state=WPGMZA.InfoWindow.STATE_CLOSED,this.trigger("infowindowclose"))},WPGMZA.InfoWindow.prototype.setContent=function(options){},WPGMZA.InfoWindow.prototype.setOptions=function(options){},WPGMZA.InfoWindow.prototype.onFeatureAdded=function(){1==this.feature.settings.infoopen&&this.open()},WPGMZA.InfoWindow.prototype.onOpen=function(){}}),jQuery(function($){"installer"==WPGMZA.currentPage&&(WPGMZA.Installer=function(){var defaultEngine,self=this;WPGMZA.EventDispatcher.apply(this),this.element=$(document.body).find(".wpgmza-installer-steps"),this.skipButton=$(document.body).find(".wpgmza-installer-skip"),this.element.length<=0||(this.redirectUrl=this.element.data("redirect"),this.step=0,this.max=0,this.findMax(),$(this.element).on("click",".next-step-button",function(event){self.next()}),$(this.element).on("click",".prev-step-button",function(event){self.prev()}),$(this.element).on("click",".sub-step-trigger",function(event){self.triggerSubStep($(this))}),$(this.element).on("change",'input[name="wpgmza_maps_engine"]',function(event){self.setEngine($(this).val())}),$(this.element).on("keyup change",'input[name="api_key"]',function(event){self.setApiKey($(this).val())}),$(this.element).on("change",'select[name="tile_server_url"]',function(event){self.setTileServer($(this).val())}),$(this.element).on("click",".google-maps-auto-key-form-wrapper .wpgmza-button",function(event){self.getAutoKey()}),$(this.element).on("click",".launcher-trigger",function(event){var launcher=$(this).data("launcher");launcher&&"google-maps-quick-start-launcher"===launcher&&self.launchQuickStart()}),this.skipButton.on("click",function(event){event.preventDefault(),self.skip()}),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.engine?WPGMZA.settings.engine:"google-maps",$(this.element).find('input[name="wpgmza_maps_engine"][value="'+defaultEngine+'"]').prop("checked",!0).trigger("change"),defaultEngine=WPGMZA&&WPGMZA.settings&&WPGMZA.settings.googleMapsApiKey?WPGMZA.settings.googleMapsApiKey:"",this.element.find('input[name="api_key"]').val(defaultEngine).trigger("change"),this.trigger("init.installer.admin"),this.loadStep(this.step))},WPGMZA.extend(WPGMZA.Installer,WPGMZA.EventDispatcher),WPGMZA.Installer.NODE_SERVER="https://wpgmaps.us-3.evennode.com/api/v1/",WPGMZA.Installer.createInstance=function(){return new WPGMZA.Installer},WPGMZA.Installer.prototype.findMax=function(){var self=this;$(this.element).find(".step").each(function(){parseInt($(this).data("step"))>self.max&&(self.max=parseInt($(this).data("step")))})},WPGMZA.Installer.prototype.prepareAddressFields=function(){$(this.element).find("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,null)})},WPGMZA.Installer.prototype.next=function(){this.step<this.max?this.loadStep(this.step+1):this.complete()},WPGMZA.Installer.prototype.prev=function(){0<this.step&&this.loadStep(this.step-1)},WPGMZA.Installer.prototype.loadStep=function(index){this.loadSubSteps(index),$(this.element).find(".step").removeClass("active"),$(this.element).find('.step[data-step="'+index+'"]').addClass("active"),this.step=index,0===this.step?$(this.element).find(".prev-step-button").addClass("wpgmza-hidden"):$(this.element).find(".prev-step-button").removeClass("wpgmza-hidden"),this.step===this.max?$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("final")):$(this.element).find(".next-step-button span").text($(this.element).find(".next-step-button").data("next")),this.autoFocus(),this.applyStepConditionState(),$(window).scrollTop(0),this.trigger("step.installer.admin")},WPGMZA.Installer.prototype.loadSubSteps=function(index){const stepWrapper=$(this.element).find('.step[data-step="'+index+'"]');stepWrapper.find(".sub-step-container").length&&(stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step-container").removeClass("wpgmza-hidden"))},WPGMZA.Installer.prototype.triggerSubStep=function(context){const stepWrapper=$(this.element).find('.step[data-step="'+this.step+'"]');if(stepWrapper.find(".sub-step-container").length){context=context.data("sub-step");if(stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').length&&(stepWrapper.find(".sub-step-container").addClass("wpgmza-hidden"),stepWrapper.find(".sub-step").addClass("wpgmza-hidden"),stepWrapper.find('.sub-step[data-sub-step="'+context+'"]').removeClass("wpgmza-hidden"),"google-maps-auto-key"===context))try{if(WPGMZA.getCurrentPosition(function(data){if(data.coords){data=data.coords;if($('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","Fetching..."),data.latitude&&data.longitude){const geocoder=WPGMZA.Geocoder.createInstance();geocoder.getAddressFromLatLng({latLng:new WPGMZA.LatLng({lat:data.latitude,lng:data.longitude})},function(address){$('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder",""),address&&$('.google-maps-auto-key-form-wrapper input[name="address"]').val(address)})}else $('.google-maps-auto-key-form-wrapper input[name="address"]').attr("placeholder","")}}),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val().trim().length<=0){var domain=window.location.hostname;if("localhost"===domain)try{var paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(domain+="-"+paths[1])}catch(ex){}$('.google-maps-auto-key-form-wrapper input[name="site_url"]').val(domain),$('.google-maps-auto-key-form-wrapper input[name="site_url"]').attr("data-predicted-domain",domain)}}catch(ex){}}},WPGMZA.Installer.prototype.getActiveBlock=function(){return $(this.element).find('.step[data-step="'+this.step+'"]')},WPGMZA.Installer.prototype.autoFocus=function(){var block=this.getActiveBlock();block&&(0<block.find("input").length?block.find("input")[0].focus():0<block.find("select").length&&block.find("select")[0].focus())},WPGMZA.Installer.prototype.complete=function(){$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.saveOptions()},WPGMZA.Installer.prototype.getData=function(){var data={};return $(this.element).find(".step").each(function(){$(this).find("input,select").each(function(){var value,name=$(this).attr("name");name&&""!==name.trim()&&""!==(value=$(this).val()).trim()&&(data[name.trim()]=value.trim())})}),data},WPGMZA.Installer.prototype.setEngine=function(engine){this.engine=engine,$(this.element).attr("data-engine",engine)},WPGMZA.Installer.prototype.setApiKey=function(apiKey){this.apiKey=apiKey.trim(),this.applyStepConditionState()},WPGMZA.Installer.prototype.setTileServer=function(server){let previewLink=this.tileServer=server;previewLink=(previewLink=previewLink.replace("{a-c}","a")).replace("{z}/{x}/{y}","7/20/49"),$(this.element).find(".open_layers_sample_tile").attr("src",previewLink)},WPGMZA.Installer.prototype.applyStepConditionState=function(){const stepWrapper=this.getActiveBlock();var condition=stepWrapper.data("conditional");const continueButton=$(this.element).find(".next-step-button");!condition||this.hasSatisfiedStepCondition(condition)?continueButton.removeClass("wpgmza-hidden"):continueButton.addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.hasSatisfiedStepCondition=function(condition){let satisfied=!1;return satisfied="engine-set-up"===condition?!this.engine||"google-maps"!==this.engine||!!this.apiKey:satisfied},WPGMZA.Installer.prototype.getAutoKey=function(){return!1},WPGMZA.Installer.prototype.launchQuickStart=function(){const popupDimensions={width:570,height:700};popupDimensions.left=(screen.width-popupDimensions.width)/2,popupDimensions.top=(screen.height-popupDimensions.height)/2,$("#adminmenuwrap").length&&(popupDimensions.left+=$("#adminmenuwrap").width()/2);let attributes=[];attributes.push("resizable=yes"),attributes.push("width="+popupDimensions.width),attributes.push("height="+popupDimensions.height),attributes.push("left="+popupDimensions.left),attributes.push("top="+popupDimensions.top),attributes=attributes.join(","),window.open("https://console.cloud.google.com/google/maps-hosted","WP Go Maps - Create API Key",attributes)},WPGMZA.Installer.prototype.saveOptions=function(){const self=this;var formData=this.getData(),formData={action:"wpgmza_installer_page_save_options",nonce:this.element.attr("data-ajax-nonce"),wpgmza_maps_engine:this.engine,tile_server_url:formData.tile_server_url,api_key:formData.api_key};$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:formData,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},WPGMZA.Installer.prototype.hideAutoKeyError=function(){$(".auto-key-error").addClass("wpgmza-hidden")},WPGMZA.Installer.prototype.showAutoKeyError=function(codeOrMsg){let message="";(message=-1===codeOrMsg.indexOf(" ")?$(".auto-key-error").data(codeOrMsg)||codeOrMsg:codeOrMsg).length?($(".auto-key-error").find(".notice").text(message),$(".auto-key-error").removeClass("wpgmza-hidden")):this.hideAutoKeyError()},WPGMZA.Installer.prototype.skip=function(){const self=this;$(this.element).find(".step").removeClass("active"),$(this.element).find(".step-controller").addClass("wpgmza-hidden"),$(this.element).find(".step-loader").removeClass("wpgmza-hidden"),$(this.element).find(".step-loader .progress-finish").removeClass("wpgmza-hidden"),this.skipButton.addClass("wpgmza-hidden");var options={action:"wpgmza_installer_page_skip",nonce:this.element.attr("data-ajax-nonce")};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:options,success:function(response,status,xhr){window.location.href=self.redirectUrl}})},$(document).ready(function(event){WPGMZA.installer=WPGMZA.Installer.createInstance()}))}),jQuery(function($){WPGMZA.InternalEngine={LEGACY:"legacy",ATLAS_NOVUS:"atlast-novus",isLegacy:function(){return WPGMZA.settings.internalEngine===WPGMZA.InternalEngine.LEGACY},getEngine:function(){return WPGMZA.settings.internalEngine}}}),jQuery(function($){WPGMZA.InternalViewport=function(map){WPGMZA.EventDispatcher.apply(this),this.map=map,this.limits={},this.element=this.getContainer(),this.update(),$(window).on("resize",event=>{this.trigger("resize.internalviewport"),this.update()})},WPGMZA.extend(WPGMZA.InternalViewport,WPGMZA.EventDispatcher),WPGMZA.InternalViewport.RECT_TYPE_LARGE=0,WPGMZA.InternalViewport.RECT_TYPE_MEDIUM=1,WPGMZA.InternalViewport.RECT_TYPE_SMALL=2,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM=960,WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL=760,WPGMZA.InternalViewport.createInstance=function(map){return new WPGMZA.InternalViewport(map)},WPGMZA.InternalViewport.prototype.getContainer=function(){return this.map&&this.map.element?this.map.element:document.body||!1},WPGMZA.InternalViewport.prototype.getRectType=function(){let type=WPGMZA.InternalViewport.RECT_TYPE_LARGE;return this.limits.container&&this.limits.container.width.value&&(this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_SMALL?type=WPGMZA.InternalViewport.RECT_TYPE_SMALL:this.limits.container.width.value<=WPGMZA.InternalViewport.CONTAINER_THRESHOLD_MEDIUM&&(type=WPGMZA.InternalViewport.RECT_TYPE_MEDIUM)),type},WPGMZA.InternalViewport.prototype.wrapMeasurement=function(value,suffix){return{value:value,suffix:suffix||"px"}},WPGMZA.InternalViewport.prototype.update=function(){this.trace(),this.localize(),this.addClass(),this.trigger("update.internalviewport")},WPGMZA.InternalViewport.prototype.trace=function(){this.traceLimits(),this.trigger("trace.internalviewport")},WPGMZA.InternalViewport.prototype.traceLimits=function(){this.limits={container:{},overlays:{},panels:{}},this.getContainer()&&(this.limits.container.width=this.wrapMeasurement(parseInt(this.map.element.offsetWidth)),this.limits.container.height=this.wrapMeasurement(parseInt(this.map.element.offsetHeight)),mode=this.getRectType(),this.limits.container.width&&(this.limits.overlays.max_width=this.wrapMeasurement(100*[.5,.7,1][mode],"%"),this.limits.panels.max_width=this.wrapMeasurement(100*[.3,.5,1][mode],"%")))},WPGMZA.InternalViewport.prototype.localize=function(){const localized={};for(var tag in this.limits)if(this.limits[tag])for(var name in this.limits[tag]){var prop=this.limits[tag][name];name=name.replaceAll("_","-"),name="--wpgmza--viewport-"+tag+"-"+name,localized[name]=prop.value+prop.suffix}var container=this.getContainer();container&&$(container).css(localized),this.trigger("localize.internalviewport")},WPGMZA.InternalViewport.prototype.addClass=function(){var mode,classes=["wpgmza-viewport-large","wpgmza-viewport-medium","wpgmza-viewport-small"],container=this.getContainer();container&&($(container).removeClass(classes),mode=this.getRectType(),$(container).addClass(classes[mode]))}}),jQuery(function($){WPGMZA.LatLng=function(arg,lng){if(this._lat=0,(this._lng=0)!=arguments.length)if(1==arguments.length){if("string"==typeof arg){var m;if(!(m=arg.match(WPGMZA.LatLng.REGEXP)))throw new Error("Invalid LatLng string");arg={lat:m[1],lng:m[3]}}if("object"!=typeof arg||!("lat"in arg&&"lng"in arg))throw new Error("Argument must be a LatLng literal");this.lat=arg.lat,this.lng=arg.lng}else this.lat=arg,this.lng=lng},WPGMZA.LatLng.REGEXP=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/,WPGMZA.LatLng.isValid=function(obj){return"object"==typeof obj&&("lat"in obj&&"lng"in obj)},WPGMZA.LatLng.isLatLngString=function(str){return"string"==typeof str&&!!str.match(WPGMZA.LatLng.REGEXP)},Object.defineProperty(WPGMZA.LatLng.prototype,"lat",{get:function(){return this._lat},set:function(val){if(!$.isNumeric(val))throw new Error("Latitude must be numeric");this._lat=parseFloat(val)}}),Object.defineProperty(WPGMZA.LatLng.prototype,"lng",{get:function(){return this._lng},set:function(val){if(!$.isNumeric(val))throw new Error("Longitude must be numeric");this._lng=parseFloat(val)}}),WPGMZA.LatLng.fromString=function(string){if(!WPGMZA.LatLng.isLatLngString(string))throw new Error("Not a valid latlng string");string=string.match(WPGMZA.LatLng.REGEXP);return new WPGMZA.LatLng({lat:parseFloat(string[1]),lng:parseFloat(string[3])})},WPGMZA.LatLng.prototype.toString=function(){return this._lat+", "+this._lng},WPGMZA.LatLng.fromCurrentPosition=function(callback,options){options=options||{},callback&&WPGMZA.getCurrentPosition(function(position){var latLng=new WPGMZA.LatLng({lat:position.coords.latitude,lng:position.coords.longitude});options.geocodeAddress?WPGMZA.Geocoder.createInstance().getAddressFromLatLng({latLng:latLng},function(results){results.length&&(latLng.address=results[0]),callback(latLng)}):callback(latLng)})},WPGMZA.LatLng.fromGoogleLatLng=function(googleLatLng){return new WPGMZA.LatLng(googleLatLng.lat(),googleLatLng.lng())},WPGMZA.LatLng.toGoogleLatLngArray=function(arr){var result=[];return arr.forEach(function(nativeLatLng){if(!(nativeLatLng instanceof WPGMZA.LatLng||"lat"in nativeLatLng&&"lng"in nativeLatLng))throw new Error("Unexpected input");result.push(new google.maps.LatLng({lat:parseFloat(nativeLatLng.lat),lng:parseFloat(nativeLatLng.lng)}))}),result},WPGMZA.LatLng.prototype.toGoogleLatLng=function(){return new google.maps.LatLng({lat:this.lat,lng:this.lng})},WPGMZA.LatLng.prototype.toLatLngLiteral=function(){return{lat:this.lat,lng:this.lng}},WPGMZA.LatLng.prototype.moveByDistance=function(kilometers,heading){var kilometers=parseFloat(kilometers)/6371,heading=parseFloat(heading)/180*Math.PI,phi1=this.lat/180*Math.PI,lambda1=this.lng/180*Math.PI,sinPhi1=Math.sin(phi1),phi1=Math.cos(phi1),sinDelta=Math.sin(kilometers),kilometers=Math.cos(kilometers),sinTheta=Math.sin(heading),heading=sinPhi1*kilometers+phi1*sinDelta*Math.cos(heading),phi2=Math.asin(heading),lambda1=lambda1+Math.atan2(sinTheta*sinDelta*phi1,kilometers-sinPhi1*heading);this.lat=180*phi2/Math.PI,this.lng=180*lambda1/Math.PI},WPGMZA.LatLng.prototype.getGreatCircleDistance=function(arg1,arg2){var lat1=this.lat,lon1=this.lng;if(1==arguments.length)other=new WPGMZA.LatLng(arg1);else{if(2!=arguments.length)throw new Error("Invalid number of arguments");other=new WPGMZA.LatLng(arg1,arg2)}var lat2=other.lat,other=other.lng,phi1=lat1.toRadians(),phi2=lat2.toRadians(),lat2=(lat2-lat1).toRadians(),lat1=(other-lon1).toRadians(),other=Math.sin(lat2/2)*Math.sin(lat2/2)+Math.cos(phi1)*Math.cos(phi2)*Math.sin(lat1/2)*Math.sin(lat1/2);return 6371*(2*Math.atan2(Math.sqrt(other),Math.sqrt(1-other)))}}),jQuery(function($){WPGMZA.LatLngBounds=function(southWest,northEast){var other;southWest instanceof WPGMZA.LatLngBounds?(this.south=(other=southWest).south,this.north=other.north,this.west=other.west,this.east=other.east):southWest&&northEast&&(this.south=southWest.lat,this.north=northEast.lat,this.west=southWest.lng,this.east=northEast.lng)},WPGMZA.LatLngBounds.fromGoogleLatLngBounds=function(googleLatLngBounds){if(!(googleLatLngBounds instanceof google.maps.LatLngBounds))throw new Error("Argument must be an instance of google.maps.LatLngBounds");var result=new WPGMZA.LatLngBounds,southWest=googleLatLngBounds.getSouthWest(),googleLatLngBounds=googleLatLngBounds.getNorthEast();return result.north=googleLatLngBounds.lat(),result.south=southWest.lat(),result.west=southWest.lng(),result.east=googleLatLngBounds.lng(),result},WPGMZA.LatLngBounds.fromGoogleLatLngBoundsLiteral=function(obj){var result=new WPGMZA.LatLngBounds,southWest=obj.southwest,obj=obj.northeast;return result.north=obj.lat,result.south=southWest.lat,result.west=southWest.lng,result.east=obj.lng,result},WPGMZA.LatLngBounds.prototype.isInInitialState=function(){return null==this.north&&null==this.south&&null==this.west&&null==this.east},WPGMZA.LatLngBounds.prototype.extend=function(latLng){if(latLng instanceof WPGMZA.LatLng||(latLng=new WPGMZA.LatLng(latLng)),this.isInInitialState())return this.north=this.south=latLng.lat,void(this.west=this.east=latLng.lng);latLng.lat<this.north&&(this.north=latLng.lat),latLng.lat>this.south&&(this.south=latLng.lat),latLng.lng<this.west&&(this.west=latLng.lng),latLng.lng>this.east&&(this.east=latLng.lng)},WPGMZA.LatLngBounds.prototype.extendByPixelMargin=function(map,x,arg){var y=x;if(!(map instanceof WPGMZA.Map))throw new Error("First argument must be an instance of WPGMZA.Map");if(this.isInInitialState())throw new Error("Cannot extend by pixels in initial state");3<=arguments.length&&(y=arg);var southWest=new WPGMZA.LatLng(this.south,this.west),northEast=new WPGMZA.LatLng(this.north,this.east),southWest=map.latLngToPixels(southWest),northEast=map.latLngToPixels(northEast);southWest.x-=x,southWest.y+=y,northEast.x+=x,northEast.y-=y,southWest=map.pixelsToLatLng(southWest.x,southWest.y),northEast=map.pixelsToLatLng(northEast.x,northEast.y),this.toString();this.north=northEast.lat,this.south=southWest.lat,this.west=southWest.lng,this.east=northEast.lng},WPGMZA.LatLngBounds.prototype.contains=function(latLng){if(latLng instanceof WPGMZA.LatLng)return!(latLng.lat<Math.min(this.north,this.south))&&(!(latLng.lat>Math.max(this.north,this.south))&&(this.west<this.east?latLng.lng>=this.west&&latLng.lng<=this.east:latLng.lng<=this.west||latLng.lng>=this.east));throw new Error("Argument must be an instance of WPGMZA.LatLng")},WPGMZA.LatLngBounds.prototype.toString=function(){return this.north+"N "+this.south+"S "+this.west+"W "+this.east+"E"},WPGMZA.LatLngBounds.prototype.toLiteral=function(){return{north:this.north,south:this.south,west:this.west,east:this.east}}}),jQuery(function($){var key,legacyGlobals={marker_pull:"0",marker_array:[],MYMAP:[],infoWindow_poly:[],markerClusterer:[],heatmap:[],WPGM_Path:[],WPGM_Path_Polygon:[],WPGM_PathLine:[],WPGM_PathLineData:[],WPGM_PathData:[],original_iw:null,wpgmza_user_marker:null,wpgmaps_localize_marker_data:[],wpgmaps_localize_polygon_settings:[],wpgmaps_localize_heatmap_settings:[],wpgmaps_localize_polyline_settings:[],wpgmza_cirtcle_data_array:[],wpgmza_rectangle_data_array:[],wpgmzaForceLegacyMarkerClusterer:!1};for(key in legacyGlobals)!function(key){key in window?console.warn("Cannot redefine legacy global "+key):Object.defineProperty(window,key,{get:function(){return console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]},set:function(value){console.warn("This property is deprecated and should no longer be used"),legacyGlobals[key]=value}})}(key);WPGMZA.legacyGlobals=legacyGlobals,window.InitMap=window.resetLocations=window.searchLocations=window.fillInAddress=window.searchLocationsNear=function(){console.warn("This function is deprecated and should no longer be used")}}),jQuery(function($){WPGMZA.MapListPage=function(){$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")})},WPGMZA.MapListPage.createInstance=function(){return new WPGMZA.MapListPage},$(document).ready(function(event){WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_LIST&&(WPGMZA.mapListPage=WPGMZA.MapListPage.createInstance())})}),jQuery(function($){WPGMZA.MapSettings=function(element){var json,self=this,element=element.getAttribute("data-settings");try{json=JSON.parse(element)}catch(e){element=(element=element.replace(/\\%/g,"%")).replace(/\\\\"/g,'\\"');try{json=JSON.parse(element)}catch(e){json={},console.warn("Failed to parse map settings JSON")}}function addSettings(input){if(input)for(var key in input){var value;"other_settings"!=key&&(value=input[key],String(value).match(/^-?\d+$/)&&(value=parseInt(value)),self[key]=value)}}WPGMZA.assertInstanceOf(this,"MapSettings"),addSettings(WPGMZA.settings),addSettings(json),json&&json.other_settings&&addSettings(json.other_settings)},WPGMZA.MapSettings.prototype.toOLViewOptions=function(){var coords,self=this,options={center:ol.proj.fromLonLat([-119.4179,36.7783]),zoom:4};function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}return"string"==typeof this.start_location&&(coords=this.start_location.replace(/^\(|\)$/g,"").split(","),WPGMZA.isLatLngString(this.start_location)?options.center=ol.proj.fromLonLat([parseFloat(coords[1]),parseFloat(coords[0])]):console.warn("Invalid start location")),this.center&&(options.center=ol.proj.fromLonLat([parseFloat(this.center.lng),parseFloat(this.center.lat)])),empty("map_start_lat")||empty("map_start_lng")||(options.center=ol.proj.fromLonLat([parseFloat(this.map_start_lng),parseFloat(this.map_start_lat)])),this.zoom&&(options.zoom=parseInt(this.zoom)),this.start_zoom&&(options.zoom=parseInt(this.start_zoom)),this.map_start_zoom&&(options.zoom=parseInt(this.map_start_zoom)),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options},WPGMZA.MapSettings.prototype.toGoogleMapsOptions=function(){var self=this,latLngCoords=this.start_location&&this.start_location.length?this.start_location.split(","):[36.7783,-119.4179];function empty(name){return"object"!=typeof self[name]&&(!self[name]||!self[name].length)}function formatCoord(coord){return $.isNumeric(coord)?coord:parseFloat(String(coord).replace(/[\(\)\s]/,""))}var latLngCoords=new google.maps.LatLng(formatCoord(latLngCoords[0]),formatCoord(latLngCoords[1])),zoom=this.start_zoom?parseInt(this.start_zoom):4,options=(!this.start_zoom&&this.zoom&&(zoom=parseInt(this.zoom)),{zoom:zoom=this.map_start_zoom?parseInt(this.map_start_zoom):zoom,center:latLngCoords});function isSettingDisabled(value){return"yes"===value||!!value}switch(empty("center")||(options.center=new google.maps.LatLng({lat:parseFloat(this.center.lat),lng:parseFloat(this.center.lng)})),empty("map_start_lat")||empty("map_start_lng")||(options.center=new google.maps.LatLng({lat:parseFloat(this.map_start_lat),lng:parseFloat(this.map_start_lng)})),this.map_min_zoom&&this.map_max_zoom&&(options.minZoom=Math.min(this.map_min_zoom,this.map_max_zoom),options.maxZoom=Math.max(this.map_min_zoom,this.map_max_zoom)),options.zoomControl=!isSettingDisabled(this.wpgmza_settings_map_zoom),options.panControl=!isSettingDisabled(this.wpgmza_settings_map_pan),options.mapTypeControl=!isSettingDisabled(this.wpgmza_settings_map_type),options.streetViewControl=!isSettingDisabled(this.wpgmza_settings_map_streetview),options.fullscreenControl=!isSettingDisabled(this.wpgmza_settings_map_full_screen_control),options.draggable=!isSettingDisabled(this.wpgmza_settings_map_draggable),options.disableDoubleClickZoom=isSettingDisabled(this.wpgmza_settings_map_clickzoom),isSettingDisabled(this.wpgmza_settings_map_tilt_controls)&&(options.rotateControl=!1,options.tilt=0),this.wpgmza_settings_map_scroll&&(options.scrollwheel=!1),"greedy"==this.wpgmza_force_greedy_gestures||"yes"==this.wpgmza_force_greedy_gestures||1==this.wpgmza_force_greedy_gestures?(options.gestureHandling="greedy",!this.wpgmza_settings_map_scroll&&"scrollwheel"in options&&delete options.scrollwheel):options.gestureHandling="cooperative",parseInt(this.type)){case 2:options.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case 3:options.mapTypeId=google.maps.MapTypeId.HYBRID;break;case 4:options.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:options.mapTypeId=google.maps.MapTypeId.ROADMAP}return this.wpgmza_theme_data&&this.wpgmza_theme_data.length&&(options.styles=WPGMZA.GoogleMap.parseThemeData(this.wpgmza_theme_data)),options}}),jQuery(function($){WPGMZA.Map=function(element,options){var self=this;if(WPGMZA.assertInstanceOf(this,"Map"),WPGMZA.EventDispatcher.call(this),!(element instanceof HTMLElement||window.elementor))throw new Error("Argument must be a HTMLElement");if(element.hasAttribute("data-map-id")?this.id=element.getAttribute("data-map-id"):this.id=1,!/\d+/.test(this.id))throw new Error("Map ID must be an integer");if(WPGMZA.maps.push(this),this.element=element,this.element.wpgmzaMap=this,$(this.element).addClass("wpgmza-initialized"),this.engineElement=element,this.markers=[],this.polygons=[],this.polylines=[],this.circles=[],this.rectangles=[],this.pointlabels=[],WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code)return $(element).append($(WPGMZA.api_consent_html)),void $(element).css({height:"auto"});if(this.loadSettings(options),this.loadStyling(),this.shortcodeAttributes={},$(this.element).attr("data-shortcode-attributes"))try{this.shortcodeAttributes=JSON.parse($(this.element).attr("data-shortcode-attributes")),this.shortcodeAttributes.zoom&&(this.settings.map_start_zoom=parseInt(this.shortcodeAttributes.zoom))}catch(e){console.warn("Error parsing shortcode attributes")}this.innerStack=$(this.element).find(".wpgmza-inner-stack"),this.setDimensions(),this.setAlignment(),this.initInternalViewport(),this.markerFilter=WPGMZA.MarkerFilter.createInstance(this),this.on("init",function(event){self.onInit(event)}),this.on("click",function(event){self.onClick(event)}),$(document.body).on("fullscreenchange.wpgmza",function(event){var fullscreen=self.isFullScreen();self.onFullScreenChange(fullscreen)}),WPGMZA.useLegacyGlobals&&(wpgmzaLegacyGlobals.MYMAP[this.id]={map:null,bounds:null,mc:null},wpgmzaLegacyGlobals.MYMAP.init=wpgmzaLegacyGlobals.MYMAP[this.id].init=wpgmzaLegacyGlobals.MYMAP.placeMarkers=wpgmzaLegacyGlobals.MYMAP[this.id].placeMarkers=function(){console.warn("This function is deprecated and should no longer be used")})},WPGMZA.Map.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.Map.prototype.constructor=WPGMZA.Map,WPGMZA.Map.nightTimeThemeData=[{elementType:"geometry",stylers:[{color:"#242f3e"}]},{elementType:"labels.text.fill",stylers:[{color:"#746855"}]},{elementType:"labels.text.stroke",stylers:[{color:"#242f3e"}]},{featureType:"administrative.locality",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"landscape",elementType:"geometry.fill",stylers:[{color:"#575663"}]},{featureType:"poi",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"poi.park",elementType:"geometry",stylers:[{color:"#263c3f"}]},{featureType:"poi.park",elementType:"labels.text.fill",stylers:[{color:"#6b9a76"}]},{featureType:"road",elementType:"geometry",stylers:[{color:"#38414e"}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:"#212a37"}]},{featureType:"road",elementType:"labels.text.fill",stylers:[{color:"#9ca5b3"}]},{featureType:"road.highway",elementType:"geometry",stylers:[{color:"#746855"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{color:"#80823e"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{color:"#1f2835"}]},{featureType:"road.highway",elementType:"labels.text.fill",stylers:[{color:"#f3d19c"}]},{featureType:"transit",elementType:"geometry",stylers:[{color:"#2f3948"}]},{featureType:"transit.station",elementType:"labels.text.fill",stylers:[{color:"#d59563"}]},{featureType:"water",elementType:"geometry",stylers:[{color:"#17263c"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#1b737a"}]},{featureType:"water",elementType:"labels.text.fill",stylers:[{color:"#515c6d"}]},{featureType:"water",elementType:"labels.text.stroke",stylers:[{color:"#17263c"}]}],WPGMZA.Map.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMap:WPGMZA.GoogleMap:WPGMZA.isProVersion()?WPGMZA.OLProMap:WPGMZA.OLMap},WPGMZA.Map.createInstance=function(element,options){return new(WPGMZA.Map.getConstructor())(element,options)},Object.defineProperty(WPGMZA.Map.prototype,"markersPlaced",{get:function(){return this._markersPlaced},set:function(value){throw new Error("Value is read only")}}),Object.defineProperty(WPGMZA.Map.prototype,"lat",{get:function(){return this.getCenter().lat},set:function(value){var center=this.getCenter();center.lat=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"lng",{get:function(){return this.getCenter().lng},set:function(value){var center=this.getCenter();center.lng=value,this.setCenter(center)}}),Object.defineProperty(WPGMZA.Map.prototype,"zoom",{get:function(){return this.getZoom()},set:function(value){this.setZoom(value)}}),WPGMZA.Map.prototype.onInit=function(event){this.initPreloader(),0<this.innerStack.length&&$(this.element).append(this.innerStack),WPGMZA.getCurrentPage()!=WPGMZA.PAGE_MAP_EDIT&&this.initStoreLocator(),"autoFetchFeatures"in this.settings&&!1===this.settings.autoFetchFeatures||this.fetchFeatures()},WPGMZA.Map.prototype.initPreloader=function(){this.preloader=$(WPGMZA.preloaderHTML),$(this.preloader).hide(),$(this.element).append(this.preloader)},WPGMZA.Map.prototype.showPreloader=function(show){show?$(this.preloader).show():$(this.preloader).hide()},WPGMZA.Map.prototype.loadSettings=function(options){var settings=new WPGMZA.MapSettings(this.element);settings.other_settings;if(delete settings.other_settings,options)for(var key in options)settings[key]=options[key];this.settings=settings},WPGMZA.Map.prototype.loadStyling=function(){if(!WPGMZA.InternalEngine.isLegacy()){if(WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length)for(var name in WPGMZA.stylingSettings){var value;-1===name.indexOf("--")||(value=WPGMZA.stylingSettings[name])&&$(this.element).css(name,value)}var tileFilter;this.settings&&this.settings.wpgmza_ol_tile_filter&&((tileFilter=this.settings.wpgmza_ol_tile_filter.trim())&&$(this.element).css("--wpgmza-ol-tile-filter",tileFilter))}},WPGMZA.Map.prototype.initInternalViewport=function(){"1"!=WPGMZA.is_admin&&(this.internalViewport=WPGMZA.InternalViewport.createInstance(this))},WPGMZA.Map.prototype.initStoreLocator=function(){var storeLocatorElement=$(".wpgmza_sl_main_div,.wpgmza-store-locator");storeLocatorElement.length&&(this.storeLocator=WPGMZA.StoreLocator.createInstance(this,storeLocatorElement[0]))},WPGMZA.Map.prototype.getFeatureArrays=function(){var arrays=WPGMZA.Map.prototype.getFeatureArrays.call(this);return arrays.heatmaps=this.heatmaps,arrays.imageoverlays=this.imageoverlays,arrays},WPGMZA.Map.prototype.setOptions=function(options){for(var name in options)this.settings[name]=options[name]},WPGMZA.Map.prototype.getRESTParameters=function(options){var defaults={};return options&&options.filter||(defaults.filter=JSON.stringify(this.markerFilter.getFilteringParameters())),$.extend(!0,defaults,options)},WPGMZA.Map.prototype.fetchFeaturesViaREST=function(){var data,offset,limit,self=this,filter=this.markerFilter.getFilteringParameters();"1"==WPGMZA.is_admin&&(filter.includeUnapproved=!0,filter.excludeIntegrated=!0),this.shortcodeAttributes.acf_post_id&&(filter.acfPostID=this.shortcodeAttributes.acf_post_id),this.showPreloader(!0),this.fetchFeaturesXhr&&this.fetchFeaturesXhr.abort(),WPGMZA.settings.fetchMarkersBatchSize&&WPGMZA.settings.enable_batch_loading?(offset=0,limit=parseInt(WPGMZA.settings.fetchMarkersBatchSize),function fetchNextBatch(){filter.offset=offset,filter.limit=limit,data=self.getRESTParameters({filter:JSON.stringify(filter)}),self.fetchFeaturesXhr=WPGMZA.restAPI.call("/markers/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){result.length?(self.onMarkersFetched(result,!0),offset+=limit,fetchNextBatch()):(self.onMarkersFetched(result),data.exclude="markers",WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))}})}()):(data=this.getRESTParameters({filter:JSON.stringify(filter)}),this.fetchFeaturesXhr=WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:data,success:function(result,status,xhr){self.onFeaturesFetched(result)}}))},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}},WPGMZA.Map.prototype.fetchFeaturesViaXML=function(){var self=this,urls=[WPGMZA.markerXMLPathURL+this.id+"markers.xml"];function fetchFeaturesExcludingMarkersViaREST(){var filter={map_id:this.id,mashup_ids:this.mashupIDs},filter={filter:JSON.stringify(filter),exclude:"markers"};WPGMZA.restAPI.call("/features/",{useCompressedPathVariable:!0,data:filter,success:function(result,status,xhr){self.onFeaturesFetched(result)}})}if(this.mashupIDs&&this.mashupIDs.forEach(function(id){urls.push(WPGMZA.markerXMLPathURL+id+"markers.xml")}),urls=urls.filter(function(item,index){return urls.indexOf(item)==index}),window.Worker&&window.Blob&&window.URL&&WPGMZA.settings.enable_asynchronous_xml_parsing){var source=WPGMZA.loadXMLAsWebWorker.toString().replace(/function\(\)\s*{([\s\S]+)}/,"$1"),source=new Blob([source],{type:"text/javascript"}),source=new Worker(URL.createObjectURL(source));source.onmessage=function(event){self.onMarkersFetched(event.data),fetchFeaturesExcludingMarkersViaREST()},source.postMessage({command:"load",protocol:window.location.protocol,urls:urls})}else for(var filesLoaded=0,converter=new WPGMZA.XMLCacheConverter,converted=[],i=0;i<urls.length;i++)$.ajax(urls[i],{success:function(response,status,xhr){converted=converted.concat(converter.convert(response)),++filesLoaded==urls.length&&(self.onMarkersFetched(converted),fetchFeaturesExcludingMarkersViaREST())}})},WPGMZA.Map.prototype.fetchFeatures=function(){WPGMZA.settings.wpgmza_settings_marker_pull!=WPGMZA.MARKER_PULL_XML||"1"==WPGMZA.is_admin?this.fetchFeaturesViaREST():this.fetchFeaturesViaXML()},WPGMZA.Map.prototype.onFeaturesFetched=function(data){for(var type in data.markers&&this.onMarkersFetched(data.markers),data)if("markers"!=type)for(var module=type.substr(0,1).toUpperCase()+type.substr(1).replace(/s$/,""),i=0;i<data[type].length;i++){var instance=WPGMZA[module].createInstance(data[type][i]);this["add"+module](instance)}},WPGMZA.Map.prototype.onMarkersFetched=function(data,expectMoreBatches){for(var self=this,startFiltered=this.shortcodeAttributes.cat&&this.shortcodeAttributes.cat.length,i=0;i<data.length;i++){var obj=data[i],marker=WPGMZA.Marker.createInstance(obj);startFiltered&&(marker.isFiltered=!0,marker.setVisible(!1)),this.addMarker(marker)}if(!expectMoreBatches){this.showPreloader(!1);var triggerEvent=function(){self._markersPlaced=!0,self.trigger("markersplaced"),self.off("filteringcomplete",triggerEvent)};if(this.shortcodeAttributes.cat){for(var categories=this.shortcodeAttributes.cat.split(","),select=$("select[mid='"+this.id+"'][name='wpgmza_filter_select']"),i=0;i<categories.length;i++)$("input[type='checkbox'][mid='"+this.id+"'][value='"+categories[i]+"']").prop("checked",!0),select.val(categories[i]);this.on("filteringcomplete",triggerEvent),this.markerFilter.update({categories:categories})}else triggerEvent();if(this.shortcodeAttributes.markers){for(var arr=this.shortcodeAttributes.markers.split(","),markers=[],i=0;i<arr.length;i++){var id=(id=arr[i]).replace(" ",""),marker=this.getMarkerByID(id);markers.push(marker)}this.fitMapBoundsToMarkers(markers)}}};Math.PI;function deg2rad(deg){return deg*(Math.PI/180)}WPGMZA.Map.getGeographicDistance=function(lat1,lon1,lat2,lon2){var dLat=deg2rad(lat2-lat1),lon2=deg2rad(lon2-lon1),lon1=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(deg2rad(lat1))*Math.cos(deg2rad(lat2))*Math.sin(lon2/2)*Math.sin(lon2/2);return 6371*(2*Math.atan2(Math.sqrt(lon1),Math.sqrt(1-lon1)))},WPGMZA.Map.prototype.setCenter=function(latLng){if(!("lat"in latLng&&"lng"in latLng))throw new Error("Argument is not an object with lat and lng")},WPGMZA.Map.prototype.setDimensions=function(width,height){0==arguments.length&&(width=this.settings.map_width||"100",this.settings.map_width_type?width+=this.settings.map_width_type.replace("\\",""):width+="%",height=this.settings.map_height||"400",this.settings.map_height_type?height+=this.settings.map_height_type.replace("\\",""):height+="px"),$(this.engineElement).css({width:width,height:height})},WPGMZA.Map.prototype.setAlignment=function(){switch(parseInt(this.settings.wpgmza_map_align)){case 1:case 2:$(this.element).addClass("wpgmza-auto-left");break;case 3:$(this.element).addClass("wpgmza-auto-right")}},WPGMZA.Map.prototype.addMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");marker.map=this,(marker.parent=this).markers.push(marker),this.dispatchEvent({type:"markeradded",marker:marker}),marker.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeMarker=function(marker){if(!(marker instanceof WPGMZA.Marker))throw new Error("Argument must be an instance of WPGMZA.Marker");if(marker.map!==this)throw new Error("Wrong map error");marker.infoWindow&&marker.infoWindow.close(),marker.map=null,marker.parent=null;var index=this.markers.indexOf(marker);if(-1==index)throw new Error("Marker not found in marker array");this.markers.splice(index,1),this.dispatchEvent({type:"markerremoved",marker:marker}),marker.dispatchEvent({type:"removed"})},WPGMZA.Map.prototype.removeAllMarkers=function(options){for(var i=this.markers.length-1;0<=i;i--)this.removeMarker(this.markers[i])},WPGMZA.Map.prototype.getMarkerByID=function(id){for(var i=0;i<this.markers.length;i++)if(this.markers[i].id==id)return this.markers[i];return null},WPGMZA.Map.prototype.getMarkerByTitle=function(title){if("string"==typeof title){for(var i=0;i<this.markers.length;i++)if(this.markers[i].title==title)return this.markers[i]}else{if(!(title instanceof RegExp))throw new Error("Invalid argument");for(i=0;i<this.markers.length;i++)if(title.test(this.markers[i].title))return this.markers[i]}return null},WPGMZA.Map.prototype.removeMarkerByID=function(id){id=this.getMarkerByID(id);id&&this.removeMarker(id)},WPGMZA.Map.prototype.addPolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");(polygon.map=this).polygons.push(polygon),this.dispatchEvent({type:"polygonadded",polygon:polygon}),polygon.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolygon=function(polygon){if(!(polygon instanceof WPGMZA.Polygon))throw new Error("Argument must be an instance of WPGMZA.Polygon");if(polygon.map!==this)throw new Error("Wrong map error");polygon.map=null,this.polygons.splice(this.polygons.indexOf(polygon),1),this.dispatchEvent({type:"polygonremoved",polygon:polygon})},WPGMZA.Map.prototype.getPolygonByID=function(id){for(var i=0;i<this.polygons.length;i++)if(this.polygons[i].id==id)return this.polygons[i];return null},WPGMZA.Map.prototype.removePolygonByID=function(id){id=this.getPolygonByID(id);id&&this.removePolygon(id)},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.addPolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");(polyline.map=this).polylines.push(polyline),this.dispatchEvent({type:"polylineadded",polyline:polyline}),polyline.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removePolyline=function(polyline){if(!(polyline instanceof WPGMZA.Polyline))throw new Error("Argument must be an instance of WPGMZA.Polyline");if(polyline.map!==this)throw new Error("Wrong map error");polyline.map=null,this.polylines.splice(this.polylines.indexOf(polyline),1),this.dispatchEvent({type:"polylineremoved",polyline:polyline})},WPGMZA.Map.prototype.getPolylineByID=function(id){for(var i=0;i<this.polylines.length;i++)if(this.polylines[i].id==id)return this.polylines[i];return null},WPGMZA.Map.prototype.removePolylineByID=function(id){id=this.getPolylineByID(id);id&&this.removePolyline(id)},WPGMZA.Map.prototype.addCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");(circle.map=this).circles.push(circle),this.dispatchEvent({type:"circleadded",circle:circle}),circle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeCircle=function(circle){if(!(circle instanceof WPGMZA.Circle))throw new Error("Argument must be an instance of WPGMZA.Circle");if(circle.map!==this)throw new Error("Wrong map error");circle.map=null,this.circles.splice(this.circles.indexOf(circle),1),this.dispatchEvent({type:"circleremoved",circle:circle})},WPGMZA.Map.prototype.getCircleByID=function(id){for(var i=0;i<this.circles.length;i++)if(this.circles[i].id==id)return this.circles[i];return null},WPGMZA.Map.prototype.removeCircleByID=function(id){id=this.getCircleByID(id);id&&this.removeCircle(id)},WPGMZA.Map.prototype.addRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");(rectangle.map=this).rectangles.push(rectangle),this.dispatchEvent({type:"rectangleadded",rectangle:rectangle}),rectangle.dispatchEvent({type:"added"})},WPGMZA.Map.prototype.removeRectangle=function(rectangle){if(!(rectangle instanceof WPGMZA.Rectangle))throw new Error("Argument must be an instance of WPGMZA.Rectangle");if(rectangle.map!==this)throw new Error("Wrong map error");rectangle.map=null,this.rectangles.splice(this.rectangles.indexOf(rectangle),1),this.dispatchEvent({type:"rectangleremoved",rectangle:rectangle})},WPGMZA.Map.prototype.getRectangleByID=function(id){for(var i=0;i<this.rectangles.length;i++)if(this.rectangles[i].id==id)return this.rectangles[i];return null},WPGMZA.Map.prototype.removeRectangleByID=function(id){id=this.getRectangleByID(id);id&&this.removeRectangle(id)},WPGMZA.Map.prototype.addPointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");(pointlabel.map=this).pointlabels.push(pointlabel),this.dispatchEvent({type:"pointlabeladded",pointlabel:pointlabel})},WPGMZA.Map.prototype.removePointlabel=function(pointlabel){if(!(pointlabel instanceof WPGMZA.Pointlabel))throw new Error("Argument must be an instance of WPGMZA.Pointlabel");if(pointlabel.map!==this)throw new Error("Wrong map error");pointlabel.map=null,this.pointlabels.splice(this.pointlabels.indexOf(pointlabel),1),this.dispatchEvent({type:"pointlabelremoved",pointlabel:pointlabel})},WPGMZA.Map.prototype.getPointlabelByID=function(id){for(var i=0;i<this.pointlabels.length;i++)if(this.pointlabels[i].id==id)return this.pointlabels[i];return null},WPGMZA.Map.prototype.removePointlabelByID=function(id){id=this.getPointlabelByID(id);id&&this.removePointlabel(id)},WPGMZA.Map.prototype.resetBounds=function(){var latlng=new WPGMZA.LatLng(this.settings.map_start_lat,this.settings.map_start_lng);this.panTo(latlng),this.setZoom(this.settings.map_start_zoom)},WPGMZA.Map.prototype.nudge=function(x,y){x=this.nudgeLatLng(this.getCenter(),x,y);this.setCenter(x)},WPGMZA.Map.prototype.nudgeLatLng=function(latLng,x,y){latLng=this.latLngToPixels(latLng);if(latLng.x+=parseFloat(x),latLng.y+=parseFloat(y),isNaN(latLng.x)||isNaN(latLng.y))throw new Error("Invalid coordinates supplied");return this.pixelsToLatLng(latLng)},WPGMZA.Map.prototype.animateNudge=function(x,y,origin,milliseconds){if(origin){if(!(origin instanceof WPGMZA.LatLng))throw new Error("Origin must be an instance of WPGMZA.LatLng")}else origin=this.getCenter();origin=this.nudgeLatLng(origin,x,y),milliseconds=milliseconds||WPGMZA.getScrollAnimationDuration(),$(this).animate({lat:origin.lat,lng:origin.lng},milliseconds)},WPGMZA.Map.prototype.onWindowResize=function(event){},WPGMZA.Map.prototype.onElementResized=function(event){},WPGMZA.Map.prototype.onBoundsChanged=function(event){this.trigger("boundschanged"),this.trigger("bounds_changed")},WPGMZA.Map.prototype.onIdle=function(event){this.trigger("idle")},WPGMZA.Map.prototype.onClick=function(event){},WPGMZA.Map.prototype.onFullScreenChange=function(fullscreen){this.trigger("fullscreenchange.map")},WPGMZA.Map.prototype.hasVisibleMarkers=function(){for(var marker,length=this.markers.length,i=0;i<length;i++)if((marker=this.markers[i]).isFilterable&&marker.getVisible())return!0;return!1},WPGMZA.Map.prototype.isFullScreen=function(){return!(!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.offsetHeight))},WPGMZA.Map.prototype.closeAllInfoWindows=function(){this.markers.forEach(function(marker){marker.infoWindow&&marker.infoWindow.close()})},WPGMZA.Map.prototype.openStreetView=function(options){},WPGMZA.Map.prototype.closeStreetView=function(options){},$(document).ready(function(event){var invisibleMaps;WPGMZA.visibilityWorkaroundIntervalID||(invisibleMaps=jQuery(".wpgmza_map:hidden"),WPGMZA.visibilityWorkaroundIntervalID=setInterval(function(){jQuery(invisibleMaps).each(function(index,el){var id;jQuery(el).is(":visible")&&(id=jQuery(el).attr("data-map-id"),WPGMZA.getMapByID(id).onElementResized(),invisibleMaps.splice(invisibleMaps.toArray().indexOf(el),1))})},1e3))})}),jQuery(function($){WPGMZA.MapsEngineDialog=function(element){var self=this;this.element=element,window.wpgmzaUnbindSaveReminder&&window.wpgmzaUnbindSaveReminder(),$(this.element).data("installer-link")?WPGMZA.initInstallerRedirect($(this.element).data("installer-link")):($(element).remodal().open(),$(element).show(),$(element).find("input:radio").on("change",function(event){$("#wpgmza-confirm-engine").prop("disabled",!1),$("#wpgmza-confirm-engine").click()}),$("#wpgmza-confirm-engine").on("click",function(event){self.onButtonClicked(event)}))},WPGMZA.MapsEngineDialog.prototype.onButtonClicked=function(event){$(event.target).prop("disabled",!0),$.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_engine_dialog_set_engine",engine:$("[name='wpgmza_maps_engine']:checked").val(),nonce:$("#wpgmza-maps-engine-dialog").attr("data-ajax-nonce")},success:function(response,status,xhr){window.location.reload()}})},$(document).ready(function(event){var element=$("#wpgmza-maps-engine-dialog");!element.length||WPGMZA.settings.wpgmza_maps_engine_dialog_done||WPGMZA.settings.wpgmza_google_maps_api_key&&WPGMZA.settings.wpgmza_google_maps_api_key.length||WPGMZA.ignoreInstallerRedirect||(WPGMZA.mapsEngineDialog=new WPGMZA.MapsEngineDialog(element))})}),jQuery(function($){WPGMZA.MarkerFilter=function(map){WPGMZA.EventDispatcher.call(this),this.map=map},WPGMZA.MarkerFilter.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.MarkerFilter.prototype.constructor=WPGMZA.MarkerFilter,WPGMZA.MarkerFilter.createInstance=function(map){return new WPGMZA.MarkerFilter(map)},WPGMZA.MarkerFilter.prototype.getFilteringParameters=function(){var params={map_id:this.map.id};return params=this.map.storeLocator?$.extend(params,this.map.storeLocator.getFilteringParameters()):params},WPGMZA.MarkerFilter.prototype.update=function(params,source){var self=this;function dispatchEvent(result){var event=new WPGMZA.Event("filteringcomplete");event.map=self.map,event.source=source,event.filteredMarkers=result,event.filteringParams=params,self.onFilteringComplete(event),self.trigger(event),self.map.trigger(event)}this.updateTimeoutID||(params=params||{},this.xhr&&(this.xhr.abort(),delete this.xhr),this.updateTimeoutID=setTimeout(function(){if((params=$.extend(self.getFilteringParameters(),params)).center instanceof WPGMZA.LatLng&&(params.center=params.center.toLatLngLiteral()),params.hideAll)return dispatchEvent([]),void delete self.updateTimeoutID;self.map.showPreloader(!0),self.xhr=WPGMZA.restAPI.call("/markers",{data:{fields:["id"],filter:JSON.stringify(params)},success:function(result,status,xhr){self.map.showPreloader(!1),dispatchEvent(result)},useCompressedPathVariable:!0}),delete self.updateTimeoutID},0))},WPGMZA.MarkerFilter.prototype.onFilteringComplete=function(event){var map=[];event.filteredMarkers.forEach(function(data){map[data.id]=!0}),this.map.markers.forEach(function(marker){var allowByFilter;marker.isFilterable&&(allowByFilter=!!map[marker.id],marker.isFiltered=!allowByFilter,marker.setVisible(allowByFilter))})}}),jQuery(function($){WPGMZA.Marker=function(row){var self=this;this._offset={x:0,y:0},WPGMZA.assertInstanceOf(this,"Marker"),this.lat="36.778261",this.lng="-119.4179323999",this.address="California",this.title=null,this.description="",this.link="",this.icon="",this.approved=1,this.pic=null,this.isFilterable=!0,this.disableInfoWindow=!1,WPGMZA.Feature.apply(this,arguments),row&&row.heatmap||(row&&this.on("init",function(event){row.position&&this.setPosition(row.position),row.map&&row.map.addMarker(this)}),this.addEventListener("added",function(event){self.onAdded(event)}),this.handleLegacyGlobals(row))},WPGMZA.Marker.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Marker.prototype.constructor=WPGMZA.Marker,WPGMZA.Marker.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProMarker:WPGMZA.GoogleMarker:WPGMZA.isProVersion()?WPGMZA.OLProMarker:WPGMZA.OLMarker},WPGMZA.Marker.createInstance=function(row){return new(WPGMZA.Marker.getConstructor())(row)},WPGMZA.Marker.ANIMATION_NONE="0",WPGMZA.Marker.ANIMATION_BOUNCE="1",WPGMZA.Marker.ANIMATION_DROP="2",Object.defineProperty(WPGMZA.Marker.prototype,"offsetX",{get:function(){return this._offset.x},set:function(value){this._offset.x=value,this.updateOffset()}}),Object.defineProperty(WPGMZA.Marker.prototype,"offsetY",{get:function(){return this._offset.y},set:function(value){this._offset.y=value,this.updateOffset()}}),WPGMZA.Marker.prototype.onAdded=function(event){var self=this;this.addEventListener("click",function(event){self.onClick(event)}),this.addEventListener("mouseover",function(event){self.onMouseOver(event)}),this.addEventListener("select",function(event){self.onSelect(event)}),this.map.settings.marker==this.id&&self.trigger("select"),"1"==this.infoopen&&(this._osDisableAutoPan=!0,this.openInfoWindow(!0))},WPGMZA.Marker.prototype.handleLegacyGlobals=function(row){var m;WPGMZA.settings.useLegacyGlobals&&this.map_id&&this.id&&(WPGMZA.pro_version&&(m=WPGMZA.pro_version.match(/\d+/))&&m[0]<=7||(WPGMZA.legacyGlobals.marker_array[this.map_id]||(WPGMZA.legacyGlobals.marker_array[this.map_id]=[]),WPGMZA.legacyGlobals.marker_array[this.map_id][this.id]=this,WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]||(WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id]=[]),m=$.extend({marker_id:this.id},row),WPGMZA.legacyGlobals.wpgmaps_localize_marker_data[this.map_id][this.id]=m))},WPGMZA.Marker.prototype.initInfoWindow=function(){this.infoWindow||(this.infoWindow=WPGMZA.InfoWindow.createInstance())},WPGMZA.Marker.prototype.openInfoWindow=function(autoOpen){this.map?(autoOpen||(this.map.lastInteractedMarker&&this.map.lastInteractedMarker.infoWindow.close(),this.map.lastInteractedMarker=this),this.initInfoWindow(),this.infoWindow.open(this.map,this)):console.warn("Cannot open infowindow for marker with no map")},WPGMZA.Marker.prototype.onClick=function(event){},WPGMZA.Marker.prototype.onSelect=function(event){this.openInfoWindow()},WPGMZA.Marker.prototype.onMouseOver=function(event){WPGMZA.settings.wpgmza_settings_map_open_marker_by==WPGMZA.InfoWindow.OPEN_BY_HOVER&&this.openInfoWindow()},WPGMZA.Marker.prototype.getIcon=function(){function stripProtocol(url){return"string"!=typeof url?url:url.replace(/^http(s?):/,"")}return WPGMZA.defaultMarkerIcon?stripProtocol(WPGMZA.defaultMarkerIcon):stripProtocol(WPGMZA.settings.default_marker_icon)},WPGMZA.Marker.prototype.getPosition=function(){return new WPGMZA.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})},WPGMZA.Marker.prototype.setPosition=function(latLng){latLng instanceof WPGMZA.LatLng?(this.lat=latLng.lat,this.lng=latLng.lng):(this.lat=parseFloat(latLng.lat),this.lng=parseFloat(latLng.lng))},WPGMZA.Marker.prototype.setOffset=function(x,y){this._offset.x=x,this._offset.y=y,this.updateOffset()},WPGMZA.Marker.prototype.updateOffset=function(){},WPGMZA.Marker.prototype.getAnimation=function(){return this.anim},WPGMZA.Marker.prototype.setAnimation=function(animation){},WPGMZA.Marker.prototype.getVisible=function(){},WPGMZA.Marker.prototype.setVisible=function(visible){!visible&&this.infoWindow&&this.infoWindow.close()},WPGMZA.Marker.prototype.getMap=function(){return this.map},WPGMZA.Marker.prototype.setMap=function(map){map?map.addMarker(this):this.map&&this.map.removeMarker(this),this.map=map},WPGMZA.Marker.prototype.getDraggable=function(){},WPGMZA.Marker.prototype.setDraggable=function(draggable){},WPGMZA.Marker.prototype.setOptions=function(options){},WPGMZA.Marker.prototype.setOpacity=function(opacity){},WPGMZA.Marker.prototype.panIntoView=function(){if(!this.map)throw new Error("Marker hasn't been added to a map");this.map.setCenter(this.getPosition())},WPGMZA.Marker.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this),position=this.getPosition();return $.extend(result,{lat:position.lat,lng:position.lng,address:this.address,title:this.title,description:this.description,link:this.link,icon:this.icon,pic:this.pic,approved:this.approved}),result}}),jQuery(function($){WPGMZA.ModernStoreLocatorCircle=function(map_id,settings){var map=WPGMZA.isProVersion()?this.map=WPGMZA.getMapByID(map_id):this.map=WPGMZA.maps[0];this.map_id=map_id,this.mapElement=map.element,this.mapSize={width:$(this.mapElement).width(),height:$(this.mapElement).height()},this.initCanvasLayer(),this.settings={center:new WPGMZA.LatLng(0,0),radius:1,color:"#ff0000",shadowColor:"white",shadowBlur:4,centerRingRadius:10,centerRingLineWidth:3,numInnerRings:9,innerRingLineWidth:1,innerRingFade:!0,numOuterRings:7,ringLineWidth:1,mainRingLineWidth:2,numSpokes:6,spokesStartAngle:Math.PI/2,numRadiusLabels:6,radiusLabelsStartAngle:Math.PI/2,radiusLabelFont:"13px sans-serif",visible:!1},settings&&this.setOptions(settings)},WPGMZA.ModernStoreLocatorCircle.createInstance=function(map,settings){return new("google-maps"==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocatorCircle:WPGMZA.OLModernStoreLocatorCircle)(map,settings)},WPGMZA.ModernStoreLocatorCircle.prototype.initCanvasLayer=function(){},WPGMZA.ModernStoreLocatorCircle.prototype.onResize=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.onUpdate=function(event){this.draw()},WPGMZA.ModernStoreLocatorCircle.prototype.setOptions=function(options){for(var name in options){var functionName="set"+name.substr(0,1).toUpperCase()+name.substr(1);"function"==typeof this[functionName]?this[functionName](options[name]):this.settings[name]=options[name]}},WPGMZA.ModernStoreLocatorCircle.prototype.getResolutionScale=function(){return window.devicePixelRatio||1},WPGMZA.ModernStoreLocatorCircle.prototype.getCenter=function(){return this.getPosition()},WPGMZA.ModernStoreLocatorCircle.prototype.setCenter=function(value){this.setPosition(value)},WPGMZA.ModernStoreLocatorCircle.prototype.getPosition=function(){return this.settings.center},WPGMZA.ModernStoreLocatorCircle.prototype.setPosition=function(position){this.settings.center=position},WPGMZA.ModernStoreLocatorCircle.prototype.getRadius=function(){return this.settings.radius},WPGMZA.ModernStoreLocatorCircle.prototype.setRadius=function(radius){if(isNaN(radius))throw new Error("Invalid radius");this.settings.radius=radius},WPGMZA.ModernStoreLocatorCircle.prototype.getVisible=function(){return this.settings.visible},WPGMZA.ModernStoreLocatorCircle.prototype.setVisible=function(visible){this.settings.visible=visible},WPGMZA.ModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getContext=function(type){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){throw new Error("Abstract function called")},WPGMZA.ModernStoreLocatorCircle.prototype.validateSettings=function(){WPGMZA.isHexColorString(this.settings.color)||(this.settings.color="#ff0000")},WPGMZA.ModernStoreLocatorCircle.prototype.draw=function(){this.validateSettings();var settings=this.settings,canvasDimensions=this.getCanvasDimensions(),canvasWidth=canvasDimensions.width,canvasDimensions=canvasDimensions.height;this.map,this.getResolutionScale();if((context=this.getContext("2d")).clearRect(0,0,canvasWidth,canvasDimensions),settings.visible){context.shadowColor=settings.shadowColor,context.shadowBlur=settings.shadowBlur,context.setTransform(1,0,0,1,0,0);var end,scale=this.getScale(),canvasWidth=(context.scale(scale,scale),this.getWorldOriginOffset()),worldPoint=(context.translate(canvasWidth.x,canvasWidth.y),new WPGMZA.LatLng(this.settings.center),this.getCenterPixels()),rgba=WPGMZA.hexToRgba(settings.color),ringSpacing=this.getTransformedRadius(settings.radius)/(settings.numInnerRings+1),radius=(context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.centerRingRadius)/scale,0,2*Math.PI),context.stroke(),context.closePath(),this.getTransformedRadius(settings.radius)+ringSpacing*settings.numOuterRings+1),canvasDimensions=context.createRadialGradient(0,0,0,0,0,radius),rgba=WPGMZA.hexToRgba(settings.color),canvasWidth=WPGMZA.rgbaToString(rgba);rgba.a=0,end=WPGMZA.rgbaToString(rgba),canvasDimensions.addColorStop(0,canvasWidth),canvasDimensions.addColorStop(1,end),context.save(),context.translate(worldPoint.x,worldPoint.y),context.strokeStyle=canvasDimensions,context.lineWidth=2/scale;for(var i=0;i<settings.numSpokes;i++)spokeAngle=settings.spokesStartAngle+2*Math.PI*(i/settings.numSpokes),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.setLineDash([2/scale,15/scale]),context.beginPath(),context.moveTo(0,0),context.lineTo(x,y),context.stroke();context.setLineDash([]),context.restore(),context.lineWidth=1/scale*settings.innerRingLineWidth;for(i=1;i<=settings.numInnerRings;i++){radius=i*ringSpacing;settings.innerRingFade&&(rgba.a=1-(i-1)/settings.numInnerRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath()}context.strokeStyle=settings.color,context.lineWidth=1/scale*settings.centerRingLineWidth,context.beginPath(),context.arc(worldPoint.x,worldPoint.y,this.getTransformedRadius(settings.radius),0,2*Math.PI),context.stroke(),context.closePath();for(radius=radius+ringSpacing,i=0;i<settings.numOuterRings;i++)settings.innerRingFade&&(rgba.a=1-i/settings.numOuterRings),context.strokeStyle=WPGMZA.rgbaToString(rgba),context.beginPath(),context.arc(worldPoint.x,worldPoint.y,radius,0,2*Math.PI),context.stroke(),context.closePath(),radius+=ringSpacing;if(0<settings.numRadiusLabels){var x,y,radius=this.getTransformedRadius(settings.radius);(canvasWidth=settings.radiusLabelFont.match(/(\d+)px/))&&parseInt(canvasWidth[1]),context.font=settings.radiusLabelFont,context.textAlign="center",context.textBaseline="middle",context.fillStyle=settings.color,context.save(),context.translate(worldPoint.x,worldPoint.y);for(i=0;i<settings.numRadiusLabels;i++){var spokeAngle,textAngle=(spokeAngle=settings.radiusLabelsStartAngle+2*Math.PI*(i/settings.numRadiusLabels))+Math.PI/2,text=settings.radiusString;0<Math.sin(spokeAngle)&&(textAngle-=Math.PI),x=Math.cos(spokeAngle)*radius,y=Math.sin(spokeAngle)*radius,context.save(),context.translate(x,y),context.rotate(textAngle),context.scale(1/scale,1/scale),textAngle=context.measureText(text).width,height=textAngle/2,context.clearRect(-textAngle,-height,2*textAngle,2*height),context.fillText(settings.radiusString,0,0),context.restore()}context.restore()}}}}),jQuery(function($){WPGMZA.ModernStoreLocator=function(map_id){var original,inner,addressInput,placeholder,container,titleSearch,numCategories,icons,self=this,map=WPGMZA.getMapByID(map_id);WPGMZA.assertInstanceOf(this,"ModernStoreLocator"),(original=(WPGMZA.isProVersion()?$(".wpgmza_sl_search_button[mid='"+map_id+"'], .wpgmza_sl_search_button_"+map_id):$(".wpgmza_sl_search_button")).closest(".wpgmza_sl_main_div")).length&&(this.element=$("<div class='wpgmza-modern-store-locator'><div class='wpgmza-inner wpgmza-modern-hover-opaque'/></div>")[0],inner=$(this.element).find(".wpgmza-inner"),addressInput=WPGMZA.isProVersion()?$(original).find(".addressInput"):$(original).find("#addressInput"),map.settings.store_locator_query_string&&map.settings.store_locator_query_string.length&&addressInput.attr("placeholder",map.settings.store_locator_query_string),inner.append(addressInput),(titleSearch=$(original).find("[id='nameInput_"+map_id+"']")).length&&((placeholder=map.settings.store_locator_name_string)&&placeholder.length&&titleSearch.attr("placeholder",placeholder),inner.append(titleSearch)),(placeholder=$(original).find("button.wpgmza-use-my-location"))&&inner.append(placeholder),$(addressInput).on("keydown keypress",function(event){13==event.keyCode&&self.searchButton.is(":visible")&&self.searchButton.trigger("click")}),$(addressInput).on("input",function(event){self.searchButton.show(),self.resetButton.hide()}),inner.append($(original).find("select.wpgmza_sl_radius_select")),this.searchButton=$(original).find(".wpgmza_sl_search_button, .wpgmza_sl_search_button_div"),inner.append(this.searchButton),this.resetButton=$(original).find(".wpgmza_sl_reset_button_div"),inner.append(this.resetButton),this.resetButton.on("click",function(event){resetLocations(map_id)}),this.resetButton.hide(),WPGMZA.isProVersion()&&(this.searchButton.on("click",function(event){0!=$("addressInput_"+map_id).val()&&(self.searchButton.hide(),self.resetButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_APPLIED)}),this.resetButton.on("click",function(event){self.resetButton.hide(),self.searchButton.show(),map.storeLocator.state=WPGMZA.StoreLocator.STATE_INITIAL})),inner.append($("#wpgmza_distance_type_"+map_id)),container=$(original).find(".wpgmza_cat_checkbox_holder"),$(container).children("ul"),titleSearch=$(container).find("li"),numCategories=0,icons=[],titleSearch.each(function(index,el){var category_id,id=$(el).attr("class").match(/\d+/);for(category_id in wpgmza_category_data)if(id==category_id){var src=wpgmza_category_data[category_id].image,icon=$('<div class="wpgmza-chip-icon"/>');icon.css({"background-image":"url('"+src+"')",width:$("#wpgmza_cat_checkbox_"+category_id+" + label").height()+"px"}),icons.push(icon),null!=src&&""!=src&&$("#wpgmza_cat_checkbox_"+category_id+" + label").prepend(icon),numCategories++;break}}),$(this.element).append(container),numCategories&&(this.optionsButton=$('<span class="wpgmza_store_locator_options_button"><i class="fa fa-list"></i></span>'),$(this.searchButton).before(this.optionsButton)),setInterval(function(){icons.forEach(function(icon){var height=$(icon).height();$(icon).css({width:height+"px"}),$(icon).closest("label").css({"padding-left":height+8+"px"})}),$(container).css("width",$(self.element).find(".wpgmza-inner").outerWidth()+"px")},1e3),$(this.element).find(".wpgmza_store_locator_options_button").on("click",function(event){container.hasClass("wpgmza-open")?container.removeClass("wpgmza-open"):container.addClass("wpgmza-open")}),$(original).remove(),$(this.element).find("input, select").on("focus",function(){$(inner).addClass("active")}),$(this.element).find("input, select").on("blur",function(){$(inner).removeClass("active")}),$(this.element).on("mouseover","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseOverCategory(event)}),$(this.element).on("mouseleave","li.wpgmza_cat_checkbox_item_holder",function(event){self.onMouseLeaveCategory(event)}),$("body").on("click",".wpgmza_store_locator_options_button",function(event){setTimeout(function(){var p_cat,$p_map;$(".wpgmza_cat_checkbox_holder").hasClass("wpgmza-open")&&(p_cat=(p_cat=$(".wpgmza_cat_checkbox_holder")).position().top+p_cat.outerHeight(!0)+$(".wpgmza-modern-store-locator").height(),($p_map=$(".wpgmza_map")).position().top+$p_map.outerHeight(!0)<=p_cat&&($(".wpgmza_cat_ul").css("overflow","scroll "),$(".wpgmza_cat_ul").css("height","100%"),$(".wpgmza-modern-store-locator").css("height","100%"),$(".wpgmza_cat_checkbox_holder.wpgmza-open").css({"padding-bottom":"50px",height:"100%"})))},500)}))},WPGMZA.ModernStoreLocator.createInstance=function(map_id){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleModernStoreLocator:WPGMZA.OLModernStoreLocator)(map_id)},WPGMZA.ModernStoreLocator.prototype.onMouseOverCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeIn()},WPGMZA.ModernStoreLocator.prototype.onMouseLeaveCategory=function(event){event=event.currentTarget;$(event).children("ul.wpgmza_cat_checkbox_item_holder").stop(!0,!1).fadeOut()}}),jQuery(function($){WPGMZA.NativeMapsAppIcon=function(){navigator.userAgent.match(/^Apple|iPhone|iPad|iPod/)?(this.type="apple",this.element=$('<span><i class="fab fa fa-apple" aria-hidden="true"></i></span>')):(this.type="google",this.element=$('<span><i class="fab fa fa-google" aria-hidden="true"></i></span>'))}}),jQuery(function($){WPGMZA.PersistentAdminNotice=function(element,options){if(!(element instanceof HTMLElement))throw new Error("Element is not an instance of HTMLInputElement");this.element=$(element),this.dismissButton=this.element.find(".notice-dismiss"),this.ajaxActionButton=this.element.find("a[data-ajax]"),this.bindEvents()},WPGMZA.extend(WPGMZA.PersistentAdminNotice,WPGMZA.EventDispatcher),WPGMZA.PersistentAdminNotice.createInstance=function(element){return new WPGMZA.PersistentAdminNotice(element)},WPGMZA.PersistentAdminNotice.prototype.bindEvents=function(){let self=this;this.dismissButton.on("click",function(event){self.onDismiss($(this))}),this.ajaxActionButton.on("click",function(event){event.preventDefault(),self.onAjaxAction($(this))})},WPGMZA.PersistentAdminNotice.prototype.onDismiss=function(item){var data={action:"wpgmza_dismiss_persistent_notice",slug:this.element.data("slug"),wpgmza_security:WPGMZA.ajaxnonce};$.ajax(WPGMZA.ajaxurl,{method:"POST",data:data,success:function(response,status,xhr){},error:function(){}})},WPGMZA.PersistentAdminNotice.prototype.onAjaxAction=function(item){var action;item.data("disabled")||(action=item.data("ajax-action"),item.attr("data-disabled","true"),item.css("opacity","0.5"),action&&(item={action:"wpgmza_persisten_notice_quick_action",relay:action,wpgmza_security:WPGMZA.ajaxnonce},$.ajax(WPGMZA.ajaxurl,{method:"POST",data:item,success:function(response){window.location.reload()},error:function(){}})))},$(document.body).ready(function(){$(".wpgmza-persistent-notice").each(function(index,el){el.wpgmzaPersistentAdminNotice=WPGMZA.PersistentAdminNotice.createInstance(el)})})}),jQuery(function($){WPGMZA.Pointlabel=function(options,pointlabel){var map;WPGMZA.assertInstanceOf(this,"Pointlabel"),(options=options||{}).map?this.map=options.map:!options.map&&options.map_id&&(map=WPGMZA.getMapByID(options.map_id))&&(this.map=map),this.center=new WPGMZA.LatLng,WPGMZA.Feature.apply(this,arguments),pointlabel&&(this.setPosition(pointlabel.getPosition()),pointlabel.marker&&(this.marker=pointlabel.marker))},WPGMZA.Pointlabel.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Pointlabel.prototype.constructor=WPGMZA.Pointlabel,Object.defineProperty(WPGMZA.Pointlabel.prototype,"map",{enumerable:!0,get:function(){return this._map||null},set:function(a){this.textFeature&&!a&&this.textFeature.remove(),this._map=a}}),WPGMZA.Pointlabel.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPointlabel:WPGMZA.GooglePointlabel:WPGMZA.isProVersion()?WPGMZA.OLProPointlabel:WPGMZA.OLPointlabel},WPGMZA.Pointlabel.createInstance=function(options,pointlabel){return new(WPGMZA.Pointlabel.getConstructor())(options,pointlabel)},WPGMZA.Pointlabel.createEditableMarker=function(options){function callback(){try{marker.setIcon(WPGMZA.labelpointIcon)}catch(ex){}marker.off("added",callback)}(options=$.extend({draggable:!0,disableInfoWindow:!0},options)).pointlabel&&(latLng=options.pointlabel.getPosition(),options.lat=latLng.lat,options.lng=latLng.lng);var latLng,marker=WPGMZA.Marker.createInstance(options);return marker.on("added",callback),marker},WPGMZA.Pointlabel.prototype.setEditable=function(editable){var self=this;this.marker&&(this.marker.map.removeMarker(this.marker),delete this.marker),this._prevMap&&delete this._prevMap,editable&&(this.marker=WPGMZA.Pointlabel.createEditableMarker({pointlabel:this}),this.map.addMarker(this.marker),this._dragEndCallback=function(event){self.onDragEnd(event)},editable=this.map,this.marker.on("dragend",this._dragEndCallback),editable.on("pointlabelremoved",function(event){event.pointlabel}))},WPGMZA.Pointlabel.prototype.onDragEnd=function(event){event.target instanceof WPGMZA.Marker&&this.marker&&(event.latLng&&this.setPosition(event.latLng),this.trigger("change"))},WPGMZA.Pointlabel.prototype.onMapMouseDown=function(event){if(0==event.button)return this._mouseDown=!0,event.preventDefault(),!1},WPGMZA.Pointlabel.prototype.onWindowMouseUp=function(event){0==event.button&&(this._mouseDown=!1)},WPGMZA.Pointlabel.prototype.onMapMouseMove=function(event){this._mouseDown&&(event={x:event.pageX-$(this.map.element).offset().left,y:event.pageY+30-$(this.map.element).offset().top},(event=this.map.pixelsToLatLng(event))&&this.setPosition(event),this.trigger("change"))},WPGMZA.Pointlabel.prototype.getPosition=function(){return this.center?new WPGMZA.LatLng({lat:this.center.lat,lng:this.center.lng}):null},WPGMZA.Pointlabel.prototype.setPosition=function(position){this.center={},this.center.lat=position.lat,this.center.lng=position.lng,this.textFeature&&this.textFeature.setPosition(this.getPosition())},WPGMZA.Pointlabel.prototype.getMap=function(){return this.map},WPGMZA.Pointlabel.prototype.setMap=function(map){this.map&&this.map.removePointlabel(this),map&&map.addPointlabel(this)}}),jQuery(function($){Uint8Array.prototype.slice||Object.defineProperty(Uint8Array.prototype,"slice",{value:function(begin,end){return new Uint8Array(Array.prototype.slice.call(this,begin,end))}}),WPGMZA.isSafari()&&!window.external&&(window.external={})}),jQuery(function($){WPGMZA.Polygon=function(row,enginePolygon){var self=this;WPGMZA.assertInstanceOf(this,"Polygon"),this.paths=null,WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polygon.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polygon.prototype.constructor=WPGMZA.Polygon,Object.defineProperty(WPGMZA.Polygon.prototype,"fillColor",{enumerable:!0,get:function(){return this.fillcolor&&this.fillcolor.length?"#"+this.fillcolor.replace(/^#/,""):"#ff0000"},set:function(a){this.fillcolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineopacity&&this.lineopacity.length?this.lineopacity:.6},set:function(a){this.lineopacity=a}}),Object.defineProperty(WPGMZA.Polygon.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):3}}),WPGMZA.Polygon.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.isProVersion()?WPGMZA.GoogleProPolygon:WPGMZA.GooglePolygon:WPGMZA.isProVersion()?WPGMZA.OLProPolygon:WPGMZA.OLPolygon},WPGMZA.Polygon.createInstance=function(row,engineObject){return new(WPGMZA.Polygon.getConstructor())(row,engineObject)},WPGMZA.Polygon.prototype.onAdded=function(){}}),jQuery(function($){WPGMZA.Polyline=function(options,googlePolyline){var self=this;WPGMZA.assertInstanceOf(this,"Polyline"),WPGMZA.Feature.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.Polyline.prototype=Object.create(WPGMZA.Feature.prototype),WPGMZA.Polyline.prototype.constructor=WPGMZA.Polyline,Object.defineProperty(WPGMZA.Polyline.prototype,"strokeColor",{enumerable:!0,get:function(){return this.linecolor&&this.linecolor.length?"#"+this.linecolor.replace(/^#/,""):"#ff0000"},set:function(a){this.linecolor=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.opacity&&this.opacity.length?this.opacity:.6},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"strokeWeight",{enumerable:!0,get:function(){return this.linethickness&&this.linethickness.length?parseInt(this.linethickness):1},set:function(a){this.linethickness=a}}),Object.defineProperty(WPGMZA.Polyline.prototype,"layergroup",{enumerable:!0,get:function(){return this._layergroup||0},set:function(value){parseInt(value)&&(this._layergroup=parseInt(value)+WPGMZA.Shape.BASE_LAYER_INDEX)}}),WPGMZA.Polyline.getConstructor=function(){return"open-layers"!==WPGMZA.settings.engine?WPGMZA.GooglePolyline:WPGMZA.OLPolyline},WPGMZA.Polyline.createInstance=function(options,engineObject){return new(WPGMZA.Polyline.getConstructor())(options,engineObject)},WPGMZA.Polyline.prototype.getPoints=function(){return this.toJSON().points},WPGMZA.Polyline.prototype.onAdded=function(){this.layergroup&&this.setLayergroup(this.layergroup)},WPGMZA.Polyline.prototype.toJSON=function(){var result=WPGMZA.Feature.prototype.toJSON.call(this);return result.title=this.title,result},WPGMZA.Polyline.prototype.setLayergroup=function(layergroup){this.layergroup=layergroup,this.layergroup&&this.setOptions({zIndex:this.layergroup})}}),jQuery(function($){WPGMZA.PopoutPanel=function(element){this.element=element},WPGMZA.PopoutPanel.prototype.open=function(){$(this.element).addClass("wpgmza-open")},WPGMZA.PopoutPanel.prototype.close=function(){$(this.element).removeClass("wpgmza-open")}}),jQuery(function($){function sendAJAXFallbackRequest(route,params){if((params=$.extend({},params)).data||(params.data={}),"route"in params.data)throw new Error("Cannot send route through this method");if("action"in params.data)throw new Error("Cannot send action through this method");return params.data.route=route,params.data.action="wpgmza_rest_api_request",WPGMZA.restAPI.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_AJAX),$.ajax(WPGMZA.ajaxurl,params)}WPGMZA.RestAPI=function(){WPGMZA.RestAPI.URL=WPGMZA.resturl,this.useAJAXFallback=!1,$(document.body).trigger("init.restapi.wpgmza")},WPGMZA.RestAPI.CONTEXT_REST="REST",WPGMZA.RestAPI.CONTEXT_AJAX="AJAX",WPGMZA.RestAPI.createInstance=function(){return new WPGMZA.RestAPI},Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableSupported",{get:function(){return WPGMZA.serverCanInflate&&"Uint8Array"in window&&"TextEncoder"in window}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"isCompressedPathVariableAllowed",{get:function(){return!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?!WPGMZA.settings.disable_compressed_path_variables:WPGMZA.settings.enable_compressed_path_variables}}),Object.defineProperty(WPGMZA.RestAPI.prototype,"maxURLLength",{get:function(){return 2083}}),WPGMZA.RestAPI.prototype.compressParams=function(params){var suffix="",string=(!params.markerIDs||1<(markerIDs=params.markerIDs.split(",")).length&&(markerIDs=(new WPGMZA.EliasFano).encode(markerIDs),compressed=pako.deflate(markerIDs),string=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join(""),suffix="/"+btoa(string).replace(/\//g,"-").replace(/=+$/,""),params.midcbp=markerIDs.pointer,delete params.markerIDs),JSON.stringify(params)),markerIDs=(new TextEncoder).encode(string),compressed=pako.deflate(markerIDs),params=Array.prototype.map.call(compressed,function(ch){return String.fromCharCode(ch)}).join("");return btoa(params).replace(/\//g,"-").replace(/=+$/,"")+suffix},WPGMZA.RestAPI.prototype.getNonce=function(route){var pattern,matches=[];for(pattern in WPGMZA.restnoncetable){var regex=new RegExp(pattern);route.match(regex)&&matches.push({pattern:pattern,nonce:WPGMZA.restnoncetable[pattern],length:pattern.length})}if(matches.length)return matches.sort(function(a,b){return b.length-a.length}),matches[0].nonce;throw new Error("No nonce found for route")},WPGMZA.RestAPI.prototype.addNonce=function(route,params,context){function setRESTNonce(xhr){context==WPGMZA.RestAPI.CONTEXT_REST&&self.shouldAddNonce(route)&&xhr.setRequestHeader("X-WP-Nonce",WPGMZA.restnonce),params&&params.method&&!params.method.match(/^GET$/i)&&xhr.setRequestHeader("X-WPGMZA-Action-Nonce",self.getNonce(route))}var base,self=this;params.beforeSend?(base=params.beforeSend,params.beforeSend=function(xhr){base(xhr),setRESTNonce(xhr)}):params.beforeSend=setRESTNonce},WPGMZA.RestAPI.prototype.shouldAddNonce=function(route){route=route.replace(/\//g,"");var isAdmin=!1;WPGMZA.is_admin&&1===parseInt(WPGMZA.is_admin)&&(isAdmin=!0);return!(route&&["markers","features","marker-listing","datatables"].includes(route)&&!isAdmin)},WPGMZA.RestAPI.prototype.call=function(route,params){if(this.useAJAXFallback)return sendAJAXFallbackRequest(route,params);var compressedParams,data,attemptedCompressedPathVariable=!1,fallbackRoute=route,fallbackParams=$.extend({},params);if("string"!=typeof route||!route.match(/^\//)&&!route.match(/^http/))throw new Error("Invalid route");WPGMZA.RestAPI.URL.match(/\/$/)&&(route=route.replace(/^\//,"")),params=params||{},this.addNonce(route,params,WPGMZA.RestAPI.CONTEXT_REST),params.error||(params.error=function(xhr,status,message){if("abort"!=status){switch(xhr.status){case 401:case 403:case 405:return($.post(WPGMZA.ajaxurl,{action:"wpgmza_report_rest_api_blocked"},function(response){}),console.warn("The REST API was blocked. This is usually due to security plugins blocking REST requests for non-authenticated users."),"DELETE"===params.method)?(console.warn("The REST API rejected a DELETE request, attempting again with POST fallback"),params.method="POST",params.data||(params.data={}),params.data.simulateDelete="yes",WPGMZA.restAPI.call(route,params)):(this.useAJAXFallback=!0,sendAJAXFallbackRequest(fallbackRoute,fallbackParams));case 414:if(attemptedCompressedPathVariable)return fallbackParams.method="POST",fallbackParams.useCompressedPathVariable=!1,WPGMZA.restAPI.call(fallbackRoute,fallbackParams)}throw new Error(message)}}),params.useCompressedPathVariable&&this.isCompressedPathVariableSupported&&this.isCompressedPathVariableAllowed&&(compressedParams=$.extend({},params),data=params.data,data=this.compressParams(data),WPGMZA.isServerIIS&&(data=data.replace(/\+/g,"%20")),data=route.replace(/\/$/,"")+"/base64"+data,WPGMZA.RestAPI.URL,compressedParams.method="GET",delete compressedParams.data,!1===params.cache&&(compressedParams.data={skip_cache:1}),data.length<this.maxURLLength?(attemptedCompressedPathVariable=!0,route=data,params=compressedParams):(WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed||console.warn("Compressed path variable route would exceed URL length limit"),WPGMZA.RestAPI.compressedPathVariableURLLimitWarningDisplayed=!0));var onSuccess=null;return params.success&&(onSuccess=params.success),params.success=function(result,status,xhr){if("object"!=typeof result){var rawResult=result;try{result=JSON.parse(result)}catch(parseExc){result=rawResult}}onSuccess&&"function"==typeof onSuccess&&onSuccess(result,status,xhr)},WPGMZA.RestAPI.URL.match(/\?/)&&(route=route.replace(/\?/,"&")),$.ajax(WPGMZA.RestAPI.URL+route,params)};var nativeCallFunction=WPGMZA.RestAPI.call;WPGMZA.RestAPI.call=function(){console.warn("WPGMZA.RestAPI.call was called statically, did you mean to call the function on WPGMZA.restAPI?"),nativeCallFunction.apply(this,arguments)},$(document.body).on("click","#wpgmza-rest-api-blocked button.notice-dismiss",function(event){WPGMZA.restAPI.call("/rest-api/",{method:"POST",data:{dismiss_blocked_notice:!0}})})});var $_GET={};if(-1!==document.location.toString().indexOf("?"))for(var query=document.location.toString().replace(/^.*?\?/,"").replace(/#.*$/,"").split("&"),wpgmza_i=0,wpgmza_l=query.length;wpgmza_i<wpgmza_l;wpgmza_i++){var aux=decodeURIComponent(query[wpgmza_i]).split("=");$_GET[aux[0]]=aux[1]}jQuery(function($){WPGMZA.SettingsPage=function(){var self=this;this._keypressHistory=[],this._codemirrors={},this.updateEngineSpecificControls(),this.updateStorageControls(),this.updateBatchControls(),this.updateGDPRControls(),this.updateWooControls(),$(window).on("keypress",function(event){self.onKeyPress(event)}),jQuery("body").on("click",".wpgmza_destroy_data",function(e){e.preventDefault();var ttype=jQuery(this).attr("danger"),e="wpgmza_destroy_all_data"==ttype?"Are you sure? This will delete ALL data and settings for WP Go Maps!":"Are you sure?";window.confirm(e)&&jQuery.ajax(WPGMZA.ajaxurl,{method:"POST",data:{action:"wpgmza_maps_settings_danger_zone_delete_data",type:ttype,nonce:wpgmza_dz_nonce},success:function(response,status,xhr){"wpgmza_destroy_all_data"==ttype?window.location.replace("admin.php?page=wp-google-maps-menu&action=welcome_page"):"wpgmza_reset_all_settings"==ttype?window.location.reload():alert("Complete.")}})}),$("select[name='wpgmza_maps_engine']").on("change",function(event){self.updateEngineSpecificControls()}),$('[name="wpgmza_settings_marker_pull"]').on("click",function(event){self.updateStorageControls()}),$('input[name="enable_batch_loading"]').on("change",function(event){self.updateBatchControls()}),$("input[name='wpgmza_gdpr_require_consent_before_load'], input[name='wpgmza_gdpr_require_consent_before_vgm_submit'], input[name='wpgmza_gdpr_override_notice']").on("change",function(event){self.updateGDPRControls()}),$('input[name="woo_checkout_map_enabled"]').on("change",function(event){self.updateWooControls()}),$('select[name="tile_server_url"]').on("change",function(event){"custom_override"===$('select[name="tile_server_url"]').val()?$(".wpgmza_tile_server_override_component").removeClass("wpgmza-hidden"):$(".wpgmza_tile_server_override_component").addClass("wpgmza-hidden")}),$('select[name="tile_server_url"]').trigger("change"),jQuery("#wpgmza_flush_cache_btn").on("click",function(){jQuery(this).attr("disabled","disabled"),WPGMZA.settingsPage.flushGeocodeCache()}),$("#wpgmza-global-settings").tabs({create:function(event,ui){var elmnt,y;void 0!==$_GET.highlight&&((elmnt=document.getElementById($_GET.highlight)).classList.add("highlight-item"),setTimeout(function(){elmnt.classList.add("highlight-item-step-2")},1e3),y=elmnt.getBoundingClientRect().top+window.pageYOffset+-100,window.scrollTo({top:y,behavior:"smooth"}))},activate:function(){for(var i in self._codemirrors)self._codemirrors[i].refresh()}}),$("#wpgmza-global-setting").bind("create",function(event,ui){alert("now")}),$("#wpgmza-global-settings fieldset").each(function(index,el){$(el).children(":not(legend)").wrapAll("<span class='settings-group'></span>")}),$("textarea[name^='wpgmza_custom_']").each(function(){var name=$(this).attr("name"),type="js"===name.replace("wpgmza_custom_","")?"javascript":"css";self._codemirrors[name]=wp.CodeMirror.fromTextArea(this,{lineNumbers:!0,mode:type,theme:"wpgmza"}),self._codemirrors[name].on("change",function(instance){instance.save()}),self._codemirrors[name].refresh()}),$(".wpgmza-integration-tool-button").on("click",function(event){event.preventDefault();event=$(this).data("tool-type");if(event){event={type:event};const button=$(this);button.attr("disabled","disabled"),WPGMZA.restAPI.call("/integration-tools/",{method:"POST",data:event,success:function(data,status,xhr){if(button.removeAttr("disabled"),data&&data.type)switch(data.type){case"test_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').addClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').removeClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;case"resolve_collation":data.success||($('.wpgmza-integration-tool-button[data-tool-type="test_collation"]').removeClass("wpgmza-hidden"),$('.wpgmza-integration-tool-button[data-tool-type="resolve_collation"]').addClass("wpgmza-hidden")),data.message&&window.alert(data.message);break;default:data.message&&window.alert(data.message)}}})}})},WPGMZA.SettingsPage.createInstance=function(){return new WPGMZA.SettingsPage},WPGMZA.SettingsPage.prototype.updateEngineSpecificControls=function(){var engine=$("select[name='wpgmza_maps_engine']").val();$("[data-required-maps-engine][data-required-maps-engine!='"+engine+"']").hide(),$("[data-required-maps-engine='"+engine+"']").show()},WPGMZA.SettingsPage.prototype.updateStorageControls=function(){$("input[name='wpgmza_settings_marker_pull'][value='1']").is(":checked")?$("#xml-cache-settings").show():$("#xml-cache-settings").hide()},WPGMZA.SettingsPage.prototype.updateBatchControls=function(){$("input[name='enable_batch_loading']").is(":checked")?$("#batch-loader-settings").show():$("#batch-loader-settings").hide()},WPGMZA.SettingsPage.prototype.updateGDPRControls=function(){var showNoticeControls=$("input[name='wpgmza_gdpr_require_consent_before_load']").prop("checked"),vgmCheckbox=$("input[name='wpgmza_gdpr_require_consent_before_vgm_submit']"),vgmCheckbox=(showNoticeControls=vgmCheckbox.length?showNoticeControls||vgmCheckbox.prop("checked"):showNoticeControls)&&$("input[name='wpgmza_gdpr_override_notice']").prop("checked");showNoticeControls?$("#wpgmza-gdpr-compliance-notice").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza-gdpr-compliance-notice").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow"),vgmCheckbox?$("#wpgmza_gdpr_override_notice_text").show(!!WPGMZA.InternalEngine.isLegacy()&&"slow"):$("#wpgmza_gdpr_override_notice_text").hide(!!WPGMZA.InternalEngine.isLegacy()&&"slow")},WPGMZA.SettingsPage.prototype.updateWooControls=function(){$("input[name='woo_checkout_map_enabled']").prop("checked")?$(".woo-checkout-maps-select-row").show():$(".woo-checkout-maps-select-row").hide()},WPGMZA.SettingsPage.prototype.flushGeocodeCache=function(){(new WPGMZA.OLGeocoder).clearCache(function(response){jQuery("#wpgmza_flush_cache_btn").removeAttr("disabled")})},WPGMZA.SettingsPage.prototype.onKeyPress=function(event){this._keypressHistory.push(event.key),9<this._keypressHistory.length&&(this._keypressHistory=this._keypressHistory.slice(this._keypressHistory.length-9)),"codecabin"!=this._keypressHistory.join("")||this._developerModeRevealed||($("fieldset#wpgmza-developer-mode").show(),this._developerModeRevealed=!0)},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.settingsPage=WPGMZA.SettingsPage.createInstance())})}),jQuery(function($){var Parent=WPGMZA.Feature;WPGMZA.Shape=function(options,engineFeature){var self=this;WPGMZA.assertInstanceOf(this,"Shape"),Parent.apply(this,arguments),this.addEventListener("added",function(event){self.onAdded()})},WPGMZA.extend(WPGMZA.Shape,WPGMZA.Feature),WPGMZA.Shape.BASE_LAYER_INDEX=99999,WPGMZA.Shape.prototype.onAdded=function(){}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Circle=function(options,engineCircle){WPGMZA.assertInstanceOf(this,"Circle"),this.center=new WPGMZA.LatLng,this.radius=100,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Circle,Parent),Object.defineProperty(WPGMZA.Circle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Circle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Circle.createInstance=function(options,engineCircle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProCircle;break}constructor=WPGMZA.OLCircle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProCircle;break}constructor=WPGMZA.GoogleCircle}return new constructor(options,engineCircle)},WPGMZA.Circle.prototype.getCenter=function(){return this.center.clone()},WPGMZA.Circle.prototype.setCenter=function(latLng){this.center.lat=latLng.lat,this.center.lng=latLng.lng},WPGMZA.Circle.prototype.getRadius=function(){return this.radius},WPGMZA.Circle.prototype.setRadius=function(radius){this.radius=radius},WPGMZA.Circle.prototype.getMap=function(){return this.map},WPGMZA.Circle.prototype.setMap=function(map){this.map&&this.map.removeCircle(this),map&&map.addCircle(this)}}),jQuery(function($){var Parent=WPGMZA.Shape;WPGMZA.Rectangle=function(options,engineRectangle){WPGMZA.assertInstanceOf(this,"Rectangle"),this.name="",this.cornerA=new WPGMZA.LatLng,this.cornerB=new WPGMZA.LatLng,this.color="#ff0000",this.opacity=.5,Parent.apply(this,arguments)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProShape),WPGMZA.extend(WPGMZA.Rectangle,Parent),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillColor",{enumerable:!0,get:function(){return this.color&&this.color.length?this.color:"#ff0000"},set:function(a){this.color=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"fillOpacity",{enumerable:!0,get:function(){return this.opacity||0==this.opacity?parseFloat(this.opacity):.5},set:function(a){this.opacity=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeColor",{enumerable:!0,get:function(){return this.lineColor||"#000000"},set:function(a){this.lineColor=a}}),Object.defineProperty(WPGMZA.Rectangle.prototype,"strokeOpacity",{enumerable:!0,get:function(){return this.lineOpacity||0==this.lineOpacity?parseFloat(this.lineOpacity):0},set:function(a){this.lineOpacity=a}}),WPGMZA.Rectangle.createInstance=function(options,engineRectangle){var constructor;switch(WPGMZA.settings.engine){case"open-layers":if(WPGMZA.isProVersion()){constructor=WPGMZA.OLProRectangle;break}constructor=WPGMZA.OLRectangle;break;default:if(WPGMZA.isProVersion()){constructor=WPGMZA.GoogleProRectangle;break}constructor=WPGMZA.GoogleRectangle}return new constructor(options,engineRectangle)}}),jQuery(function($){WPGMZA.SidebarGroupings=function(){var self=this;this.element=document.body,this.actionBar={element:$(this.element).find(".action-bar"),dynamicAction:null,dynamicLabel:""},$(this.element).on("click",".grouping .item",function(event){self.openTab(event)}),$(".quick-actions .actions").on("click",".icon",function(event){var feature=$(this).data("type");feature&&(self.openTabByFeatureType(feature),$(".quick-actions #qa-add-datasets").prop("checked",!1))}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-edit",function(event){event.feature&&self.openTabByFeatureType(event.feature)}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-saved",function(event){event.feature&&self.closeCurrent()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-busy",function(event){self.resetScroll()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-created",function(event){}),$(this.element).find(".fieldset-toggle").on("click",function(event){$(this).toggleClass("toggled")}),$(this.element).on("click",".wpgmza-toolbar .wpgmza-toolbar-list > *",function(event){$(this).parent().parent().find("label").click()}),$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").on("sidebar-delegate-feature-caption-loaded",function(event){self.actionBar.dynamicAction&&(self.actionBar.dynamicLabel=self.actionBar.dynamicAction.text(),self.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(self.actionBar.dynamicLabel))}),this.actionBar.element.find(".dynamic-action").on("click",function(event){self.actionBar.dynamicAction&&self.actionBar.dynamicAction.click()}),this.initUpsellBlocks()},WPGMZA.extend(WPGMZA.SidebarGroupings,WPGMZA.EventDispatcher),WPGMZA.SidebarGroupings.createInstance=function(){return new WPGMZA.SidebarGroupings},WPGMZA.SidebarGroupings.prototype.openTab=function(event){event=event.currentTarget,event=$(event).data("group");this.openTabByGroupId(event),WPGMZA.mapEditPage&&WPGMZA.mapEditPage.map&&WPGMZA.mapEditPage.map.onElementResized()},WPGMZA.SidebarGroupings.prototype.openTabByFeatureType=function(feature){0<$(this.element).find('.grouping[data-feature="'+feature+'"]').length&&(feature=$(this.element).find('.grouping[data-feature="'+feature+'"]').data("group"),this.openTabByGroupId(feature))},WPGMZA.SidebarGroupings.prototype.openTabByGroupId=function(groupId){var element;groupId&&this.hasGroup(groupId)&&(this.closeAll(),(element=$(this.element).find('.grouping[data-group="'+groupId+'"]')).addClass("open"),element.data("feature-discard")&&$(element).trigger("feature-block-closed"),0<$(".wpgmza-map-settings-form").find(element).length?$(".wpgmza-map-settings-form").removeClass("wpgmza-hidden"):$(".wpgmza-map-settings-form").addClass("wpgmza-hidden"),element.hasClass("auto-expand")?$(".sidebar").addClass("expanded"):$(".sidebar").removeClass("expanded"),element.data("feature")&&$(element).trigger("feature-block-opened"),$(element).trigger("grouping-opened",[groupId]),this.updateActionBar(element))},WPGMZA.SidebarGroupings.prototype.hasGroup=function(groupId){return 0<$(this.element).find('.grouping[data-group="'+groupId+'"]').length},WPGMZA.SidebarGroupings.prototype.closeAll=function(){var self=this;$(this.element).find(".grouping.open").each(function(){var group=$(this).data("group");group&&$(self.element).trigger("grouping-closed",[group])}),$(this.element).find(".grouping").removeClass("open")},WPGMZA.SidebarGroupings.prototype.closeCurrent=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open").find(".heading.has-back .item").click()},WPGMZA.SidebarGroupings.prototype.updateActionBar=function(element){this.actionBar.dynamicAction=null,element&&element.data("feature")&&0<element.find(".wpgmza-save-feature").length&&(this.actionBar.dynamicAction=element.find(".wpgmza-save-feature").first(),this.actionBar.dynamicLabel=this.actionBar.dynamicAction.text().trim()),this.actionBar.dynamicAction&&this.actionBar.dynamicAction.addClass("wpgmza-hidden"),this.actionBar.dynamicAction&&this.actionBar.dynamicLabel?(this.actionBar.element.find(".dynamic-action").removeClass("wpgmza-hidden").text(this.actionBar.dynamicLabel),this.actionBar.element.find(".static-action").addClass("wpgmza-hidden")):(this.actionBar.element.find(".static-action").removeClass("wpgmza-hidden"),this.actionBar.element.find(".dynamic-action").addClass("wpgmza-hidden").text(""))},WPGMZA.SidebarGroupings.prototype.resetScroll=function(){0<$(this.element).find(".grouping.open").length&&$(this.element).find(".grouping.open .settings").scrollTop(0)},WPGMZA.SidebarGroupings.prototype.initUpsellBlocks=function(){var upsellWrappers=$(this.element).find(".upsell-block.auto-rotate");if(upsellWrappers&&0<upsellWrappers.length)for(var currentWrapper of upsellWrappers)1<(currentWrapper=$(currentWrapper)).find(".upsell-block-card").length?(currentWrapper.addClass("rotate"),currentWrapper.on("wpgmza-upsell-rotate-card",function(){var cardLength=$(this).find(".upsell-block-card").length;$(this).find(".upsell-block-card").hide();let nextCard=parseInt(Math.random()*cardLength),nextCardElem=(nextCard<0?nextCard=0:nextCard>=cardLength&&(nextCard=cardLength-1),$(this).find(".upsell-block-card:nth-child("+(nextCard+1)+")"));0<nextCardElem.length&&!nextCardElem.hasClass("active")?($(this).find(".upsell-block-card").removeClass("active"),nextCardElem.addClass("active"),nextCardElem.fadeIn(200)):nextCardElem.show(),setTimeout(()=>{$(this).trigger("wpgmza-upsell-rotate-card")},1e4)}),currentWrapper.trigger("wpgmza-upsell-rotate-card")):currentWrapper.addClass("static")}}),jQuery(function($){WPGMZA.StoreLocator=function(map,element){var self=this;WPGMZA.EventDispatcher.call(this),this._center=null,this.map=map,this.element=element,this.state=WPGMZA.StoreLocator.STATE_INITIAL,this.distanceUnits=this.map.settings.store_locator_distance,this.addressInput=WPGMZA.AddressInput.createInstance(this.addressElement,this.map),$(element).find(".wpgmza-not-found-msg").hide(),this.radiusElement&&this.map.settings.wpgmza_store_locator_default_radius&&(this.radiusElement.data("default-override")||0<this.radiusElement.find("option[value='"+this.map.settings.wpgmza_store_locator_default_radius+"']").length&&this.radiusElement.val(this.map.settings.wpgmza_store_locator_default_radius)),this.map.on("storelocatorgeocodecomplete",function(event){self.onGeocodeComplete(event)}),this.map.on("init",function(event){self.map.markerFilter.on("filteringcomplete",function(event){self.onFilteringComplete(event)}),!WPGMZA.InternalEngine.isLegacy()||void 0!==self.map.settings.store_locator_style&&"modern"!=self.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style||"default"!==WPGMZA.settings.user_interface_style&&"modern"!=WPGMZA.settings.user_interface_style&&"legacy"!=WPGMZA.settings.user_interface_style||(self.legacyModernAdapter=WPGMZA.ModernStoreLocator.createInstance(map.id))}),WPGMZA.InternalEngine.isLegacy()?($(document.body).on("click",".wpgmza_sl_search_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_search_button",function(event){self.onSearch(event)}),$(document.body).on("click",".wpgmza_sl_reset_button_"+map.id+", [data-map-id='"+map.id+"'] .wpgmza_sl_reset_button_div",function(event){self.onReset(event)})):($(this.searchButton).on("click",function(event){self.onSearch(event)}),$(this.resetButton).on("click",function(event){self.onReset(event)})),$(this.addressElement).on("keypress",function(event){13==event.which&&self.onSearch(event)}),this.onQueryParamSearch(),self.trigger("init.storelocator")},WPGMZA.StoreLocator.prototype=Object.create(WPGMZA.EventDispatcher.prototype),WPGMZA.StoreLocator.prototype.constructor=WPGMZA.StoreLocator,WPGMZA.StoreLocator.STATE_INITIAL="initial",WPGMZA.StoreLocator.STATE_APPLIED="applied",WPGMZA.StoreLocator.createInstance=function(map,element){return new WPGMZA.StoreLocator(map,element)},Object.defineProperty(WPGMZA.StoreLocator.prototype,"address",{get:function(){return $(this.addressElement).val()}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"addressElement",{get:function(){return(this.legacyModernAdapter?$(this.legacyModernAdapter.element):$(this.element)).find("input.wpgmza-address")[0]}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"countryRestriction",{get:function(){return this.map.settings.wpgmza_store_locator_restrict}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radiusElement",{get:function(){return WPGMZA.InternalEngine.isLegacy()?$("#radiusSelect, #radiusSelect_"+this.map.id):$(this.element).find("select.wpgmza-radius")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"searchButton",{get:function(){return $(this.element).find(".wpgmza-search")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"resetButton",{get:function(){return $(this.element).find(".wpgmza-reset")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"errorElement",{get:function(){return $(this.element).find(".wpgmza-error")}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"radius",{get:function(){return parseFloat(this.radiusElement.val())}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"center",{get:function(){return this._center}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"bounds",{get:function(){return this._bounds}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"marker",{get:function(){if(1!=this.map.settings.store_locator_bounce)return null;if(this._marker)return this._marker;return this._marker=WPGMZA.Marker.createInstance({visible:!1}),this._marker.disableInfoWindow=!0,this._marker.isFilterable=!1,this._marker.setAnimation(WPGMZA.Marker.ANIMATION_BOUNCE),this._marker}}),Object.defineProperty(WPGMZA.StoreLocator.prototype,"circle",{get:function(){return this._circle||("modern"!=this.map.settings.wpgmza_store_locator_radius_style||WPGMZA.isDeviceiOS()?this._circle=WPGMZA.Circle.createInstance({strokeColor:"#ff0000",strokeOpacity:"0.25",strokeWeight:2,fillColor:"#ff0000",fillOpacity:"0.15",visible:!1,clickable:!1,center:new WPGMZA.LatLng}):(this._circle=WPGMZA.ModernStoreLocatorCircle.createInstance(this.map.id),this._circle.settings.color=this.circleStrokeColor),this._circle)}}),WPGMZA.StoreLocator.prototype.onGeocodeComplete=function(event){if(!event.results||!event.results.length)return this._center=null,void(this._bounds=null);event.results[0].latLng?this._center=new WPGMZA.LatLng(event.results[0].latLng):event.results[0]instanceof WPGMZA.LatLng&&(this._center=new WPGMZA.LatLng(event.results[0])),this._bounds=new WPGMZA.LatLngBounds(event.results[0].bounds),this.isCapsule?this.redirectUrl&&this.onRedirectSearch():this.map.markerFilter.update({},this)},WPGMZA.StoreLocator.prototype.onSearch=function(event){var geocoder,options,self=this;return this.state=WPGMZA.StoreLocator.STATE_APPLIED,this.address&&this.address.length?(WPGMZA.InternalEngine.isLegacy()&&void 0!==this.map.settings.store_locator_style&&"modern"!==this.map.settings.store_locator_style&&"modern"!==WPGMZA.settings.user_interface_style&&"default"===WPGMZA.settings.user_interface_style&&WPGMZA.animateScroll(this.map.element),$(this.element).find(".wpgmza-not-found-msg").hide(),$(this.element).find(".wpgmza-error").removeClass("visible"),this.setVisualState("busy"),WPGMZA.LatLng.isLatLngString(this.address)?callback([WPGMZA.LatLng.fromString(this.address)],WPGMZA.Geocoder.SUCCESS):(geocoder=WPGMZA.Geocoder.createInstance(),options={address:this.address},this.countryRestriction&&(options.country=this.countryRestriction),geocoder.geocode(options,function(results,status){status==WPGMZA.Geocoder.SUCCESS?callback(results,status):WPGMZA.InternalEngine.isLegacy()?alert(WPGMZA.localized_strings.address_not_found):(self.showError(WPGMZA.localized_strings.address_not_found),self.setVisualState(!1))})),self.trigger("search.storelocator"),!0):(this.addressElement.focus(),!1);function callback(results,status){self.map.trigger({type:"storelocatorgeocodecomplete",results:results,status:status}),self.setVisualState("complete")}},WPGMZA.StoreLocator.prototype.onReset=function(event){this.state=WPGMZA.StoreLocator.STATE_INITIAL,this._center=null,this._bounds=null,this.map.setZoom(this.map.settings.map_start_zoom),$(this.element).find(".wpgmza-not-found-msg").hide(),this.circle&&this.circle.setVisible(!1),this.marker&&this.marker.map&&this.map.removeMarker(this.marker),this.map.markerFilter.update({},this),this.setVisualState(!1),WPGMZA.InternalEngine.isLegacy()||$(this.addressElement).val("").focus(),this.trigger("reset.storelocator")},WPGMZA.StoreLocator.prototype.onRedirectSearch=function(){if(this.redirectUrl)try{var data={radius:this.radius,center:this.center.lat+","+this.center.lng};const params=new URLSearchParams(data);window.location.href=this.redirectUrl+"?"+params.toString(),this.setVisualState("busy")}catch(ex){console.warn(ex)}},WPGMZA.StoreLocator.prototype.getFilteringParameters=function(){return this.center?{center:this.center,radius:this.radius}:{}},WPGMZA.StoreLocator.prototype.getZoomFromRadius=function(radius){return this.distanceUnits==WPGMZA.Distance.MILES&&(radius*=WPGMZA.Distance.KILOMETERS_PER_MILE),Math.round(14-Math.log(radius)/Math.LN2)},WPGMZA.StoreLocator.prototype.onFilteringComplete=function(event){var factor,params=event.filteringParams,marker=this.marker,marker=(marker&&marker.setVisible(!1),params.center&&(this.map.setCenter(params.center),marker&&(marker.setPosition(params.center),marker.setVisible(!0),marker.map!=this.map&&this.map.addMarker(marker))),params.radius&&this.map.setZoom(this.getZoomFromRadius(params.radius)),this.circle);marker&&(marker.setVisible(!1),factor=this.distanceUnits==WPGMZA.Distance.MILES?WPGMZA.Distance.KILOMETERS_PER_MILE:1,params.center&&params.radius&&(marker.setRadius(params.radius*factor),marker.setCenter(params.center),marker.setVisible(!0),marker instanceof WPGMZA.ModernStoreLocatorCircle||marker.map==this.map||this.map.addCircle(marker)),marker instanceof WPGMZA.ModernStoreLocatorCircle&&(marker.settings.radiusString=this.radius)),0==event.filteredMarkers.length&&this.state===WPGMZA.StoreLocator.STATE_APPLIED&&(WPGMZA.InternalEngine.isLegacy()?0<$(this.element).find(".wpgmza-no-results").length&&"legacy"===WPGMZA.settings.user_interface_style?$(this.element).find(".wpgmza-no-results").show():alert(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results):this.showError(this.map.settings.store_locator_not_found_message||WPGMZA.localized_strings.zero_results))},WPGMZA.StoreLocator.prototype.onQueryParamSearch=function(){var queryCenter=WPGMZA.getQueryParamValue("center"),queryCenter=(queryCenter&&$(this.addressElement).val(queryCenter),WPGMZA.getQueryParamValue("radius"));queryCenter&&$(this.radiusElement).val(queryCenter),this.isCapsule||this.map.on("init",()=>{this.onSearch()})},WPGMZA.StoreLocator.prototype.setVisualState=function(state){!1!==state?$(this.element).attr("data-state",state):$(this.element).removeAttr("data-state")},WPGMZA.StoreLocator.prototype.showError=function(error){var self=this;WPGMZA.InternalEngine.isLegacy()||($(this.errorElement).text(error).addClass("visible"),setTimeout(function(){$(self.errorElement).text("").removeClass("visible")},3e3))}}),jQuery(function($){WPGMZA.StylingPage=function(){var self=this;this.element=document.body,this.styleGuide={wrapper:$(this.element).find(".wpgmza-styling-map-preview .wpgmza-style-guide-wrapper")},this.controls={},$(this.element).find(".wpgmza-styling-editor fieldset").each(function(){self.prepareControl(this)}),$(this.element).find(".wpgmza-styling-preset-select").on("change",function(){self.applyPreset(this)}),this.bindEvents(),this.parseUserPreset()},WPGMZA.StylingPage.PRESETS={},WPGMZA.StylingPage.PRESETS.default={"--wpgmza-component-color":"#ffffff","--wpgmza-component-text-color":"#000000","--wpgmza-component-color-accent":"#1A73E8","--wpgmza-component-text-color-accent":"#ffffff","--wpgmza-color-grey-500":"#bfbfbf","--wpgmza-component-border-radius":"2px","--wpgmza-component-font-size":"15px","--wpgmza-component-backdrop-filter":"none"},WPGMZA.StylingPage.PRESETS.glass={"--wpgmza-component-color":"rgba(255, 255, 255, 0.3)","--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"8px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":"blur(20px)"},WPGMZA.StylingPage.PRESETS.rounded={"--wpgmza-component-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color"],"--wpgmza-component-text-color":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color"],"--wpgmza-component-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-color-accent"],"--wpgmza-component-text-color-accent":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-text-color-accent"],"--wpgmza-color-grey-500":WPGMZA.StylingPage.PRESETS.default["--wpgmza-color-grey-500"],"--wpgmza-component-border-radius":"20px","--wpgmza-component-font-size":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-font-size"],"--wpgmza-component-backdrop-filter":WPGMZA.StylingPage.PRESETS.default["--wpgmza-component-backdrop-filter"]},WPGMZA.StylingPage.createInstance=function(){return new WPGMZA.StylingPage},WPGMZA.StylingPage.prototype.prepareControl=function(element){var element=$(element),input=element.find("input"),name=input.attr("name");if(""!==name.trim()){this.controls[name]={container:element,input:input};element=0<this.controls[name].input.length&&this.controls[name].input.get(0);if(element)if(element.wpgmzaColorInput){const colorInput=element.wpgmzaColorInput;colorInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),colorInput.container.prepend(this.controls[name].resetButton),colorInput.container.addClass("wpgmza-styling-editor-contains-reset"))}else if(element.wpgmzaCSSUnitInput){const unitInput=element.wpgmzaCSSUnitInput;unitInput.container&&(this.controls[name].resetButton=$("<div class='wpgmza-styling-editor-reset-btn' data-reset-control-name='"+name+"' />"),unitInput.container.prepend(this.controls[name].resetButton),unitInput.container.addClass("wpgmza-styling-editor-contains-reset"))}this.resetControl(this.controls[name])}},WPGMZA.StylingPage.prototype.bindEvents=function(){var name,self=this;for(name in this.controls)this.controls[name].input.on("change",function(){self.updateControl(this)});this.styleGuide.steps=this.styleGuide.wrapper.find(".wpgmza-style-guide-step").length,this.styleGuide.index=0,this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .prev-btn").on("click",function(){--self.styleGuide.index,self.styleGuide.index<0&&(self.styleGuide.index=self.styleGuide.steps-1),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.find(".wpgmza-style-guide-nav .next-btn").on("click",function(){self.styleGuide.index+=1,self.styleGuide.index>=self.styleGuide.steps&&(self.styleGuide.index=0),self.styleGuide.wrapper.trigger("update-view")}),this.styleGuide.wrapper.on("update-view",function(){self.styleGuide.wrapper.find(".wpgmza-style-guide-step").removeClass("active"),self.styleGuide.wrapper.find(".wpgmza-style-guide-step:nth-child("+(self.styleGuide.index+1)+")").addClass("active")}),$(document.body).on("click",".wpgmza-styling-editor-reset-btn",function(){$(this);var field=$(this).data("reset-control-name");field&&self.controls[field]&&self.resetControl(self.controls[field])})},WPGMZA.StylingPage.prototype.updateControl=function(input){var name=$(input).attr("name");name&&-1!==name.indexOf("--")&&$(".wpgmza-styling-preview-wrap .wpgmza_map").css(name,$(input).val())},WPGMZA.StylingPage.prototype.resetControl=function(control){var name=control.input.attr("name");if(name&&-1!==name.indexOf("--")&&(name=$(":root").css(name))){var name=name.trim(),activeInput=0<control.input.length&&control.input.get(0);if(activeInput)if(activeInput.wpgmzaColorInput){const colorInput=activeInput.wpgmzaColorInput;colorInput.parseColor(name)}else if(activeInput.wpgmzaCSSUnitInput){const unitInput=activeInput.wpgmzaCSSUnitInput;unitInput.parseUnits(name)}else if(activeInput.wpgmzaCSSBackdropFilterInput){const backdropInput=activeInput.wpgmzaCSSBackdropFilterInput;backdropInput.parseFilters(name)}else control.input.val(name)}},WPGMZA.StylingPage.prototype.parseUserPreset=function(){WPGMZA.stylingSettings&&WPGMZA.stylingSettings instanceof Object&&0<Object.keys(WPGMZA.stylingSettings).length&&(WPGMZA.StylingPage.PRESETS.user=WPGMZA.stylingSettings,$(".wpgmza-styling-preset-select").append("<option value='user'>User Defined</option>"),$(".wpgmza-styling-preset-select").val("user").trigger("change"))},WPGMZA.StylingPage.prototype.applyPreset=function(element){element=(element=$(element)).val();if(element&&WPGMZA.StylingPage.PRESETS[element]){var fieldName,preset=WPGMZA.StylingPage.PRESETS[element];for(fieldName in preset){var fieldValue=preset[fieldName];let field=$(this.element).find('input[name="'+fieldName+'"]');0<field.length&&((field=field.get(0)).wpgmzaColorInput?field.wpgmzaColorInput.parseColor(fieldValue):field.wpgmzaCSSUnitInput?field.wpgmzaCSSUnitInput.parseUnits(fieldValue):field.wpgmzaCSSBackdropFilterInput?field.wpgmzaCSSBackdropFilterInput.parseFilters(fieldValue):($(field).val(fieldValue),$(field).trigger("change")))}}},$(document).ready(function(event){WPGMZA.getCurrentPage()&&(WPGMZA.stylingPage=WPGMZA.StylingPage.createInstance())})}),jQuery(function($){WPGMZA.SupportPage=function(){$(".support-page").tabs(),$(".wpgmza-copy-sysinfo").on("click",function(){var info=$(".system-info").text();if(info.length){const temp=jQuery("<textarea>");$(document.body).append(temp),temp.val(info).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Info Copied")}})},WPGMZA.SupportPage.createInstance=function(){return new WPGMZA.SupportPage},$(document).ready(function(event){WPGMZA.getCurrentPage()===WPGMZA.PAGE_SUPPORT&&(WPGMZA.supportPage=WPGMZA.SupportPage.createInstance())})}),jQuery(function($){WPGMZA.Text=function(options){if(options)for(var name in options)this[name]=options[name]},WPGMZA.Text.createInstance=function(options){return new("open-layers"!==WPGMZA.settings.engine?WPGMZA.GoogleText:WPGMZA.OLText)(options)},WPGMZA.Text.prototype.setPosition=function(position){this.overlay&&this.overlay.setPosition(position)},WPGMZA.Text.prototype.setText=function(text){this.overlay&&this.overlay.setText(text)},WPGMZA.Text.prototype.setFontSize=function(size){this.overlay&&this.overlay.setFontSize(size)},WPGMZA.Text.prototype.setFillColor=function(color){this.overlay&&this.overlay.setFillColor(color)},WPGMZA.Text.prototype.setLineColor=function(color){this.overlay&&this.overlay.setLineColor(color)},WPGMZA.Text.prototype.setOpacity=function(opacity){this.overlay&&this.overlay.setOpacity(opacity)},WPGMZA.Text.prototype.remove=function(){this.overlay&&this.overlay.remove()},WPGMZA.Text.prototype.refresh=function(){}}),jQuery(function($){WPGMZA.ThemeEditor=function(){if(WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-theme-editor"),"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemeEditor=new WPGMZA.OLThemeEditor);this.element.length?(this.json=[{}],this.mapElement=WPGMZA.maps[0].element,this.element.appendTo("#wpgmza-map-theme-editor__holder"),$(window).on("scroll",function(event){}),setInterval(function(){},200),this.initHTML(),WPGMZA.themeEditor=this):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.ThemeEditor,WPGMZA.EventDispatcher),WPGMZA.ThemeEditor.prototype.updatePosition=function(){},WPGMZA.ThemeEditor.features={all:[],administrative:["country","land_parcel","locality","neighborhood","province"],landscape:["man_made","natural","natural.landcover","natural.terrain"],poi:["attraction","business","government","medical","park","place_of_worship","school","sports_complex"],road:["arterial","highway","highway.controlled_access","local"],transit:["line","station","station.airport","station.bus","station.rail"],water:[]},WPGMZA.ThemeEditor.elements={all:[],geometry:["fill","stroke"],labels:["icon","text","text.fill","text.stroke"]},WPGMZA.ThemeEditor.prototype.parse=function(){$("#wpgmza_theme_editor_feature option, #wpgmza_theme_editor_element option").css("font-weight","normal"),$("#wpgmza_theme_editor_error").hide(),$("#wpgmza_theme_editor").show(),$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val("");var textarea=$('textarea[name="wpgmza_theme_data"]');if(this.refreshColorInputs(),!textarea.val()||textarea.val().length<1)this.json=[{}];else{try{this.json=$.parseJSON($('textarea[name="wpgmza_theme_data"]').val())}catch(e){return this.json=[{}],$("#wpgmza_theme_editor").hide(),void $("#wpgmza_theme_editor_error").show()}$.isArray(this.json)||(textarea=this.json,this.json=[],this.json.push(textarea)),this.highlightFeatures(),this.highlightElements(),this.loadElementStylers()}},WPGMZA.ThemeEditor.prototype.highlightFeatures=function(){$("#wpgmza_theme_editor_feature option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")?$('#wpgmza_theme_editor_feature option[value="'+v.featureType+'"]'):$('#wpgmza_theme_editor_feature option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.highlightElements=function(){var feature=$("#wpgmza_theme_editor_feature").val();$("#wpgmza_theme_editor_element option").css("font-weight","normal"),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")?$('#wpgmza_theme_editor_element option[value="'+v.elementType+'"]'):$('#wpgmza_theme_editor_element option[value="all"]')).css("font-weight","bold")})},WPGMZA.ThemeEditor.prototype.loadElementStylers=function(){var feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val();$("#wpgmza_theme_editor_do_hue").prop("checked",!1),$("#wpgmza_theme_editor_hue").val("#000000"),$("#wpgmza_theme_editor_lightness").val(""),$("#wpgmza_theme_editor_saturation").val(""),$("#wpgmza_theme_editor_gamma").val(""),$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!1),$("#wpgmza_theme_editor_visibility").val("inherit"),$("#wpgmza_theme_editor_do_color").prop("checked",!1),$("#wpgmza_theme_editor_color").val("#000000"),$("#wpgmza_theme_editor_weight").val(""),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&v.hasOwnProperty("stylers")&&$.isArray(v.stylers)&&0<v.stylers.length&&$.each(v.stylers,function(ii,vv){vv.hasOwnProperty("hue")&&($("#wpgmza_theme_editor_do_hue").prop("checked",!0),$("#wpgmza_theme_editor_hue").val(vv.hue)),vv.hasOwnProperty("lightness")&&$("#wpgmza_theme_editor_lightness").val(vv.lightness),vv.hasOwnProperty("saturation")&&$("#wpgmza_theme_editor_saturation").val(vv.xaturation),vv.hasOwnProperty("gamma")&&$("#wpgmza_theme_editor_gamma").val(vv.gamma),vv.hasOwnProperty("invert_lightness")&&$("#wpgmza_theme_editor_do_invert_lightness").prop("checked",!0),vv.hasOwnProperty("visibility")&&$("#wpgmza_theme_editor_visibility").val(vv.visibility),vv.hasOwnProperty("color")&&($("#wpgmza_theme_editor_do_color").prop("checked",!0),$("#wpgmza_theme_editor_color").val(vv.color)),vv.hasOwnProperty("weight")&&$("#wpgmza_theme_editor_weight").val(vv.weight)})}),this.refreshColorInputs()},WPGMZA.ThemeEditor.prototype.writeElementStylers=function(){var new_feature_element_stylers,feature=$("#wpgmza_theme_editor_feature").val(),element=$("#wpgmza_theme_editor_element").val(),indexJSON=null,stylers=[];"inherit"!=$("#wpgmza_theme_editor_visibility").val()&&stylers.push({visibility:$("#wpgmza_theme_editor_visibility").val()}),!0===$("#wpgmza_theme_editor_do_color").prop("checked")&&stylers.push({color:$("#wpgmza_theme_editor_color").val()}),!0===$("#wpgmza_theme_editor_do_hue").prop("checked")&&stylers.push({hue:$("#wpgmza_theme_editor_hue").val()}),0<$("#wpgmza_theme_editor_gamma").val().length&&stylers.push({gamma:parseFloat($("#wpgmza_theme_editor_gamma").val())}),0<$("#wpgmza_theme_editor_weight").val().length&&stylers.push({weight:parseFloat($("#wpgmza_theme_editor_weight").val())}),0<$("#wpgmza_theme_editor_saturation").val().length&&stylers.push({saturation:parseFloat($("#wpgmza_theme_editor_saturation").val())}),0<$("#wpgmza_theme_editor_lightness").val().length&&stylers.push({lightness:parseFloat($("#wpgmza_theme_editor_lightness").val())}),!0===$("#wpgmza_theme_editor_do_invert_lightness").prop("checked")&&stylers.push({invert_lightness:!0}),$.each(this.json,function(i,v){(v.hasOwnProperty("featureType")&&v.featureType==feature||"all"==feature&&!v.hasOwnProperty("featureType"))&&(v.hasOwnProperty("elementType")&&v.elementType==element||"all"==element&&!v.hasOwnProperty("elementType"))&&(indexJSON=i)}),null===indexJSON?0<stylers.length&&(new_feature_element_stylers={},"all"!=feature&&(new_feature_element_stylers.featureType=feature),"all"!=element&&(new_feature_element_stylers.elementType=element),new_feature_element_stylers.stylers=stylers,this.json.push(new_feature_element_stylers)):0<stylers.length?this.json[indexJSON].stylers=stylers:this.json.splice(indexJSON,1),$('textarea[name="wpgmza_theme_data"]').val(JSON.stringify(this.json).replace(/:/g,": ").replace(/,/g,", ")),this.highlightFeatures(),this.highlightElements(),WPGMZA.themePanel.updateMapTheme()},WPGMZA.ThemeEditor.prototype.initHTML=function(){var self=this;$.each(WPGMZA.ThemeEditor.features,function(i,v){$("#wpgmza_theme_editor_feature").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_feature").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),$.each(WPGMZA.ThemeEditor.elements,function(i,v){$("#wpgmza_theme_editor_element").append('<option value="'+i+'">'+i+"</option>"),0<v.length&&$.each(v,function(ii,vv){$("#wpgmza_theme_editor_element").append('<option value="'+i+"."+vv+'">'+i+"."+vv+"</option>")})}),this.parse(),$('textarea[name="wpgmza_theme_data"]').on("input selectionchange propertychange",function(){self.parse()}),$(".wpgmza_theme_selection").click(function(){setTimeout(function(){$('textarea[name="wpgmza_theme_data"]').trigger("input")},1e3)}),$("#wpgmza-theme-editor__toggle").click(function(){$("#wpgmza-theme-editor").removeClass("active")}),$("#wpgmza_theme_editor_feature").on("change",function(){self.highlightElements(),self.loadElementStylers()}),$("#wpgmza_theme_editor_element").on("change",function(){self.loadElementStylers()}),$("#wpgmza_theme_editor_do_hue, #wpgmza_theme_editor_hue, #wpgmza_theme_editor_lightness, #wpgmza_theme_editor_saturation, #wpgmza_theme_editor_gamma, #wpgmza_theme_editor_do_invert_lightness, #wpgmza_theme_editor_visibility, #wpgmza_theme_editor_do_color, #wpgmza_theme_editor_color, #wpgmza_theme_editor_weight").on("input selectionchange propertychange",function(){self.writeElementStylers()}),"open-layers"==WPGMZA.settings.engine&&$("#wpgmza_theme_editor :input").prop("disabled",!0)},WPGMZA.ThemeEditor.prototype.refreshColorInputs=function(){$("input#wpgmza_theme_editor_hue,input#wpgmza_theme_editor_color").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor(this.value)})}}),jQuery(function($){WPGMZA.ThemePanel=function(){var self=this;if(this.element=$("#wpgmza-theme-panel"),this.map=WPGMZA.maps[0],"open-layers"==WPGMZA.settings.engine)return this.element.remove(),void(this.olThemePanel=new WPGMZA.OLThemePanel);this.element.length?($("#wpgmza-theme-presets").owlCarousel({items:6,dots:!0}),this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),$("#wpgmza-open-theme-editor").on("click",function(event){$("#wpgmza-map-theme-editor__holder").addClass("active"),$("#wpgmza-theme-editor").addClass("active"),WPGMZA.animateScroll($("#wpgmza-theme-editor"))}),WPGMZA.themePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.ThemePanel.previewImageCenter={lat:33.701806462148646,lng:-118.15949896058983},WPGMZA.ThemePanel.previewImageZoom=11,WPGMZA.ThemePanel.prototype.onThemePresetClick=function(event){var event=$(event.currentTarget).find("[data-theme-json]").attr("data-theme-json"),textarea=$("textarea[name='wpgmza_theme_data']"),existingData=textarea.val(),allPresetData=[];$(this.element).find("[data-theme-json]").each(function(index,el){allPresetData.push($(el).attr("data-theme-json"))}),existingData.length&&-1==allPresetData.indexOf(existingData)&&!confirm(WPGMZA.localized_strings.overwrite_theme_data)||(textarea.val(event),this.updateMapTheme(),WPGMZA.themeEditor.parse())},WPGMZA.ThemePanel.prototype.updateMapTheme=function(){var data;try{data=JSON.parse($("textarea[name='wpgmza_theme_data']").val())}catch(e){return void alert(WPGMZA.localized_strings.invalid_theme_data)}this.map.setOptions({styles:data})}}),jQuery(function($){WPGMZA.Version=function(){},WPGMZA.Version.GREATER_THAN=1,WPGMZA.Version.EQUAL_TO=0,WPGMZA.Version.LESS_THAN=-1,WPGMZA.Version.compare=function(v1,v2){for(var v1parts=v1.match(/\d+/g),v2parts=v2.match(/\d+/g),i=0;i<v1parts.length;++i){if(v2parts.length===i)return 1;if(v1parts[i]!==v2parts[i])return v1parts[i]>v2parts[i]?1:-1}return v1parts.length!=v2parts.length?-1:0}}),jQuery(function($){WPGMZA.XMLCacheConverter=function(){},WPGMZA.XMLCacheConverter.prototype.convert=function(xml){var markers=[],remap={marker_id:"id",linkd:"link"};return $(xml).find("marker").each(function(index,el){var data={};$(el).children().each(function(j,child){var key=child.nodeName;remap[key]&&(key=remap[key]),child.hasAttribute("data-json")?data[key]=JSON.parse($(child).text()):data[key]=$(child).text()}),markers.push(data)}),markers}}),jQuery(function($){WPGMZA.loadXMLAsWebWorker=function(){function tXml(a,d){function c(){for(var l=[];a[b];){if(60==a.charCodeAt(b)){if(47===a.charCodeAt(b+1)){b=a.indexOf(">",b);break}if(33===a.charCodeAt(b+1)){if(45==a.charCodeAt(b+2)){for(;62!==a.charCodeAt(b)||45!=a.charCodeAt(b-1)||45!=a.charCodeAt(b-2)||-1==b;)b=a.indexOf(">",b+1);-1===b&&(b=a.length)}else for(b+=2;62!==a.charCodeAt(b);)b++;b++;continue}var c=f();l.push(c)}else c=b,-2===(b=a.indexOf("<",b)-1)&&(b=a.length),0<(c=a.slice(c,b+1)).trim().length&&l.push(c);b++}return l}function l(){for(var c=b;-1===g.indexOf(a[b]);)b++;return a.slice(c,b)}function f(){var d={};b++,d.tagName=l();for(var f=!1;62!==a.charCodeAt(b);){if(64<(e=a.charCodeAt(b))&&e<91||96<e&&e<123){for(var h,g=l(),e=a.charCodeAt(b);39!==e&&34!==e&&!(64<e&&e<91||96<e&&e<123)&&62!==e;)b++,e=a.charCodeAt(b);f||(d.attributes={},f=!0),39===e||34===e?(e=a[b],h=++b,b=a.indexOf(e,h),e=a.slice(h,b)):(e=null,b--),d.attributes[g]=e}b++}return 47!==a.charCodeAt(b-1)&&("script"==d.tagName?(f=b+1,b=a.indexOf("<\/script>",b),d.children=[a.slice(f,b-1)],b+=8):"style"==d.tagName?(f=b+1,b=a.indexOf("</style>",b),d.children=[a.slice(f,b-1)],b+=7):-1==k.indexOf(d.tagName)&&(b++,d.children=c())),d}var b,g="\n\t>/= ",k=["img","br","input","meta","link"],h=null;return(d=d||{}).searchId?(-1===(b=new RegExp("s*ids*=s*['\"]"+d.searchId+"['\"]").exec(a).index)||-1!==(b=a.lastIndexOf("<",b))&&(h=f()),b):(b=0,h=c(),d.filter&&(h=tXml.filter(h,d.filter)),d.simplify?tXml.simplefy(h):h)}tXml.simplify=function(a){var c,d={};if(1===a.length&&"string"==typeof a[0])return a[0];for(c in a.forEach(function(a){var c;d[a.tagName]||(d[a.tagName]=[]),"object"==typeof a?(c=tXml.simplefy(a.children),d[a.tagName].push(c),a.attributes&&(c._attributes=a.attributes)):d[a.tagName].push(a)}),d)1==d[c].length&&(d[c]=d[c][0]);return d},tXml.filter=function(a,d){var c=[];return a.forEach(function(a){"object"==typeof a&&d(a)&&c.push(a),a.children&&(a=tXml.filter(a.children,d),c=c.concat(a))}),c},tXml.domToXml=function(a){var c="";return function d(a){if(a)for(var f=0;f<a.length;f++)if("string"==typeof a[f])c+=a[f].trim();else{var g=a[f],k=void(c+="<"+g.tagName);for(k in g.attributes)c=-1===g.attributes[k].indexOf('"')?c+(" "+k+'="'+g.attributes[k].trim())+'"':c+(" "+k+"='"+g.attributes[k].trim())+"'";c+=">",d(g.children),c+="</"+g.tagName+">"}}(O),c},"object"!=typeof window&&(module.exports=tXml);var inputData,totalFiles,worker=self,dataForMainThread=[],filesLoaded=0;function onXMLLoaded(request){4==request.readyState&&200==request.status&&((new Date).getTime(),function(xml){for(var markers=xml[0].children[0],remap={marker_id:"id",linkd:"link"},i=0;i<markers.children.length;i++){var data={};markers.children[i].children.forEach(function(node){var key=node.tagName;remap[key]&&(key=remap[key]),node.attributes["data-json"]?data[key]=JSON.parse(node.children[0]):node.children.length?data[key]=node.children[0]:data[key]=""}),dataForMainThread.push(data)}}(tXml(request.responseText)),++filesLoaded>=totalFiles?worker.postMessage(dataForMainThread):loadNextFile())}function loadNextFile(){var url=inputData.urls[filesLoaded],request=new XMLHttpRequest;request.onreadystatechange=function(){onXMLLoaded(this)},request.open("GET",inputData.protocol+url,!0),request.send()}self.addEventListener("message",function(event){event=event.data;if("load"!==event.command)throw new Error("Unknown command");dataForMainThread=[],filesLoaded=0,totalFiles=(inputData=event).urls.length,loadNextFile()},!1)}}),jQuery(function($){WPGMZA.Integration={},WPGMZA.integrationModules={},WPGMZA.Integration.Blocks={},WPGMZA.Integration.Blocks.instances={}}),jQuery(function($){var __,registerBlockType,InspectorControls,_wp$editor,Dashicon,PanelBody;window.wp&&wp.i18n&&wp.blocks&&wp.editor&&wp.components&&(__=wp.i18n.__,registerBlockType=wp.blocks.registerBlockType,_wp$editor=wp.editor,InspectorControls=_wp$editor.InspectorControls,_wp$editor.BlockControls,_wp$editor=wp.components,Dashicon=_wp$editor.Dashicon,_wp$editor.Toolbar,_wp$editor.Button,_wp$editor.Tooltip,PanelBody=_wp$editor.PanelBody,_wp$editor.TextareaControl,_wp$editor.CheckboxControl,_wp$editor.TextControl,_wp$editor.SelectControl,_wp$editor.RichText,WPGMZA.Integration.Gutenberg=function(){registerBlockType("gutenberg-wpgmza/block",this.getBlockDefinition())},WPGMZA.Integration.Gutenberg.prototype.getBlockTitle=function(){return __("WP Go Maps")},WPGMZA.Integration.Gutenberg.prototype.getBlockInspectorControls=function(props){return React.createElement(InspectorControls,{key:"inspector"},React.createElement(PanelBody,{title:__("Map Settings")},React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:WPGMZA.adminurl+"admin.php?page=wp-google-maps-menu&action=edit&map_id=1",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-pencil-square-o","aria-hidden":"true"}),__("Go to Map Editor"))),React.createElement("p",{class:"map-block-gutenberg-button-container"},React.createElement("a",{href:"https://www.wpgmaps.com/documentation/creating-your-first-map/",target:"_blank",class:"button button-primary"},React.createElement("i",{class:"fa fa-book","aria-hidden":"true"}),__("View Documentation")))))},WPGMZA.Integration.Gutenberg.prototype.getBlockAttributes=function(){return{}},WPGMZA.Integration.Gutenberg.prototype.getBlockDefinition=function(props){var _this=this;return{title:WPGMZA.InternalEngine.isLegacy()?__("WP Go Maps"):__("Map"),description:__("The easiest to use Google Maps plugin! Create custom Google Maps with high quality markers containing locations, descriptions, images and links. Add your customized map to your WordPress posts and/or pages quickly and easily with the supplied shortcode. No fuss."),category:!WPGMZA.InternalEngine.isLegacy()&&this.verifyCategory("wpgmza-gutenberg")?"wpgmza-gutenberg":"common",icon:"location-alt",keywords:[__("Map"),__("Maps"),__("Google")],attributes:this.getBlockAttributes(),edit:function(props){return[!!props.isSelected&&_this.getBlockInspectorControls(props),React.createElement("div",{className:props.className+" wpgmza-gutenberg-block"},React.createElement(Dashicon,{icon:"location-alt"}),React.createElement("span",{class:"wpgmza-gutenberg-block-title"},__("Your map will appear here on your websites front end")))]},save:function(props){return null}}},WPGMZA.Integration.Gutenberg.prototype.verifyCategory=function(category){if(wp.blocks&&wp.blocks.getCategories){var i,categories=wp.blocks.getCategories();for(i in categories)if(categories[i].slug===category)return!0}return!1},WPGMZA.Integration.Gutenberg.getConstructor=function(){return WPGMZA.Integration.Gutenberg},WPGMZA.Integration.Gutenberg.createInstance=function(){return new(WPGMZA.Integration.Gutenberg.getConstructor())},WPGMZA.isProVersion()||/^6/.test(WPGMZA.pro_version)||(WPGMZA.integrationModules.gutenberg=WPGMZA.Integration.Gutenberg.createInstance()))}),jQuery(function($){$(document).ready(function(event){var parent=document.body.onclick;parent&&(document.body.onclick=function(event){event.target instanceof WPGMZA.Marker||parent(event)})})}),jQuery(function($){WPGMZA.GoogleUICompatibility=function(){var style;navigator.vendor&&-1<navigator.vendor.indexOf("Apple")&&navigator.userAgent&&-1==navigator.userAgent.indexOf("CriOS")&&-1==navigator.userAgent.indexOf("FxiOS")||((style=$("<style id='wpgmza-google-ui-compatiblity-fix'/>")).html(".wpgmza_map img:not(button img) { padding:0 !important; }"),$(document.head).append(style))},WPGMZA.googleUICompatibility=new WPGMZA.GoogleUICompatibility}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.GoogleCircle=function(options,googleCircle){var self=this;Parent.call(this,options,googleCircle),googleCircle?(this.googleCircle=googleCircle,options&&(options.center=WPGMZA.LatLng.fromGoogleLatLng(googleCircle.getCenter()),options.radius=googleCircle.getRadius()/1e3)):(this.googleCircle=new google.maps.Circle,this.googleCircle.wpgmzaCircle=this),this.googleFeature=this.googleCircle,options&&this.setOptions(options),google.maps.event.addListener(this.googleCircle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.GoogleCircle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleCircle.prototype.constructor=WPGMZA.GoogleCircle,WPGMZA.GoogleCircle.prototype.getCenter=function(){return WPGMZA.LatLng.fromGoogleLatLng(this.googleCircle.getCenter())},WPGMZA.GoogleCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.googleCircle.setCenter(center)},WPGMZA.GoogleCircle.prototype.getRadius=function(){return this.googleCircle.getRadius()/1e3},WPGMZA.GoogleCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments),this.googleCircle.setRadius(1e3*parseFloat(radius))},WPGMZA.GoogleCircle.prototype.setVisible=function(visible){this.googleCircle.setVisible(!!visible)},WPGMZA.GoogleCircle.prototype.setDraggable=function(value){this.googleCircle.setDraggable(!!value)},WPGMZA.GoogleCircle.prototype.setEditable=function(value){var self=this;this.googleCircle.setOptions({editable:value}),value&&(google.maps.event.addListener(this.googleCircle,"center_changed",function(event){self.center=WPGMZA.LatLng.fromGoogleLatLng(self.googleCircle.getCenter()),self.trigger("change")}),google.maps.event.addListener(this.googleCircle,"radius_changed",function(event){self.radius=self.googleCircle.getRadius()/1e3,self.trigger("change")}))},WPGMZA.GoogleCircle.prototype.setOptions=function(options){WPGMZA.Circle.prototype.setOptions.apply(this,arguments),options.center&&(this.center=new WPGMZA.LatLng(options.center))},WPGMZA.GoogleCircle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),center=new WPGMZA.LatLng(this.center);googleOptions.radius*=1e3,googleOptions.center=center.toGoogleLatLng(),this.googleCircle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleDrawingManager=function(map){var self=this;WPGMZA.DrawingManager.call(this,map),this.mode=null,this.googleDrawingManager=new google.maps.drawing.DrawingManager({drawingControl:!1,polygonOptions:{editable:!0},polylineOptions:{editable:!0},circleOptions:{editable:!0},rectangleOptions:{draggable:!0,editable:!0,strokeWeight:1,fillOpacity:0}}),this.googleDrawingManager.setMap(map.googleMap),google.maps.event.addListener(this.googleDrawingManager,"polygoncomplete",function(polygon){self.onPolygonClosed(polygon)}),google.maps.event.addListener(this.googleDrawingManager,"polylinecomplete",function(polyline){self.onPolylineComplete(polyline)}),google.maps.event.addListener(this.googleDrawingManager,"circlecomplete",function(circle){self.onCircleComplete(circle)}),google.maps.event.addListener(this.googleDrawingManager,"rectanglecomplete",function(rectangle){self.onRectangleComplete(rectangle)})},WPGMZA.GoogleDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.GoogleDrawingManager.prototype.constructor=WPGMZA.GoogleDrawingManager,WPGMZA.GoogleDrawingManager.prototype.setDrawingMode=function(mode){var googleMode;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:googleMode=null;break;case WPGMZA.DrawingManager.MODE_POLYGON:googleMode=google.maps.drawing.OverlayType.POLYGON;break;case WPGMZA.DrawingManager.MODE_POLYLINE:googleMode=google.maps.drawing.OverlayType.POLYLINE;break;case WPGMZA.DrawingManager.MODE_CIRCLE:googleMode=google.maps.drawing.OverlayType.CIRCLE;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:googleMode=null;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:googleMode=google.maps.drawing.OverlayType.RECTANGLE;break;default:throw new Error("Invalid drawing mode")}this.googleDrawingManager.setDrawingMode(googleMode)},WPGMZA.GoogleDrawingManager.prototype.setOptions=function(options){this.googleDrawingManager.setOptions({polygonOptions:options,polylineOptions:options})},WPGMZA.GoogleDrawingManager.prototype.onVertexClicked=function(event){},WPGMZA.GoogleDrawingManager.prototype.onPolygonClosed=function(googlePolygon){var event=new WPGMZA.Event("polygonclosed");event.enginePolygon=googlePolygon,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onPolylineComplete=function(googlePolyline){var event=new WPGMZA.Event("polylinecomplete");event.enginePolyline=googlePolyline,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onCircleComplete=function(googleCircle){var event=new WPGMZA.Event("circlecomplete");event.engineCircle=googleCircle,this.dispatchEvent(event)},WPGMZA.GoogleDrawingManager.prototype.onRectangleComplete=function(googleRectangle){var event;this.mode===WPGMZA.DrawingManager.MODE_IMAGEOVERLAY?this.onImageoverlayComplete(googleRectangle):((event=new WPGMZA.Event("rectanglecomplete")).engineRectangle=googleRectangle,this.dispatchEvent(event))},WPGMZA.GoogleDrawingManager.prototype.onHeatmapPointAdded=function(googleMarker){var position=WPGMZA.LatLng.fromGoogleLatLng(googleMarker.getPosition()),googleMarker=(googleMarker.setMap(null),WPGMZA.Marker.createInstance()),image=(googleMarker.setPosition(position),{url:WPGMZA.imageFolderURL+"heatmap-point.png",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(13,13)}),image=(googleMarker.googleMarker.setIcon(image),this.map.addMarker(googleMarker),new WPGMZA.Event("heatmappointadded"));image.position=position,this.trigger(image)},WPGMZA.GoogleDrawingManager.prototype.onImageoverlayComplete=function(rectangle){var event=new WPGMZA.Event("imageoverlaycomplete");event.engineImageoverlay={googleRectangle:rectangle},this.dispatchEvent(event)}}),jQuery(function($){WPGMZA.GoogleGeocoder=function(){},WPGMZA.GoogleGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.GoogleGeocoder.prototype.constructor=WPGMZA.GoogleGeocoder,WPGMZA.GoogleGeocoder.prototype.getLatLngFromAddress=function(options,callback){if(options&&options.address)return options.lat&&options.lng&&(latLng={lat:options.lat,lng:options.lng},callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng,bounds:null}],WPGMZA.Geocoder.SUCCESS)),WPGMZA.isLatLngString(options.address)?WPGMZA.Geocoder.prototype.getLatLngFromAddress.call(this,options,callback):(options.country&&(options.componentRestrictions={country:options.country}),void(new google.maps.Geocoder).geocode(options,function(results,status){var bounds,location;status==google.maps.GeocoderStatus.OK?(location={lat:(location=results[0].geometry.location).lat(),lng:location.lng()},bounds=null,results[0].geometry.bounds&&(bounds=WPGMZA.LatLngBounds.fromGoogleLatLngBounds(results[0].geometry.bounds)),callback(results=[{geometry:{location:location},latLng:location,lat:location.lat,lng:location.lng,bounds:bounds}],WPGMZA.Geocoder.SUCCESS)):(location=WPGMZA.Geocoder.FAIL,status==google.maps.GeocoderStatus.ZERO_RESULTS&&(location=WPGMZA.Geocoder.ZERO_RESULTS),callback(null,location))}));var latLng;nativeStatus=WPGMZA.Geocoder.NO_ADDRESS,callback(null,nativeStatus)},WPGMZA.GoogleGeocoder.prototype.getAddressFromLatLng=function(options,callback){if(!options||!options.latLng)throw new Error("No latLng specified");var latLng=new WPGMZA.LatLng(options.latLng),geocoder=new google.maps.Geocoder,options=$.extend(options,{location:{lat:latLng.lat,lng:latLng.lng}});let fullResult=!1;options.fullResult&&(fullResult=!0,delete options.fullResult),delete options.latLng,geocoder.geocode(options,function(results,status){"OK"!==status&&callback(null,WPGMZA.Geocoder.FAIL),results&&results.length||callback([],WPGMZA.Geocoder.NO_RESULTS),fullResult?callback([results[0]],WPGMZA.Geocoder.SUCCESS):callback([results[0].formatted_address],WPGMZA.Geocoder.SUCCESS)})}}),jQuery(function($){WPGMZA.settings.engine&&"google-maps"!=WPGMZA.settings.engine||window.google&&window.google.maps&&(WPGMZA.GoogleHTMLOverlay=function(map){this.element=$("<div class='wpgmza-google-html-overlay'></div>"),this.visible=!0,this.position=new WPGMZA.LatLng,this.setMap(map.googleMap),this.wpgmzaMap=map},WPGMZA.GoogleHTMLOverlay.prototype=new google.maps.OverlayView,WPGMZA.GoogleHTMLOverlay.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.element[0])},WPGMZA.GoogleHTMLOverlay.prototype.onRemove=function(){this.element&&$(this.element).parent().length&&($(this.element).remove(),this.element=null)},WPGMZA.GoogleHTMLOverlay.prototype.draw=function(){this.updateElementPosition()},WPGMZA.GoogleHTMLOverlay.prototype.updateElementPosition=function(){var projection=this.getProjection();projection&&(projection=projection.fromLatLngToDivPixel(this.position.toGoogleLatLng()),$(this.element).css({left:projection.x,top:projection.y}))})}),jQuery(function($){var Parent;WPGMZA.GoogleInfoWindow=function(feature){Parent.call(this,feature),this.setFeature(feature)},WPGMZA.GoogleInfoWindow.Z_INDEX=99,Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.GoogleInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.GoogleInfoWindow.prototype.constructor=WPGMZA.GoogleInfoWindow,WPGMZA.GoogleInfoWindow.prototype.setFeature=function(feature){(this.feature=feature)instanceof WPGMZA.Marker?this.googleObject=feature.googleMarker:feature instanceof WPGMZA.Polygon?this.googleObject=feature.googlePolygon:feature instanceof WPGMZA.Polyline&&(this.googleObject=feature.googlePolyline)},WPGMZA.GoogleInfoWindow.prototype.createGoogleInfoWindow=function(){var self=this;this.googleInfoWindow||(this.googleInfoWindow=new google.maps.InfoWindow,this.googleInfoWindow.setZIndex(WPGMZA.GoogleInfoWindow.Z_INDEX),google.maps.event.addListener(this.googleInfoWindow,"domready",function(event){self.trigger("domready")}),google.maps.event.addListener(this.googleInfoWindow,"closeclick",function(event){self.state!=WPGMZA.InfoWindow.STATE_CLOSED&&(self.state=WPGMZA.InfoWindow.STATE_CLOSED,self.feature.map.trigger("infowindowclose"))}))},WPGMZA.GoogleInfoWindow.prototype.open=function(map,feature){var self=this;if(!Parent.prototype.open.call(this,map,feature))return!1;this.parent=map,this.createGoogleInfoWindow(),this.setFeature(feature),void 0!==feature._osDisableAutoPan&&(feature._osDisableAutoPan?(this.googleInfoWindow.setOptions({disableAutoPan:!0}),feature._osDisableAutoPan=!1):this.googleInfoWindow.setOptions({disableAutoPan:!1})),this.googleInfoWindow.open(this.feature.map.googleMap,this.googleObject);var intervalID,guid=WPGMZA.guid(),map=WPGMZA.isProVersion()?"":this.addEditButton(),feature="<div id='"+guid+"'>"+map+" "+this.content+"</div>";return this.googleInfoWindow.setContent(feature),intervalID=setInterval(function(event){(div=$("#"+guid)).length&&(clearInterval(intervalID),div[0].wpgmzaFeature=self.feature,div.addClass("wpgmza-infowindow"),self.element=div[0],self.trigger("infowindowopen"))},50),!0},WPGMZA.GoogleInfoWindow.prototype.close=function(){this.googleInfoWindow&&(WPGMZA.InfoWindow.prototype.close.call(this),this.googleInfoWindow.close())},WPGMZA.GoogleInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html,this.createGoogleInfoWindow(),this.googleInfoWindow.setContent(html)},WPGMZA.GoogleInfoWindow.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.createGoogleInfoWindow(),this.googleInfoWindow.setOptions(options)}}),jQuery(function($){var Parent;WPGMZA.GoogleMap=function(element,options){var self=this;Parent.call(this,element,options),this.loadGoogleMap(),options?this.setOptions(options,!0):this.setOptions({},!0),google.maps.event.addListener(this.googleMap,"click",function(event){var wpgmzaEvent=new WPGMZA.Event("click");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"rightclick",function(event){var wpgmzaEvent=new WPGMZA.Event("rightclick");wpgmzaEvent.latLng={lat:event.latLng.lat(),lng:event.latLng.lng()},self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap,"dragend",function(event){self.dispatchEvent("dragend")}),google.maps.event.addListener(this.googleMap,"zoom_changed",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged")}),google.maps.event.addListener(this.googleMap,"idle",function(event){self.onIdle(event)}),this.googleMap.getStreetView()&&(google.maps.event.addListener(this.googleMap.getStreetView(),"visible_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_visible_changed");wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"position_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_position_changed");const position=this.getPosition();position&&(wpgmzaEvent.latLng={lat:position.lat(),lng:position.lng()}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)}),google.maps.event.addListener(this.googleMap.getStreetView(),"pov_changed",function(){var wpgmzaEvent=new WPGMZA.Event("streetview_pov_changed"),pov=this.getPov();pov&&(wpgmzaEvent.pov={heading:pov.heading,pitch:pov.pitch}),wpgmzaEvent.visible=this.getVisible(),self.dispatchEvent(wpgmzaEvent)})),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},WPGMZA.isProVersion()?(Parent=WPGMZA.ProMap,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.ProMap.prototype)):(Parent=WPGMZA.Map,WPGMZA.GoogleMap.prototype=Object.create(WPGMZA.Map.prototype)),WPGMZA.GoogleMap.prototype.constructor=WPGMZA.GoogleMap,WPGMZA.GoogleMap.parseThemeData=function(raw){var json;try{json=JSON.parse(raw)}catch(e){try{json=eval(raw)}catch(e){var str=raw,str=str.replace(/\\'/g,"'");str=str.replace(/\\"/g,'"'),str=str.replace(/\\0/g,"\0"),str=str.replace(/\\\\/g,"\\");try{json=eval(str)}catch(e){return console.warn("Couldn't parse theme data"),[]}}}return json},WPGMZA.GoogleMap.prototype.loadGoogleMap=function(){var self=this,options=this.settings.toGoogleMapsOptions();this.googleMap=new google.maps.Map(this.engineElement,options),google.maps.event.addListener(this.googleMap,"bounds_changed",function(){self.onBoundsChanged()}),1==this.settings.bicycle&&this.enableBicycleLayer(!0),1==this.settings.traffic&&this.enableTrafficLayer(!0),this.settings.transport_layer&&this.enablePublicTransportLayer(!0),this.showPointsOfInterest(this.settings.wpgmza_show_point_of_interest),$(this.engineElement).append($(this.element).find(".wpgmza-loader"))},WPGMZA.GoogleMap.prototype.setOptions=function(options,initializing){Parent.prototype.setOptions.call(this,options),options.scrollwheel&&delete options.scrollwheel,initializing?(initializing=$.extend(options,this.settings.toGoogleMapsOptions()),!(initializing=$.extend({},initializing)).center instanceof google.maps.LatLng&&(initializing.center instanceof WPGMZA.LatLng||"object"==typeof initializing.center)&&(initializing.center={lat:parseFloat(initializing.center.lat),lng:parseFloat(initializing.center.lng)}),this.settings.hide_point_of_interest&&(initializing.styles||(initializing.styles=[]),initializing.styles.push({featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]})),this.googleMap.setOptions(initializing)):this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.addMarker=function(marker){marker.googleMarker.setMap(this.googleMap),Parent.prototype.addMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.removeMarker=function(marker){marker.googleMarker.setMap(null),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.GoogleMap.prototype.addPolygon=function(polygon){polygon.googlePolygon.setMap(this.googleMap),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.removePolygon=function(polygon){polygon.googlePolygon.setMap(null),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.GoogleMap.prototype.addPolyline=function(polyline){polyline.googlePolyline.setMap(this.googleMap),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.removePolyline=function(polyline){polyline.googlePolyline.setMap(null),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.GoogleMap.prototype.addCircle=function(circle){circle.googleCircle.setMap(this.googleMap),Parent.prototype.addCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.removeCircle=function(circle){circle.googleCircle.setMap(null),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.GoogleMap.prototype.addRectangle=function(rectangle){rectangle.googleRectangle.setMap(this.googleMap),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.removeRectangle=function(rectangle){rectangle.googleRectangle.setMap(null),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.GoogleMap.prototype.getCenter=function(){var latLng=this.googleMap.getCenter();return{lat:latLng.lat(),lng:latLng.lng()}},WPGMZA.GoogleMap.prototype.setCenter=function(latLng){WPGMZA.Map.prototype.setCenter.call(this,latLng),latLng instanceof WPGMZA.LatLng?this.googleMap.setCenter({lat:latLng.lat,lng:latLng.lng}):this.googleMap.setCenter(latLng)},WPGMZA.GoogleMap.prototype.panTo=function(latLng){latLng instanceof WPGMZA.LatLng?this.googleMap.panTo({lat:latLng.lat,lng:latLng.lng}):this.googleMap.panTo(latLng)},WPGMZA.GoogleMap.prototype.getZoom=function(){return this.googleMap.getZoom()},WPGMZA.GoogleMap.prototype.setZoom=function(value){if(isNaN(value))throw new Error("Value must not be NaN");return this.googleMap.setZoom(parseInt(value))},WPGMZA.GoogleMap.prototype.getBounds=function(){var nativeBounds=new WPGMZA.LatLngBounds({});try{var bounds=this.googleMap.getBounds(),northEast=bounds.getNorthEast(),southWest=bounds.getSouthWest();nativeBounds.north=northEast.lat(),nativeBounds.south=southWest.lat(),nativeBounds.west=southWest.lng(),nativeBounds.east=northEast.lng(),nativeBounds.topLeft={lat:northEast.lat(),lng:southWest.lng()},nativeBounds.bottomRight={lat:southWest.lat(),lng:northEast.lng()}}catch(ex){}return nativeBounds},WPGMZA.GoogleMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=new google.maps.LatLngBounds(southWest,northEast);this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.fitBoundsToVisibleMarkers=function(){for(var bounds=new google.maps.LatLngBounds,i=0;i<this.markers.length;i++)markers[i].getVisible()&&bounds.extend(markers[i].getPosition());this.googleMap.fitBounds(bounds)},WPGMZA.GoogleMap.prototype.enableBicycleLayer=function(enable){this.bicycleLayer||(this.bicycleLayer=new google.maps.BicyclingLayer),this.bicycleLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enableTrafficLayer=function(enable){this.trafficLayer||(this.trafficLayer=new google.maps.TrafficLayer),this.trafficLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.enablePublicTransportLayer=function(enable){this.publicTransportLayer||(this.publicTransportLayer=new google.maps.TransitLayer),this.publicTransportLayer.setMap(enable?this.googleMap:null)},WPGMZA.GoogleMap.prototype.showPointsOfInterest=function(show){var text=$("textarea[name='theme_data']").val();text&&((text=JSON.parse(text)).push({featureType:"poi",stylers:[{visibility:show?"on":"off"}]}),this.googleMap.setOptions({styles:text}))},WPGMZA.GoogleMap.prototype.getMinZoom=function(){return parseInt(this.settings.min_zoom)},WPGMZA.GoogleMap.prototype.setMinZoom=function(value){this.googleMap.setOptions({minZoom:value,maxZoom:this.getMaxZoom()})},WPGMZA.GoogleMap.prototype.getMaxZoom=function(){return parseInt(this.settings.max_zoom)},WPGMZA.GoogleMap.prototype.setMaxZoom=function(value){this.googleMap.setOptions({minZoom:this.getMinZoom(),maxZoom:value})},WPGMZA.GoogleMap.prototype.latLngToPixels=function(latLng){var map=this.googleMap,latLng=new google.maps.LatLng({lat:parseFloat(latLng.lat),lng:parseFloat(latLng.lng)}),topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),map=map.getProjection().fromLatLngToPoint(latLng);return{x:(map.x-bottomLeft.x)*scale,y:(map.y-topRight.y)*scale}},WPGMZA.GoogleMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));var map=this.googleMap,topRight=map.getProjection().fromLatLngToPoint(map.getBounds().getNorthEast()),bottomLeft=map.getProjection().fromLatLngToPoint(map.getBounds().getSouthWest()),scale=Math.pow(2,map.getZoom()),x=new google.maps.Point(x/scale+bottomLeft.x,y/scale+topRight.y),bottomLeft=map.getProjection().fromPointToLatLng(x);return{lat:bottomLeft.lat(),lng:bottomLeft.lng()}},WPGMZA.GoogleMap.prototype.onElementResized=function(event){this.googleMap&&google.maps.event.trigger(this.googleMap,"resize")},WPGMZA.GoogleMap.prototype.enableAllInteractions=function(){var options={scrollwheel:!0,draggable:!0,disableDoubleClickZoom:!1};this.googleMap.setOptions(options)},WPGMZA.GoogleMap.prototype.openStreetView=function(options){if(this.googleMap.getStreetView()){if(options&&(options.position&&options.position instanceof WPGMZA.LatLng&&this.googleMap.getStreetView().setPosition(options.position.toGoogleLatLng()),options.heading||options.pitch)){const pov={};options.heading&&(pov.heading=parseFloat(options.heading)),options.pitch&&(pov.pitch=parseFloat(options.pitch)),this.googleMap.getStreetView().setPov(pov)}this.googleMap.getStreetView().setVisible(!0)}},WPGMZA.GoogleMap.prototype.closeStreetView=function(){this.googleMap.getStreetView()&&this.googleMap.getStreetView().setVisible(!1)},WPGMZA.GoogleMap.prototype.isFullScreen=function(){return!(WPGMZA.Map.prototype.isFullScreen.call(this)||!WPGMZA.isFullScreen()||parseInt(window.screen.height)!==parseInt(this.element.firstChild.offsetHeight))},WPGMZA.GoogleMap.prototype.onFullScreenChange=function(fullscreen){if(fullscreen&&!this._stackedComponentsMoved&&this.element.firstChild){const innerContainer=this.element.firstChild;$(this.element).find(".wpgmza-inner-stack").each(function(index,element){$(element).appendTo(innerContainer)}),this._stackedComponentsMoved=!0}}}),jQuery(function($){var Parent;WPGMZA.GoogleMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toGoogleLatLng():options[name]instanceof WPGMZA.Map||"icon"==name||(settings[name]=options[name]);this.googleMarker=new google.maps.Marker(settings),(this.googleMarker.wpgmzaMarker=this).googleFeature=this.googleMarker,this.googleMarker.setPosition(new google.maps.LatLng({lat:parseFloat(this.lat),lng:parseFloat(this.lng)})),this.anim&&this.googleMarker.setAnimation(this.anim),this.animation&&this.googleMarker.setAnimation(this.animation),google.maps.event.addListener(this.googleMarker,"click",function(){self.dispatchEvent("click"),self.dispatchEvent("select")}),google.maps.event.addListener(this.googleMarker,"mouseover",function(){self.dispatchEvent("mouseover")}),google.maps.event.addListener(this.googleMarker,"mouseout",function(){self.dispatchEvent("mouseout")}),google.maps.event.addListener(this.googleMarker,"dragend",function(){var googleMarkerPosition=self.googleMarker.getPosition();self.setPosition({lat:googleMarkerPosition.lat(),lng:googleMarkerPosition.lng()}),self.dispatchEvent({type:"dragend",latLng:self.getPosition()}),self.trigger("change")}),this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.GoogleMarker.prototype=Object.create(Parent.prototype),WPGMZA.GoogleMarker.prototype.constructor=WPGMZA.GoogleMarker,Object.defineProperty(WPGMZA.GoogleMarker.prototype,"opacity",{get:function(){return this._opacity},set:function(value){this._opacity=value,this.googleMarker.setOpacity(value)}}),WPGMZA.GoogleMarker.prototype.setLabel=function(label){label?(this.googleMarker.setLabel({text:label}),this.googleMarker.getIcon()||this.googleMarker.setIcon(WPGMZA.settings.default_marker_icon)):this.googleMarker.setLabel(null)},WPGMZA.GoogleMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng),this.googleMarker.setPosition({lat:this.lat,lng:this.lng})},WPGMZA.GoogleMarker.prototype.updateOffset=function(){var self=this,icon=this.googleMarker.getIcon(),img=new Image,x=this._offset.x,y=this._offset.y,params="string"==typeof(icon=icon||WPGMZA.settings.default_marker_icon)?{url:icon}:icon;img.onload=function(){var defaultAnchor_x=img.width/2,defaultAnchor_y=img.height;params.anchor=new google.maps.Point(defaultAnchor_x-x,defaultAnchor_y-y),self.googleMarker.setIcon(params)},img.src=params.url},WPGMZA.GoogleMarker.prototype.setOptions=function(options){this.googleMarker.setOptions(options)},WPGMZA.GoogleMarker.prototype.setAnimation=function(animation){Parent.prototype.setAnimation.call(this,animation),this.googleMarker.setAnimation(animation)},WPGMZA.GoogleMarker.prototype.setVisible=function(visible){Parent.prototype.setVisible.call(this,visible),this.googleMarker.setVisible(!!visible)},WPGMZA.GoogleMarker.prototype.getVisible=function(visible){return this.googleMarker.getVisible()},WPGMZA.GoogleMarker.prototype.setDraggable=function(draggable){this.googleMarker.setDraggable(draggable)},WPGMZA.GoogleMarker.prototype.setOpacity=function(opacity){this.googleMarker.setOpacity(opacity)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocatorCircle=function(map,settings){var self=this;WPGMZA.ModernStoreLocatorCircle.call(this,map,settings),this.intervalID=setInterval(function(){var mapSize={width:$(self.mapElement).width(),height:$(self.mapElement).height()};mapSize.width==self.mapSize.width&&mapSize.height==self.mapSize.height||(self.canvasLayer.resize_(),self.canvasLayer.draw(),self.mapSize=mapSize)},1e3),$(document).bind("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){self.canvasLayer.resize_(),self.canvasLayer.draw()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.GoogleModernStoreLocatorCircle.prototype.constructor=WPGMZA.GoogleModernStoreLocatorCircle,WPGMZA.GoogleModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this;this.canvasLayer&&(this.canvasLayer.setMap(null),this.canvasLayer.setAnimate(!1)),this.canvasLayer=new CanvasLayer({map:this.map.googleMap,resizeHandler:function(event){self.onResize(event)},updateHandler:function(event){self.onUpdate(event)},animate:!0,resolutionScale:this.getResolutionScale()})},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setOptions=function(options){WPGMZA.ModernStoreLocatorCircle.prototype.setOptions.call(this,options),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setPosition=function(position){WPGMZA.ModernStoreLocatorCircle.prototype.setPosition.call(this,position),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setRadius=function(radius){WPGMZA.ModernStoreLocatorCircle.prototype.setRadius.call(this,radius),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var spherical=google.maps.geometry.spherical,center=this.settings.center,equator=new WPGMZA.LatLng({lat:0,lng:0}),center=new WPGMZA.LatLng({lat:center.lat,lng:0}),equator=spherical.computeOffset(equator.toGoogleLatLng(),1e3*km,90),spherical=.006395*km*(spherical.computeOffset(center.toGoogleLatLng(),1e3*km,90).lng()/equator.lng());if(isNaN(spherical))throw new Error("here");return spherical},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvasLayer.canvas.width,height:this.canvasLayer.canvas.height}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){var position=this.map.googleMap.getProjection().fromLatLngToPoint(this.canvasLayer.getTopLeft());return{x:-position.x,y:-position.y}},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getCenterPixels=function(){var center=new WPGMZA.LatLng(this.settings.center);return this.map.googleMap.getProjection().fromLatLngToPoint(center.toGoogleLatLng())},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvasLayer.canvas.getContext("2d")},WPGMZA.GoogleModernStoreLocatorCircle.prototype.getScale=function(){return Math.pow(2,this.map.getZoom())*this.getResolutionScale()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.setVisible=function(visible){WPGMZA.ModernStoreLocatorCircle.prototype.setVisible.call(this,visible),this.canvasLayer.scheduleUpdate()},WPGMZA.GoogleModernStoreLocatorCircle.prototype.destroy=function(){this.canvasLayer.setMap(null),this.canvasLayer=null,clearInterval(this.intervalID)}}),jQuery(function($){WPGMZA.GoogleModernStoreLocator=function(map_id){var map=this.map=WPGMZA.getMapByID(map_id),map_id=(WPGMZA.ModernStoreLocator.call(this,map_id),map.settings.wpgmza_store_locator_restrict);this.addressInput=$(this.element).find(".addressInput, #addressInput")[0],this.addressInput&&map_id&&map_id.length,this.map.googleMap.controls[google.maps.ControlPosition.TOP_CENTER].push(this.element)},WPGMZA.GoogleModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator.prototype),WPGMZA.GoogleModernStoreLocator.prototype.constructor=WPGMZA.GoogleModernStoreLocator}),jQuery(function($){var Parent;WPGMZA.GooglePointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),(this.googleFeature=this).setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.GooglePointlabel,Parent),WPGMZA.GooglePointlabel.prototype.setOptions=function(options){options.name&&this.textFeature.setText(options.name)}}),jQuery(function($){var Parent;WPGMZA.GooglePolygon=function(options,googlePolygon){var self=this;Parent.call(this,options=options||{},googlePolygon),this.googlePolygon=googlePolygon||new google.maps.Polygon,this.googleFeature=this.googlePolygon,options&&options.polydata&&this.googlePolygon.setOptions({paths:this.parseGeometry(options.polydata)}),this.googlePolygon.wpgmzaPolygon=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolygon,"click",function(){self.dispatchEvent({type:"click"})})},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.GooglePolygon.prototype=Object.create(Parent.prototype),WPGMZA.GooglePolygon.prototype.constructor=WPGMZA.GooglePolygon,WPGMZA.GooglePolygon.prototype.updateNativeFeature=function(){this.googlePolygon.setOptions(this.getScalarProperties())},WPGMZA.GooglePolygon.prototype.getEditable=function(){return this.googlePolygon.getOptions().editable},WPGMZA.GooglePolygon.prototype.setEditable=function(value){var self=this;this.googlePolygon.setOptions({editable:value}),value&&(this.googlePolygon.getPaths().forEach(function(path,index){["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})})}),google.maps.event.addListener(this.googlePolygon,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolygon,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolygon.prototype.setDraggable=function(value){this.googlePolygon.setDraggable(value)},WPGMZA.GooglePolygon.prototype.getGeometry=function(){for(var result=[],path=this.googlePolygon.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){WPGMZA.GooglePolyline=function(options,googlePolyline){var self=this;WPGMZA.Polyline.call(this,options,googlePolyline),this.googlePolyline=googlePolyline||new google.maps.Polyline(this.settings),this.googleFeature=this.googlePolyline,options&&options.polydata&&(googlePolyline=this.parseGeometry(options.polydata),this.googlePolyline.setPath(googlePolyline)),this.googlePolyline.wpgmzaPolyline=this,options&&this.setOptions(options),google.maps.event.addListener(this.googlePolyline,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.GooglePolyline.prototype=Object.create(WPGMZA.Polyline.prototype),WPGMZA.GooglePolyline.prototype.constructor=WPGMZA.GooglePolyline,WPGMZA.GooglePolyline.prototype.updateNativeFeature=function(){this.googlePolyline.setOptions(this.getScalarProperties())},WPGMZA.GooglePolyline.prototype.setEditable=function(value){var path,self=this;this.googlePolyline.setOptions({editable:value}),value&&(path=this.googlePolyline.getPath(),["insert_at","remove_at","set_at"].forEach(function(name){google.maps.event.addListener(path,name,function(){self.trigger("change")})}),google.maps.event.addListener(this.googlePolyline,"dragend",function(event){self.trigger("change")}),google.maps.event.addListener(this.googlePolyline,"click",function(event){WPGMZA.altKeyDown&&(this.getPath().removeAt(event.vertex),self.trigger("change"))}))},WPGMZA.GooglePolyline.prototype.setDraggable=function(value){this.googlePolyline.setOptions({draggable:value})},WPGMZA.GooglePolyline.prototype.getGeometry=function(){for(var result=[],path=this.googlePolyline.getPath(),i=0;i<path.getLength();i++){var latLng=path.getAt(i);result.push({lat:latLng.lat(),lng:latLng.lng()})}return result}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.GoogleRectangle=function(options,googleRectangle){var self=this;Parent.call(this,options=options||{},googleRectangle),googleRectangle?(this.googleRectangle=googleRectangle,this.cornerA=options.cornerA=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getNorthEast().lat(),lng:googleRectangle.getBounds().getSouthWest().lng()}),this.cornerB=options.cornerB=new WPGMZA.LatLng({lat:googleRectangle.getBounds().getSouthWest().lat(),lng:googleRectangle.getBounds().getNorthEast().lng()})):(this.googleRectangle=new google.maps.Rectangle,this.googleRectangle.wpgmzaRectangle=this),this.googleFeature=this.googleRectangle,options&&this.setOptions(options),google.maps.event.addListener(this.googleRectangle,"click",function(){self.dispatchEvent({type:"click"})})},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.GoogleRectangle.prototype=Object.create(Parent.prototype),WPGMZA.GoogleRectangle.prototype.constructor=WPGMZA.GoogleRectangle,WPGMZA.GoogleRectangle.prototype.getBounds=function(){return WPGMZA.LatLngBounds.fromGoogleLatLngBounds(this.googleRectangle.getBounds())},WPGMZA.GoogleRectangle.prototype.setVisible=function(visible){this.googleRectangle.setVisible(!!visible)},WPGMZA.GoogleRectangle.prototype.setDraggable=function(value){this.googleRectangle.setDraggable(!!value)},WPGMZA.GoogleRectangle.prototype.setEditable=function(value){var self=this;this.googleRectangle.setEditable(!!value),value&&google.maps.event.addListener(this.googleRectangle,"bounds_changed",function(event){self.trigger("change")})},WPGMZA.GoogleRectangle.prototype.setOptions=function(options){WPGMZA.Rectangle.prototype.setOptions.apply(this,arguments),options.cornerA&&options.cornerB&&(this.cornerA=new WPGMZA.LatLng(options.cornerA),this.cornerB=new WPGMZA.LatLng(options.cornerB))},WPGMZA.GoogleRectangle.prototype.updateNativeFeature=function(){var googleOptions=this.getScalarProperties(),north=parseFloat(this.cornerA.lat),west=parseFloat(this.cornerA.lng),south=parseFloat(this.cornerB.lat),east=parseFloat(this.cornerB.lng);north&&west&&south&&east&&(googleOptions.bounds={north:north,west:west,south:south,east:east}),this.googleRectangle.setOptions(googleOptions)}}),jQuery(function($){WPGMZA.GoogleText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.GoogleTextOverlay(options)},WPGMZA.extend(WPGMZA.GoogleText,WPGMZA.Text)}),jQuery(function($){WPGMZA.GoogleTextOverlay=function(options){this.element=$("<div class='wpgmza-google-text-overlay'><div class='wpgmza-inner'></div></div>"),(options=options||{}).position&&(this.position=options.position),options.text&&this.element.find(".wpgmza-inner").text(options.text),options.map&&this.setMap(options.map.googleMap)},window.google&&google.maps&&google.maps.OverlayView&&(WPGMZA.GoogleTextOverlay.prototype=new google.maps.OverlayView),WPGMZA.GoogleTextOverlay.prototype.onAdd=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"}),this.getPanes().floatPane.appendChild(this.element[0])},WPGMZA.GoogleTextOverlay.prototype.draw=function(){var position=this.getProjection().fromLatLngToDivPixel(this.position.toGoogleLatLng());this.element.css({position:"absolute",left:position.x+"px",top:position.y+"px",minWidth:"200px"})},WPGMZA.GoogleTextOverlay.prototype.onRemove=function(){this.element.remove()},WPGMZA.GoogleTextOverlay.prototype.hide=function(){this.element.hide()},WPGMZA.GoogleTextOverlay.prototype.show=function(){this.element.show()},WPGMZA.GoogleTextOverlay.prototype.toggle=function(){this.element.is(":visible")?this.element.hide():this.element.show()},WPGMZA.GoogleTextOverlay.prototype.setPosition=function(position){this.position=position},WPGMZA.GoogleTextOverlay.prototype.setText=function(text){this.element.find(".wpgmza-inner").text(text)},WPGMZA.GoogleTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.element.find(".wpgmza-inner").css("font-size",size+"px")},WPGMZA.GoogleTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("color",color)},WPGMZA.GoogleTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.element.find(".wpgmza-inner").css("--wpgmza-color-white",color)},WPGMZA.GoogleTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.element.find(".wpgmza-inner").css("opacity",opacity)},WPGMZA.GoogleTextOverlay.prototype.remove=function(){this.element&&this.element.remove()}}),jQuery(function($){"google-maps"!=WPGMZA.settings.engine||WPGMZA.googleAPIStatus&&"USER_CONSENT_NOT_GIVEN"==WPGMZA.googleAPIStatus.code||(WPGMZA.GoogleVertexContextMenu=function(mapEditPage){var self=this;this.mapEditPage=mapEditPage,this.element=document.createElement("div"),this.element.className="wpgmza-vertex-context-menu",this.element.innerHTML="Delete",google.maps.event.addDomListener(this.element,"click",function(event){return self.removeVertex(),event.preventDefault(),event.stopPropagation(),!1})},WPGMZA.GoogleVertexContextMenu.prototype=new google.maps.OverlayView,WPGMZA.GoogleVertexContextMenu.prototype.onAdd=function(){var self=this,map=this.getMap();this.getPanes().floatPane.appendChild(this.element),this.divListener=google.maps.event.addDomListener(map.getDiv(),"mousedown",function(e){e.target!=self.element&&self.close()},!0)},WPGMZA.GoogleVertexContextMenu.prototype.onRemove=function(){google.maps.event.removeListener(this.divListener),this.element.parentNode.removeChild(this.element),this.set("position"),this.set("path"),this.set("vertex")},WPGMZA.GoogleVertexContextMenu.prototype.open=function(map,path,vertex){this.set("position",path.getAt(vertex)),this.set("path",path),this.set("vertex",vertex),this.setMap(map),this.draw()},WPGMZA.GoogleVertexContextMenu.prototype.close=function(){this.setMap(null)},WPGMZA.GoogleVertexContextMenu.prototype.draw=function(){var position=this.get("position"),projection=this.getProjection();position&&projection&&(projection=projection.fromLatLngToDivPixel(position),this.element.style.top=projection.y+"px",this.element.style.left=projection.x+"px")},WPGMZA.GoogleVertexContextMenu.prototype.removeVertex=function(){var path=this.get("path"),vertex=this.get("vertex");path&&null!=vertex&&path.removeAt(vertex),this.close()})}),jQuery(function($){WPGMZA.FeaturePanel=function(element,mapEditPage){var self=this;WPGMZA.EventDispatcher.apply(this,arguments),this.map=mapEditPage.map,this.drawingManager=mapEditPage.drawingManager,this.writersblock=!1,this.feature=null,this.element=element,this.initDefaults(),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.drawingInstructionsElement=$(this.element).find(".wpgmza-feature-drawing-instructions"),this.drawingInstructionsElement.detach(),this.editingInstructionsElement=$(this.element).find(".wpgmza-feature-editing-instructions"),this.editingInstructionsElement.detach(),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.newPanel[0],self.element[0])&&self.onTabActivated(event)}),$("#wpgmaps_tabs_markers").on("tabsactivate",function(event,ui){$.contains(ui.oldPanel[0],self.element[0])&&self.onTabDeactivated(event)}),$(".grouping").on("feature-block-opened",function(event){$(event.currentTarget).data("feature")===self.featureType?self.onTabActivated(event):self.onTabDeactivated(event)}),$(".grouping").on("feature-block-closed",function(event){self.onTabDeactivated(event),mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE)}),$(document.body).on("click","[data-edit-"+this.featureType+"-id]",function(event){self.onEditFeature(event)}),$(document.body).on("click","[data-delete-"+this.featureType+"-id]",function(event){self.onDeleteFeature(event)}),$(this.element).find(".wpgmza-save-feature").on("click",function(event){self.onSave(event)}),this.drawingManager.on(self.drawingManagerCompleteEvent,function(event){self.onDrawingComplete(event)}),this.drawingManager.on("drawingmodechanged",function(event){self.onDrawingModeChanged(event)}),$(this.element).on("change input",function(event){self.onPropertyChanged(event)})},WPGMZA.extend(WPGMZA.FeaturePanel,WPGMZA.EventDispatcher),WPGMZA.FeaturePanel.MODE_ADD="add",WPGMZA.FeaturePanel.MODE_EDIT="edit",WPGMZA.FeaturePanel.prevEditableFeature=null,Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"drawingManagerCompleteEvent",{get:function(){return this.featureType+"complete"}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureDataTable",{get:function(){return $("[data-wpgmza-datatable][data-wpgmza-feature-type='"+this.featureType+"']")[0].wpgmzaDataTable}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"featureAccordion",{get:function(){return $(this.element).closest(".wpgmza-accordion")}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"map",{get:function(){return WPGMZA.mapEditPage.map}}),Object.defineProperty(WPGMZA.FeaturePanel.prototype,"mode",{get:function(){return this._mode}}),WPGMZA.FeaturePanel.prototype.initPreloader=function(){this.preloader||(this.preloader=$(WPGMZA.preloaderHTML),this.preloader.hide(),$(this.element).append(this.preloader))},WPGMZA.FeaturePanel.prototype.initDataTable=function(){var el=$(this.element).find("[data-wpgmza-datatable][data-wpgmza-rest-api-route]");this[this.featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)},WPGMZA.FeaturePanel.prototype.initDefaults=function(){$(this.element).find("[data-ajax-name]:not([type='radio'])").each(function(index,el){var val=$(el).val();val&&$(el).attr("data-default-value",val)})},WPGMZA.FeaturePanel.prototype.setCaptionType=function(type,id){var icons={add:"fa-plus-circle",save:"fa-pencil-square-o"};switch(type){case WPGMZA.FeaturePanel.MODE_ADD:case WPGMZA.FeaturePanel.MODE_EDIT:this.featureAccordion.find("[data-add-caption][data-edit-caption]").each(function(index,el){var text=$(el).attr("data-"+type+"-caption"),icon=$(el).find("i.fa");id&&(text+=" "+id),$(el).text(text),icon.length&&((icon=$("<i class='fa' aria-hidden='true'></i>")).addClass(icons[type]),$(el).prepend(" "),$(el).prepend(icon))}),this.sidebarTriggerDelegate("feature-caption-loaded");break;default:throw new Error("Invalid type")}},WPGMZA.FeaturePanel.prototype.setMode=function(type,id){this._mode=type,this.setCaptionType(type,id)},WPGMZA.FeaturePanel.prototype.setTargetFeature=function(feature){var prev,self=this;WPGMZA.FeaturePanel.prevEditableFeature&&((prev=WPGMZA.FeaturePanel.prevEditableFeature).setEditable(!1),prev.setDraggable(!1),prev.off("change")),feature?(feature.setEditable(!0),feature.setDraggable(!0),feature.on("change",function(event){self.onFeatureChanged(event)}),this.setMode(WPGMZA.FeaturePanel.MODE_EDIT),this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showInstructions()):this.setMode(WPGMZA.FeaturePanel.MODE_ADD),this.feature=WPGMZA.FeaturePanel.prevEditableFeature=feature},WPGMZA.FeaturePanel.prototype.reset=function(){$(this.element).find("[data-ajax-name]:not([data-ajax-name='map_id']):not([type='color']):not([type='checkbox']):not([type='radio'])").val(""),$(this.element).find("select[data-ajax-name]>option:first-child").prop("selected",!0),$(this.element).find("[data-ajax-name='id']").val("-1"),$(this.element).find("input[type='checkbox']").prop("checked",!1),WPGMZA.InternalEngine.isLegacy()?tinyMCE.get("wpgmza-description-editor")?tinyMCE.get("wpgmza-description-editor").setContent(""):$("#wpgmza-description-editor").val(""):("undefined"!=typeof WritersBlock&&0!=this.writersblock&&this.writersblock.ready?(this.writersblock.setContent(""),this.writersblock.elements&&this.writersblock.elements._codeEditor&&(this.writersblock.elements._codeEditor.value="")):$("#wpgmza-description-editor").val(""),$(this.element).find("input.wpgmza-color-input").each(function(){this.wpgmzaColorInput&&this.wpgmzaColorInput.parseColor($(this).data("default-value")||this.value)})),$("#wpgmza-description-editor").val(""),$(this.element).find(".wpgmza-image-single-input").trigger("change"),this.showPreloader(!1),this.setMode(WPGMZA.FeaturePanel.MODE_ADD),$(this.element).find("[data-ajax-name][data-default-value]").each(function(index,el){$(el).val($(el).data("default-value"))})},WPGMZA.FeaturePanel.prototype.select=function(arg){var id,expectedBaseClass,self=this;if(this.reset(),$.isNumeric(arg))id=arg;else{if(expectedBaseClass=WPGMZA[WPGMZA.capitalizeWords(this.featureType)],!(feature instanceof expectedBaseClass))throw new Error("Invalid feature type for this panel");id=arg.id}this.showPreloader(!0),this.sidebarTriggerDelegate("edit"),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll($(".wpgmza_map")),WPGMZA.restAPI.call("/"+this.featureType+"s/"+id+"?skip_cache=1",{success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),functionSuffix=self.map["get"+functionSuffix+"ByID"](id);self.populate(data),self.showPreloader(!1),self.setMode(WPGMZA.FeaturePanel.MODE_EDIT,id),self.setTargetFeature(functionSuffix)}})},WPGMZA.FeaturePanel.prototype.showPreloader=function(show){this.initPreloader(),0==arguments.length||show?(this.preloader.fadeIn(),this.element.addClass("wpgmza-loading")):(this.preloader.fadeOut(),this.element.removeClass("wpgmza-loading"))},WPGMZA.FeaturePanel.prototype.populate=function(data){var value,target,name;for(name in data)switch(target=$(this.element).find("[data-ajax-name='"+name+"']"),value=data[name],(target.attr("type")||"").toLowerCase()){case"checkbox":case"radio":target.prop("checked",1==data[name]);break;case"color":value.match(/^#/)||(value="#"+value);default:if("object"==typeof value&&(value=JSON.stringify(value)),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").val(value),$(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-color-input")){let colorInput=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);colorInput.wpgmzaColorInput&&colorInput.wpgmzaColorInput.parseColor(colorInput.value)}if($(this.element).find("[data-ajax-name='"+name+"']:not(select)").hasClass("wpgmza-image-single-input")){let imageInputSingle=$(this.element).find("[data-ajax-name='"+name+"']:not(select)").get(0);imageInputSingle.wpgmzaImageInputSingle&&imageInputSingle.wpgmzaImageInputSingle.parseImage(imageInputSingle.value)}$(this.element).find("select[data-ajax-name='"+name+"']").each(function(index,el){"string"==typeof value&&0==data[name].length||$(el).val(value)})}},WPGMZA.FeaturePanel.prototype.serializeFormData=function(){var fields=$(this.element).find("[data-ajax-name]"),data={};return fields.each(function(index,el){var type="text";switch(type=$(el).attr("type")?$(el).attr("type").toLowerCase():type){case"checkbox":data[$(el).attr("data-ajax-name")]=$(el).prop("checked")?1:0;break;case"radio":$(el).prop("checked")&&(data[$(el).attr("data-ajax-name")]=$(el).val());break;default:data[$(el).attr("data-ajax-name")]=$(el).val()}}),data},WPGMZA.FeaturePanel.prototype.discardChanges=function(){var feature;this.feature&&(feature=this.feature,this.setTargetFeature(null),feature&&feature.map&&(this.map["remove"+WPGMZA.capitalizeWords(this.featureType)](feature),-1<feature.id&&this.updateFeatureByID(feature.id)))},WPGMZA.FeaturePanel.prototype.updateFeatureByID=function(id){var feature,self=this,route="/"+this.featureType+"s/",functionSuffix=WPGMZA.capitalizeWords(self.featureType),getByIDFunction="get"+functionSuffix+"ByID",removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;WPGMZA.restAPI.call(route+id,{success:function(data,status,xhr){(feature=self.map[getByIDFunction](id))&&self.map[removeFunction](feature),feature=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](feature)}})},WPGMZA.FeaturePanel.prototype.showInstructions=function(){this.mode===WPGMZA.FeaturePanel.MODE_ADD?WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.drawingInstructionsElement),$(this.drawingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.drawingInstructionsElement):WPGMZA.InternalEngine.isLegacy()?($(this.map.element).append(this.editingInstructionsElement),$(this.editingInstructionsElement).hide().fadeIn()):$(this.element).prepend(this.editingInstructionsElement)},WPGMZA.FeaturePanel.prototype.onTabActivated=function(){var featureString;this.reset(),this.drawingManager.setDrawingMode(this.featureType),this.onAddFeature(event),WPGMZA.InternalEngine.isLegacy()&&($(".wpgmza-table-container-title").hide(),$(".wpgmza-table-container").hide(),featureString=this.featureType.charAt(0).toUpperCase()+this.featureType.slice(1),$("#wpgmza-table-container-"+featureString).show(),$("#wpgmza-table-container-title-"+featureString).show())},WPGMZA.FeaturePanel.prototype.onTabDeactivated=function(){this.discardChanges(),this.setTargetFeature(null)},WPGMZA.FeaturePanel.prototype.onAddFeature=function(event){this.drawingManager.setDrawingMode(this.featureType)},WPGMZA.FeaturePanel.prototype.onEditFeature=function(event){var name="data-edit-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.select(event)},WPGMZA.FeaturePanel.prototype.onDeleteFeature=function(event){var self=this,name="data-delete-"+this.featureType+"-id",event=$(event.currentTarget).attr(name),name="/"+this.featureType+"s/",feature=this.map["get"+WPGMZA.capitalizeWords(this.featureType)+"ByID"](event);confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(this.featureDataTable.dataTable.processing(!0),WPGMZA.restAPI.call(name+event,{method:"DELETE",success:function(data,status,xhr){self.map["remove"+WPGMZA.capitalizeWords(self.featureType)](feature),self.featureDataTable.reload()}}))},WPGMZA.FeaturePanel.prototype.onDrawingModeChanged=function(event){$(this.drawingInstructionsElement).detach(),$(this.editingInstructionsElement).detach(),this.drawingManager.mode==this.featureType&&this.showInstructions()},WPGMZA.FeaturePanel.prototype.onDrawingComplete=function(event){var event=event["engine"+WPGMZA.capitalizeWords(this.featureType)],formData=this.serializeFormData(),geometryField=$(this.element).find("textarea[data-ajax-name$='data']"),formData=(delete formData.polydata,WPGMZA[WPGMZA.capitalizeWords(this.featureType)].createInstance(formData,event));this.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.map["add"+WPGMZA.capitalizeWords(this.featureType)](formData),this.setTargetFeature(formData),geometryField.length&&geometryField.val(JSON.stringify(formData.getGeometry())),this.featureType},WPGMZA.FeaturePanel.prototype.onPropertyChanged=function(event){var feature=this.feature;feature&&(feature._dirtyFields||(feature._dirtyFields=[]),$(this.element).find(":input[data-ajax-name]").each(function(index,el){var key=$(el).attr("data-ajax-name");feature[key]&&-1===feature._dirtyFields.indexOf(key)&&feature[key]!==$(el).val()&&feature._dirtyFields.push(key),feature[key]=$(el).val()}),feature.updateNativeFeature())},WPGMZA.FeaturePanel.prototype.onFeatureChanged=function(event){var geometryField=$(this.element).find("textarea[data-ajax-name$='data']");geometryField.length&&geometryField.val(JSON.stringify(this.feature.getGeometry()))},WPGMZA.FeaturePanel.prototype.onSave=function(event){WPGMZA.EmbeddedMedia.detatchAll();var self=this,id=$(self.element).find("[data-ajax-name='id']").val(),data=this.serializeFormData(),route="/"+this.featureType+"s/",isNew=-1==id;"circle"!=this.featureType||data.center?"rectangle"!=this.featureType||data.cornerA?"polygon"!=this.featureType||data.polydata?"polyline"!=this.featureType||data.polydata?(isNew||(route+=id),WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),self.sidebarTriggerDelegate("busy"),WPGMZA.restAPI.call(route,{method:"POST",data:data,success:function(data,status,xhr){var functionSuffix=WPGMZA.capitalizeWords(self.featureType),removeFunction="remove"+functionSuffix,addFunction="add"+functionSuffix;(functionSuffix=self.map["get"+functionSuffix+"ByID"](id))&&self.map[removeFunction](functionSuffix),self.setTargetFeature(null),self.showPreloader(!1),functionSuffix=WPGMZA[WPGMZA.capitalizeWords(self.featureType)].createInstance(data),self.map[addFunction](functionSuffix),self.featureDataTable.reload(),self.onTabActivated(event),self.reset(),isNew?self.sidebarTriggerDelegate("created"):self.sidebarTriggerDelegate("saved"),WPGMZA.notification(WPGMZA.capitalizeWords(self.featureType)+" "+(isNew?"Added":"Saved"))}})):alert(WPGMZA.localized_strings.no_shape_polyline):alert(WPGMZA.localized_strings.no_shape_polygon):alert(WPGMZA.localized_strings.no_shape_rectangle):alert(WPGMZA.localized_strings.no_shape_circle)},WPGMZA.FeaturePanel.prototype.sidebarTriggerDelegate=function(type){type="sidebar-delegate-"+type;$(this.element).trigger({type:type,feature:this.featureType})},WPGMZA.FeaturePanel.prototype.initWritersBlock=function(element){!element||WPGMZA.InternalEngine.isLegacy()||"undefined"==typeof WritersBlock||(this.writersblock=new WritersBlock(element,this.getWritersBlockConfig()),this.writersblock.elements&&this.writersblock.elements.editor&&($(this.writersblock.elements.editor).on("click",".wpgmza-embedded-media",event=>{event.stopPropagation(),event.currentTarget&&(event.currentTarget.wpgmzaEmbeddedMedia||(event.currentTarget.wpgmzaEmbeddedMedia=WPGMZA.EmbeddedMedia.createInstance(event.currentTarget,this.writersblock.elements.editor)),event.currentTarget.wpgmzaEmbeddedMedia.onSelect())}),$(this.writersblock.elements.editor).on("media_resized",()=>{this.writersblock.onEditorChange()})))},WPGMZA.FeaturePanel.prototype.getWritersBlockConfig=function(){return{customTools:[{tag:"shared-blocks",tools:{"custom-media":{icon:"fa fa-file-image-o",title:"Upload Media",action:editor=>{"undefined"!=typeof wp&&void 0!==wp.media&&void 0!==WPGMZA.openMediaDialog&&WPGMZA.openMediaDialog((mediaId,mediaUrl,media)=>{if(mediaUrl)if(media.type)switch(media.type){case"image":editor.writeHtml(`<img class='wpgmza-embedded-media' src='${mediaUrl}' />`);break;case"video":editor.writeHtml(`<video class='wpgmza-embedded-media' controls src='${mediaUrl}'></video>`);break;case"audio":editor.writeHtml(`<audio controls src='${mediaUrl}'></audio>`)}else WPGMZA.notification("We couldn't determine the type of media being added")},{title:"Select media",button:{text:"Add media"},multiple:!1,library:{type:["video","image","audio"]}})}},"code-editor":{icon:"fa fa-code",title:"Code Editor (HTML)",action:editor=>{if(editor._codeEditorActive){if(editor.elements._codeEditor){editor.elements.editor.classList.remove("wpgmza-hidden"),editor.elements._codeEditor.classList.add("wpgmza-hidden");let toolbarItems=editor.elements.toolbar.querySelectorAll("a.tool");for(let tool of toolbarItems)"codeeditor"!==tool.getAttribute("data-value")?tool.classList.remove("wpgmza-writersblock-disabled"):tool.classList.remove("wpgmza-writersblock-hold-state");$(editor.elements._codeEditor).trigger("wpgmza-writersblock-code-edited")}editor._codeEditorActive=!1}else{var tool;editor.elements._codeEditor||(editor.elements._codeEditor=editor.createElement("textarea",["writersblock-wpgmza-code-editor"]),editor.elements._codeEditor.setAttribute("placeholder","\x3c!-- Add HTML Here --\x3e"),editor.elements.wrap.appendChild(editor.elements._codeEditor),editor.elements._codeEditor.__editor=editor,$(editor.elements._codeEditor).on("wpgmza-writersblock-code-edited",function(){const target=$(this).get(0);if(target.__editor){let editedHtml=target.__editor.elements._codeEditor.value;editedHtml=editedHtml.replaceAll("\n","");const validator=document.createElement("div");validator.innerHTML=editedHtml,validator.innerHTML===editedHtml&&(target.__editor.elements.editor.innerHTML=validator.innerHTML,target.__editor.onEditorChange())}}),$(editor.elements._codeEditor).on("change input",function(){$(this).trigger("wpgmza-writersblock-code-edited")})),editor.elements.editor.classList.add("wpgmza-hidden"),editor.elements._codeEditor.classList.remove("wpgmza-hidden");for(tool of editor.elements.toolbar.querySelectorAll("a.tool"))"codeeditor"!==tool.getAttribute("data-value")?tool.classList.add("wpgmza-writersblock-disabled"):tool.classList.add("wpgmza-writersblock-hold-state");if(editor.elements.editor.innerHTML&&0<editor.elements.editor.innerHTML.trim().length){let sourceHtml=editor.elements.editor.innerHTML;sourceHtml=sourceHtml.replaceAll(/<\/(\w+)>/g,"</$1>\n"),editor.elements._codeEditor.value=sourceHtml}editor._codeEditorActive=!0}}}}}],enabledTools:["p","h1","h2","createlink","unlink","bold","italic","underline","strikeThrough","justifyLeft","justifyCenter","justifyRight","insertUnorderedList","insertOrderedList","insertHorizontalRule","custom-media","code-editor"],events:{onUpdateSelection:packet=>{packet.instance&&setTimeout(()=>{const pingedSelection=window.getSelection();pingedSelection&&0===pingedSelection.toString().trim().length&&this.writersblock.hidePopupTools()},10)}}}},WPGMZA.FeaturePanel.prototype.hasDirtyField=function(field){if(this.feature&&this.feature._dirtyFields){if(this.feature._dirtyFields instanceof Array&&-1!==this.feature._dirtyFields.indexOf(field))return!0}else if(!this.feature)return!0;return!1}}),jQuery(function($){WPGMZA.MarkerPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.MarkerPanel,WPGMZA.FeaturePanel),WPGMZA.MarkerPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProMarkerPanel:WPGMZA.MarkerPanel)(element,mapEditPage)},WPGMZA.MarkerPanel.prototype.initDefaults=function(){var self=this;WPGMZA.FeaturePanel.prototype.initDefaults.apply(this,arguments),this.adjustSubMode=!1,WPGMZA.InternalEngine.isLegacy()&&this.onTabActivated(null),$(document.body).on("click","[data-adjust-"+this.featureType+"-id]",function(event){self.onAdjustFeature(event)}),$(document.body).on("click",".wpgmza_approve_btn",function(event){self.onApproveMarker(event)})},WPGMZA.MarkerPanel.prototype.onAdjustFeature=function(event){var name="data-adjust-"+this.featureType+"-id",event=$(event.currentTarget).attr(name);this.discardChanges(),this.adjustSubMode=!0,this.select(event)},WPGMZA.MarkerPanel.prototype.onApproveMarker=function(event){var self=this,event="/"+this.featureType+"s/"+$(event.currentTarget).attr("id");WPGMZA.restAPI.call(event,{method:"POST",data:{approved:"1"},success:function(data,status,xhr){self.featureDataTable.reload()}})},WPGMZA.MarkerPanel.prototype.onFeatureChanged=function(event){var aPos,pos;this.adjustSubMode?(aPos=this.feature.getPosition())&&($(this.element).find("[data-ajax-name='lat']").val(aPos.lat),$(this.element).find("[data-ajax-name='lng']").val(aPos.lng)):(aPos=$(this.element).find("input[data-ajax-name$='address']")).length&&(pos=this.feature.getPosition(),aPos.val(pos.lat+", "+pos.lng),aPos.trigger("change"))},WPGMZA.MarkerPanel.prototype.setTargetFeature=function(feature){var prev;WPGMZA.FeaturePanel.prevEditableFeature&&(prev=WPGMZA.FeaturePanel.prevEditableFeature).setOpacity&&prev.setOpacity(1),$(this.element).find("[data-ajax-name]").removeAttr("disabled"),$(this.element).find("fieldset").show(),$(this.element).find(".wpgmza-adjust-mode-notice").addClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","hidden"),$(this.element).find('[data-ajax-name="lng"]').attr("type","hidden"),$(this.element).find(".wpgmza-hide-in-adjust-mode").removeClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").addClass("wpgmza-hidden"),feature?(feature.setOpacity&&feature.setOpacity(.7),feature.getMap().panTo(feature.getPosition()),this.adjustSubMode&&($(this.element).find("[data-ajax-name]").attr("disabled","disabled"),$(this.element).find("fieldset:not(.wpgmza-always-on)").hide(),$(this.element).find(".wpgmza-adjust-mode-notice").removeClass("wpgmza-hidden"),$(this.element).find('[data-ajax-name="lat"]').attr("type","text").removeAttr("disabled"),$(this.element).find('[data-ajax-name="lng"]').attr("type","text").removeAttr("disabled"),$(this.element).find(".wpgmza-hide-in-adjust-mode").addClass("wpgmza-hidden"),$(this.element).find(".wpgmza-show-in-adjust-mode").removeClass("wpgmza-hidden"))):this.adjustSubMode=!1,WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments)},WPGMZA.MarkerPanel.prototype.onSave=function(event){var self=this,geocoder=WPGMZA.Geocoder.createInstance(),geocodingData={address:$(this.element).find("[data-ajax-name='address']").val()},cloud_lat=(WPGMZA.mapEditPage.drawingManager.setDrawingMode(WPGMZA.DrawingManager.MODE_NONE),this.showPreloader(!0),!1),cloud_lng=!1,cloud_lat=(0<document.getElementsByName("lat").length&&(cloud_lat=document.getElementsByName("lat")[0].value),0<document.getElementsByName("lng").length&&(cloud_lng=document.getElementsByName("lng")[0].value),cloud_lat&&cloud_lng&&(WPGMZA_localized_data.settings.googleMapsApiKey&&""!==WPGMZA_localized_data.settings.googleMapsApiKey||(geocodingData.lat=parseFloat(cloud_lat),geocodingData.lng=parseFloat(cloud_lng))),!this.hasDirtyField("address"));this.adjustSubMode||cloud_lat?WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments):geocoder.geocode(geocodingData,function(results,status){switch(status){case WPGMZA.Geocoder.ZERO_RESULTS:return alert(WPGMZA.localized_strings.zero_results),void self.showPreloader(!1);case WPGMZA.Geocoder.SUCCESS:break;case WPGMZA.Geocoder.NO_ADDRESS:return alert(WPGMZA.localized_strings.no_address),void self.showPreloader(!1);default:WPGMZA.Geocoder.FAIL;return alert(WPGMZA.localized_strings.geocode_fail),void self.showPreloader(!1)}var result=results[0];$(self.element).find("[data-ajax-name='lat']").val(result.lat),$(self.element).find("[data-ajax-name='lng']").val(result.lng),WPGMZA.FeaturePanel.prototype.onSave.apply(self,arguments)}),WPGMZA.mapEditPage.map.resetBounds()}}),jQuery(function($){WPGMZA.CirclePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.CirclePanel,WPGMZA.FeaturePanel),WPGMZA.CirclePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProCirclePanel:WPGMZA.CirclePanel)(element,mapEditPage)},WPGMZA.CirclePanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getCenter().toString()),$(this.element).find("[data-ajax-name='radius']").val(this.feature.getRadius())},WPGMZA.CirclePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.CirclePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.CirclePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}});var wpgmza_autoCompleteDisabled=!1;jQuery(function($){"map-edit"==WPGMZA.currentPage&&(WPGMZA.MapEditPage=function(){var self=this,element=document.body;WPGMZA.EventDispatcher.call(this),WPGMZA.settings.internalEngine&&!WPGMZA.InternalEngine.isLegacy()||$("#wpgmaps_options fieldset").wrapInner("<div class='wpgmza-flex'></div>"),this.themePanel=new WPGMZA.ThemePanel,this.themeEditor=new WPGMZA.ThemeEditor,this.sidebarGroupings=new WPGMZA.SidebarGroupings,this.map=WPGMZA.maps[0],(!WPGMZA.pro_version||WPGMZA.Version.compare(WPGMZA.pro_version,"8.1.0")>=WPGMZA.Version.EQUAL_TO)&&(this.drawingManager=WPGMZA.DrawingManager.createInstance(this.map)),this.initDataTables(),this.initFeaturePanels(),this.initJQueryUIControls(),"en"!==WPGMZA.locale&&(WPGMZA.InternalEngine.isLegacy()?$("#datatable_no_result_message,#datatable_search_string").parent():$("#datatable_no_result_message,#datatable_search_string")).parent().hide(),$("input.wpgmza-address").each(function(index,el){el.addressInput=WPGMZA.AddressInput.createInstance(el,self.map)}),$('#wpgmza-map-edit-page input[type="color"]').each(function(){var buttonClass=WPGMZA.InternalEngine.isLegacy()?"button-secondary":"wpgmza-button";$("<div class='"+buttonClass+" wpgmza-paste-color-btn' title='Paste a HEX color code'><i class='fa fa-clipboard' aria-hidden='true'></i></div>").insertAfter(this)}),jQuery("body").on("click",".wpgmza_ac_result",function(e){var index=jQuery(this).data("id"),lat=jQuery(this).data("lat"),lng=jQuery(this).data("lng"),index=jQuery("#wpgmza_item_address_"+index).html();jQuery("input[name='lat']").val(lat),jQuery("input[name='lng']").val(lng),jQuery("#wpgmza_add_address_map_editor").val(index),jQuery("#wpgmza_autocomplete_search_results").hide()}),jQuery("body").on("click",".wpgmza-paste-color-btn",function(){try{var colorBtn=$(this);if(!navigator||!navigator.clipboard||!navigator.clipboard.readText)return;navigator.clipboard.readText().then(function(textcopy){colorBtn.parent().find('input[type="color"]').val("#"+textcopy.replace("#","").trim())}).catch(function(err){console.error("WP Go Maps: Could not access clipboard",err)})}catch(c_ex){}}),jQuery("body").on("focusout","#wpgmza_add_address_map_editor",function(e){setTimeout(function(){jQuery("#wpgmza_autocomplete_search_results").fadeOut("slow")},500)});$("body").on("keypress",".wpgmza-address",function(e){self.shouldAddressFieldUseEnhancedAutocomplete(this)&&self.onKeyUpEnhancedAutocomplete(e,this)}),$("#wpgmza_map_height_type").on("change",function(event){self.onMapHeightTypeChange(event)}),$("#advanced-markers .wpgmza-feature-drawing-instructions").remove(),$("[data-search-area='auto']").hide(),$(document.body).on("click","[data-wpgmza-admin-marker-datatable] input[name='mark']",function(event){self.onShiftClick(event)}),$("#wpgmza_map_type").on("change",function(event){self.onMapTypeChanged(event)}),$("body").on("click",".wpgmza_copy_shortcode",function(){var $temp=jQuery("<input>");jQuery('<span id="wpgmza_tmp" style="display:none; width:100%; text-align:center;">');jQuery("body").append($temp),$temp.val(jQuery(this).val()).select(),document.execCommand("copy"),$temp.remove(),WPGMZA.notification("Shortcode Copied")}),this.on("markerupdated",function(event){self.onMarkerUpdated(event)}),this.map&&(this.map.on("zoomchanged",function(event){self.onZoomChanged(event)}),this.map.on("boundschanged",function(event){self.onBoundsChanged(event)}),this.map.on("rightclick",function(event){self.onRightClick(event)})),$(element).on("click",".wpgmza_poly_del_btn",function(event){self.onDeletePolygon(event)}),$(element).on("click",".wpgmza_polyline_del_btn",function(event){self.onDeletePolyline(event)}),$(element).on("click",".wpgmza_dataset_del_btn",function(evevnt){self.onDeleteHeatmap(event)}),$(element).on("click",".wpgmza_circle_del_btn",function(event){self.onDeleteCircle(event)}),$(element).on("click",".wpgmza_rectangle_del_btn",function(event){self.onDeleteRectangle(event)}),$(element).on("click","#wpgmza-open-advanced-theme-data",function(event){event.preventDefault(),$(".wpgmza_theme_data_container").toggleClass("wpgmza_hidden")}),$(element).on("click",".wpgmza-shortcode-button",function(event){event.preventDefault(),$(element).find(".wpgmza-shortcode-description").addClass("wpgmza-hidden");const nearestRow=$(this).closest(".wpgmza-row");if(nearestRow.length){const nearestHint=nearestRow.next(".wpgmza-shortcode-description");nearestHint.length&&nearestHint.removeClass("wpgmza-hidden")}event=$(this).text();if(event.length){const temp=jQuery("<input>");$(document.body).append(temp),temp.val(event).select(),document.execCommand("copy"),temp.remove(),WPGMZA.notification("Shortcode Copied")}})},WPGMZA.extend(WPGMZA.MapEditPage,WPGMZA.EventDispatcher),WPGMZA.MapEditPage.createInstance=function(){return new(WPGMZA.isProVersion()&&WPGMZA.Version.compare(WPGMZA.pro_version,"8.0.0")>=WPGMZA.Version.EQUAL_TO?WPGMZA.ProMapEditPage:WPGMZA.MapEditPage)},WPGMZA.MapEditPage.prototype.initDataTables=function(){var self=this;$("[data-wpgmza-datatable][data-wpgmza-rest-api-route]").each(function(index,el){var featureType=$(el).attr("data-wpgmza-feature-type");self[featureType+"AdminDataTable"]=new WPGMZA.AdminFeatureDataTable(el)})},WPGMZA.MapEditPage.prototype.initFeaturePanels=function(){var self=this;$(".wpgmza-feature-accordion[data-wpgmza-feature-type]").each(function(index,el){var featurePanelElement=$(el).find(".wpgmza-feature-panel-container > *"),el=$(el).attr("data-wpgmza-feature-type"),panelClassName=WPGMZA.capitalizeWords(el)+"Panel",panelClassName=WPGMZA[panelClassName].createInstance(featurePanelElement,self);self[el+"Panel"]=panelClassName})},WPGMZA.MapEditPage.prototype.initJQueryUIControls=function(){var mapContainer,self=this;$("#wpgmaps_tabs").tabs(),mapContainer=$("#wpgmza-map-container").detach(),$("#wpgmaps_tabs_markers").tabs(),$(".map_wrapper").prepend(mapContainer),$("#slider-range-max").slider({range:"max",min:1,max:21,value:$("input[name='map_start_zoom']").val(),slide:function(event,ui){$("input[name='map_start_zoom']").val(ui.value),self.map.setZoom(ui.value)}})},WPGMZA.MapEditPage.prototype.onShiftClick=function(event){var checkbox=event.currentTarget,checkbox=jQuery(checkbox).closest("tr");if(this.lastSelectedRow&&event.shiftKey){var event=this.lastSelectedRow.index(),currIndex=checkbox.index(),startIndex=Math.min(event,currIndex),endIndex=Math.max(event,currIndex),rows=jQuery("[data-wpgmza-admin-marker-datatable] tbody>tr");jQuery("[data-wpgmza-admin-marker-datatable] input[name='mark']").prop("checked",!1);for(var i=startIndex;i<=endIndex;i++)jQuery(rows[i]).find("input[name='mark']").prop("checked",!0)}this.lastSelectedRow=checkbox},WPGMZA.MapEditPage.prototype.onMapTypeChanged=function(event){if("open-layers"!=WPGMZA.settings.engine){var mapTypeId;switch(event.target.value){case"2":mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"3":mapTypeId=google.maps.MapTypeId.HYBRID;break;case"4":mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:mapTypeId=google.maps.MapTypeId.ROADMAP}this.map.setOptions({mapTypeId:mapTypeId})}},WPGMZA.MapEditPage.prototype.onMarkerUpdated=function(event){this.markerDataTable.reload()},WPGMZA.MapEditPage.prototype.onZoomChanged=function(event){$(".map_start_zoom").val(this.map.getZoom())},WPGMZA.MapEditPage.prototype.onBoundsChanged=function(event){var location=this.map.getCenter();$("#wpgmza_start_location").val(location.lat+","+location.lng),$("input[name='map_start_lat']").val(location.lat),$("input[name='map_start_lng']").val(location.lng),$("#wpgmza_start_zoom").val(this.map.getZoom()),$("#wpgmaps_save_reminder").show()},WPGMZA.MapEditPage.prototype.onMapHeightTypeChange=function(event){"%"==event.target.value&&$("#wpgmza_height_warning").show()},WPGMZA.MapEditPage.prototype.onRightClick=function(event){var marker,self=this;this.drawingManager&&this.drawingManager.mode!=WPGMZA.DrawingManager.MODE_MARKER||(this.rightClickMarker||(this.rightClickMarker=WPGMZA.Marker.createInstance({draggable:!0}),this.rightClickMarker.on("dragend",function(event){$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng)}),this.map.on("click",function(event){self.rightClickMarker.setMap(null),$(".wpgmza-marker-panel [data-ajax-name='address']").val("")})),(marker=this.rightClickMarker).setPosition(event.latLng),marker.setMap(this.map),$(".wpgmza-marker-panel [data-ajax-name='address']").val(event.latLng.lat+", "+event.latLng.lng))},WPGMZA.MapEditPage.prototype.onDeletePolygon=function(event){var cur_id=parseInt($(this).attr("id")),data={action:"delete_poly",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_Path[cur_id].setMap(null),delete WPGM_PathData[cur_id],delete WPGM_Path[cur_id],$("#wpgmza_poly_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeletePolyline=function(event){var cur_id=$(this).attr("id"),data={action:"delete_polyline",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){WPGM_PathLine[cur_id].setMap(null),delete WPGM_PathLineData[cur_id],delete WPGM_PathLine[cur_id],$("#wpgmza_polyline_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteHeatmap=function(event){var cur_id=$(this).attr("id"),data={action:"delete_dataset",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,poly_id:cur_id};$.post(ajaxurl,data,function(response){heatmap[cur_id].setMap(null),delete heatmap[cur_id],$("#wpgmza_heatmap_holder").html(response)})},WPGMZA.MapEditPage.prototype.onDeleteCircle=function(event){var circle_id=$(this).attr("id"),data={action:"delete_circle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,circle_id:circle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-5 table").replaceWith(response),circle_array.forEach(function(circle){if(circle.id==circle_id)return circle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.onDeleteRectangle=function(event){var rectangle_id=$(this).attr("id"),data={action:"delete_rectangle",security:wpgmza_legacy_map_edit_page_vars.ajax_nonce,map_id:this.map.id,rectangle_id:rectangle_id};$.post(ajaxurl,data,function(response){$("#tabs-m-6 table").replaceWith(response),rectangle_array.forEach(function(rectangle){if(rectangle.id==rectangle_id)return rectangle.setMap(null),!1})})},WPGMZA.MapEditPage.prototype.shouldAddressFieldUseEnhancedAutocomplete=function(element){return!(!element||!element.id||"wpgmza_add_address_map_editor"!==element.id)},WPGMZA.MapEditPage.prototype.onKeyUpEnhancedAutocomplete=function(event,element){if(!element._wpgmzaAddressInput||!element._wpgmzaAddressInput.googleAutocompleteLoaded){element._wpgmzaEnhancedAutocomplete||(element._wpgmzaEnhancedAutocomplete={identifiedTypingSpeed:!1,typingTimeout:!1,startTyping:!1,keyStrokeCount:1,avgTimeBetweenStrokes:300,totalTimeForKeyStrokes:0,ajaxRequest:!1,ajaxTimeout:!1,requestErrorCount:0,disabledFlag:!1,disabledCheckCount:0});let enhancedAutocomplete=element._wpgmzaEnhancedAutocomplete;if(-1!==["Escape","Alt","Control","Option","Shift","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].indexOf(event.key))$("#wpgmza_autocomplete_search_results").hide();else{if(enhancedAutocomplete.disabledFlag)return enhancedAutocomplete.disabledCheckCount++,void(5<=enhancedAutocomplete.disabledCheckCount&&this.swapEnhancedAutocomplete(element));let googleApiKey=!1;if(WPGMZA.settings&&(WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key)&&(googleApiKey=WPGMZA.settings.googleMapsApiKey||WPGMZA.settings.wpgmza_google_maps_api_key),!enhancedAutocomplete.identifiedTypingSpeed){let d=new Date;return enhancedAutocomplete.typingTimeout&&clearTimeout(enhancedAutocomplete.typingTimeout),enhancedAutocomplete.typingTimeout=setTimeout(()=>{enhancedAutocomplete.startTyping=!1,enhancedAutocomplete.avgTimeBetweenStrokes=300,enhancedAutocomplete.totalTimeForKeyStrokes=0},1500),enhancedAutocomplete.startTyping?1<enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.currentTimeBetweenStrokes=d.getTime()-enhancedAutocomplete.startTyping,enhancedAutocomplete.totalTimeForKeyStrokes+=enhancedAutocomplete.currentTimeBetweenStrokes,enhancedAutocomplete.avgTimeBetweenStrokes=enhancedAutocomplete.totalTimeForKeyStrokes/(enhancedAutocomplete.keyStrokeCount-1),enhancedAutocomplete.startTyping=d.getTime(),3<=enhancedAutocomplete.keyStrokeCount&&(enhancedAutocomplete.identifiedTypingSpeed=enhancedAutocomplete.avgTimeBetweenStrokes)):enhancedAutocomplete.startTyping=d.getTime(),void enhancedAutocomplete.keyStrokeCount++}if(enhancedAutocomplete.ajaxTimeout&&clearTimeout(enhancedAutocomplete.ajaxTimeout),$("#wpgmza_autocomplete_search_results").html('<div class="wpgmza-pad-5">Searching...</div>'),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.currentSearch=$(element).val(),enhancedAutocomplete.currentSearch&&0<enhancedAutocomplete.currentSearch.trim().length){if(!1!==enhancedAutocomplete.ajaxRequest&&enhancedAutocomplete.ajaxRequest.abort(),enhancedAutocomplete.requestParams={domain:window.location.hostname},"localhost"===enhancedAutocomplete.requestParams.domain){try{var path,paths=window.location.pathname.match(/\/(.*?)\//);paths&&2<=paths.length&&paths[1]&&(path=paths[1],enhancedAutocomplete.requestParams.domain+="-"+path)}catch(ex){}enhancedAutocomplete.requestParams.url="https://wpgmaps.us-3.evennode.com/api/v1/autocomplete",enhancedAutocomplete.requestParams.query={s:enhancedAutocomplete.currentSearch,d:enhancedAutocomplete.requestParams.domain,hash:WPGMZA.siteHash},googleApiKey&&(enhancedAutocomplete.requestParams.query.k=googleApiKey),WPGMZA.settings&&(WPGMZA.settings.engine&&(enhancedAutocomplete.requestParams.query.engine=WPGMZA.settings.engine),WPGMZA.settings.internal_engine&&(enhancedAutocomplete.requestParams.query.build=WPGMZA.settings.internal_engine)),enhancedAutocomplete.requestParams.query=new URLSearchParams(enhancedAutocomplete.requestParams.query),enhancedAutocomplete.requestParams.url+="?"+enhancedAutocomplete.requestParams.query.toString(),enhancedAutocomplete.ajaxTimeout=setTimeout(()=>{enhancedAutocomplete.ajaxRequest=$.ajax({url:enhancedAutocomplete.requestParams.url,type:"GET",dataType:"json",success:results=>{try{if(results instanceof Object)if(results.error)"error1"==results.error?($("#wpgmza_autoc_disabled").html(WPGMZA.localized_strings.cloud_api_key_error_1),$("#wpgmza_autoc_disabled").fadeIn("slow"),$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.disabledFlag=!0):(console.error(results.error),this.swapEnhancedAutocomplete(element));else{$("#wpgmza_autocomplete_search_results").html("");let html="";for(var i in results)html+="<div class='wpgmza_ac_result "+(""===html?"":"border-top")+"' data-id='"+i+"' data-lat='"+results[i].lat+"' data-lng='"+results[i].lng+"'><div class='wpgmza_ac_container'><div class='wpgmza_ac_icon'><img src='"+results[i].icon+"' /></div><div class='wpgmza_ac_item'><span id='wpgmza_item_name_"+i+"' class='wpgmza_item_name'>"+results[i].place_name+"</span><span id='wpgmza_item_address_"+i+"' class='wpgmza_item_address'>"+results[i].formatted_address+"</span></div></div></div>";(!html||html.length<=0)&&(html="<div class='p-2 text-center'><small>No results found...</small></div>"),$("#wpgmza_autocomplete_search_results").html(html),$("#wpgmza_autocomplete_search_results").show(),enhancedAutocomplete.disabledCheckCount=0,enhancedAutocomplete.requestErrorCount=0}else this.swapEnhancedAutocomplete(element)}catch(ex){console.error("WP Go Maps Plugin: There was an error returning the list of places for your search"),this.swapEnhancedAutocomplete(element)}},error:()=>{$("#wpgmza_autocomplete_search_results").hide(),enhancedAutocomplete.requestErrorCount++,3<=enhancedAutocomplete.requestErrorCount&&this.swapEnhancedAutocomplete(element)}})},2*enhancedAutocomplete.identifiedTypingSpeed)}}else $("#wpgmza_autocomplete_search_results").hide()}}},WPGMZA.MapEditPage.prototype.swapEnhancedAutocomplete=function(element){element._wpgmzaAddressInput&&!element._wpgmzaAddressInput.googleAutocompleteLoaded&&element._wpgmzaAddressInput.loadGoogleAutocomplete(),$("#wpgmza_autocomplete_search_results").hide(),$("#wpgmza_autoc_disabled").hide()},$(document).ready(function(event){WPGMZA.mapEditPage=WPGMZA.MapEditPage.createInstance()}))}),jQuery(function($){WPGMZA.PointlabelPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PointlabelPanel,WPGMZA.FeaturePanel),WPGMZA.PointlabelPanel.createInstance=function(element,mapEditPage){return new WPGMZA.PointlabelPanel(element,mapEditPage)},WPGMZA.PointlabelPanel.prototype.updateFields=function(){$(this.element).find("[data-ajax-name='center']").val(this.feature.getPosition().toString())},WPGMZA.PointlabelPanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.PointlabelPanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.PointlabelPanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){WPGMZA.PolygonPanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolygonPanel,WPGMZA.FeaturePanel),WPGMZA.PolygonPanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolygonPanel:WPGMZA.PolygonPanel)(element,mapEditPage)},Object.defineProperty(WPGMZA.PolygonPanel.prototype,"drawingManagerCompleteEvent",{get:function(){return"polygonclosed"}})}),jQuery(function($){WPGMZA.PolylinePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.PolylinePanel,WPGMZA.FeaturePanel),WPGMZA.PolylinePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProPolylinePanel:WPGMZA.PolylinePanel)(element,mapEditPage)}}),jQuery(function($){WPGMZA.RectanglePanel=function(element,mapEditPage){WPGMZA.FeaturePanel.apply(this,arguments)},WPGMZA.extend(WPGMZA.RectanglePanel,WPGMZA.FeaturePanel),WPGMZA.RectanglePanel.createInstance=function(element,mapEditPage){return new(WPGMZA.isProVersion()?WPGMZA.ProRectanglePanel:WPGMZA.RectanglePanel)(element,mapEditPage)},WPGMZA.RectanglePanel.prototype.updateFields=function(){var bounds=this.feature.getBounds();bounds.north&&bounds.west&&bounds.south&&bounds.east&&($(this.element).find("[data-ajax-name='cornerA']").val(bounds.north+", "+bounds.west),$(this.element).find("[data-ajax-name='cornerB']").val(bounds.south+", "+bounds.east))},WPGMZA.RectanglePanel.prototype.setTargetFeature=function(feature){WPGMZA.FeaturePanel.prototype.setTargetFeature.apply(this,arguments),feature&&this.updateFields()},WPGMZA.RectanglePanel.prototype.onDrawingComplete=function(event){WPGMZA.FeaturePanel.prototype.onDrawingComplete.apply(this,arguments),this.updateFields()},WPGMZA.RectanglePanel.prototype.onFeatureChanged=function(event){WPGMZA.FeaturePanel.prototype.onFeatureChanged.apply(this,arguments),this.updateFields()}}),jQuery(function($){var Parent=WPGMZA.Circle;WPGMZA.OLCircle=function(options,olFeature){var center,geom;Parent.call(this,options,olFeature),options=options||{},olFeature?(olFeature=olFeature.getGeometry(),center=ol.proj.toLonLat(olFeature.getCenter()),geom=olFeature,options.center=new WPGMZA.LatLng(center[1],center[0]),options.radius=olFeature.getRadius()/1e3):geom=new ol.geom.Circle(ol.proj.fromLonLat([parseFloat(options.center.lng),parseFloat(options.center.lat)]),1e3*options.radius),this.layer=new ol.layer.Vector({source:new ol.source.Vector}),this.olFeature=new ol.Feature({geometry:geom}),this.layer.getSource().addFeature(this.olFeature),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaCircle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProCircle),WPGMZA.OLCircle.prototype=Object.create(Parent.prototype),WPGMZA.OLCircle.prototype.constructor=WPGMZA.OLCircle,WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)},WPGMZA.OLCircle.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olFeature.getGeometry().getCenter());return new WPGMZA.LatLng({lat:lonLat[1],lng:lonLat[0]})},WPGMZA.OLCircle.prototype.recreate=function(){var radius,y,x;this.olFeature&&(this.layer.getSource().removeFeature(this.olFeature),delete this.olFeature),this.center&&this.radius&&(radius=1e3*parseFloat(this.radius),x=this.center.lng,y=this.center.lat,x=ol.geom.Polygon.circular([x,y],radius,64).clone().transform("EPSG:4326","EPSG:3857"),this.olFeature=new ol.Feature(x),this.layer.getSource().addFeature(this.olFeature))},WPGMZA.OLCircle.prototype.setVisible=function(visible){this.layer.setVisible(!!visible)},WPGMZA.OLCircle.prototype.setCenter=function(center){WPGMZA.Circle.prototype.setCenter.apply(this,arguments),this.recreate()},WPGMZA.OLCircle.prototype.getRadius=function(){return this.layer.getSource().getFeatures()[0].getGeometry().getRadius()/1e3},WPGMZA.OLCircle.prototype.setRadius=function(radius){WPGMZA.Circle.prototype.setRadius.apply(this,arguments)},WPGMZA.OLCircle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLDrawingManager=function(map){WPGMZA.DrawingManager.call(this,map),this.source=new ol.source.Vector({wrapX:!1}),this.layer=new ol.layer.Vector({source:this.source})},WPGMZA.OLDrawingManager.prototype=Object.create(WPGMZA.DrawingManager.prototype),WPGMZA.OLDrawingManager.prototype.constructor=WPGMZA.OLDrawingManager,WPGMZA.OLDrawingManager.prototype.setOptions=function(options){var params={};options.strokeOpacity&&(params.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToRGBA(options.strokeColor,options.strokeOpacity)})),options.fillOpacity&&(params.fill=new ol.style.Fill({color:WPGMZA.hexOpacityToRGBA(options.fillColor,options.fillOpacity)})),this.layer.setStyle(new ol.style.Style(params))},WPGMZA.OLDrawingManager.prototype.setDrawingMode=function(mode){var type,endEventType,self=this;switch(WPGMZA.DrawingManager.prototype.setDrawingMode.call(this,mode),this.interaction&&(this.map.olMap.removeInteraction(this.interaction),this.interaction=null),mode){case WPGMZA.DrawingManager.MODE_NONE:case WPGMZA.DrawingManager.MODE_MARKER:return;case WPGMZA.DrawingManager.MODE_POLYGON:type="Polygon",endEventType="polygonclosed";break;case WPGMZA.DrawingManager.MODE_POLYLINE:type="LineString",endEventType="polylinecomplete";break;case WPGMZA.DrawingManager.MODE_CIRCLE:type="Circle",endEventType="circlecomplete";break;case WPGMZA.DrawingManager.MODE_RECTANGLE:type="Circle",endEventType="rectanglecomplete";break;case WPGMZA.DrawingManager.MODE_HEATMAP:case WPGMZA.DrawingManager.MODE_POINTLABEL:return;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:type="Circle",endEventType="imageoverlaycomplete";break;default:throw new Error("Invalid drawing mode")}WPGMZA.mapEditPage&&WPGMZA.mapEditPage.selectInteraction&&WPGMZA.mapEditPage.map.olMap.removeInteraction(WPGMZA.mapEditPage.selectInteraction);var options={source:this.source,type:type};mode!=WPGMZA.DrawingManager.MODE_RECTANGLE&&mode!=WPGMZA.DrawingManager.MODE_IMAGEOVERLAY||(options.geometryFunction=ol.interaction.Draw.createBox()),this.interaction=new ol.interaction.Draw(options),this.interaction.on("drawend",function(event){if(endEventType){var WPGMZAEvent=new WPGMZA.Event(endEventType);switch(mode){case WPGMZA.DrawingManager.MODE_POLYGON:WPGMZAEvent.enginePolygon=event.feature;break;case WPGMZA.DrawingManager.MODE_POLYLINE:WPGMZAEvent.enginePolyline=event.feature;break;case WPGMZA.DrawingManager.MODE_CIRCLE:WPGMZAEvent.engineCircle=event.feature;break;case WPGMZA.DrawingManager.MODE_RECTANGLE:WPGMZAEvent.engineRectangle=event.feature;break;case WPGMZA.DrawingManager.MODE_IMAGEOVERLAY:WPGMZAEvent.engineImageoverlay={engineRectangle:event.feature};break;default:throw new Error("Drawing mode not implemented")}self.dispatchEvent(WPGMZAEvent)}}),this.map.olMap.addInteraction(this.interaction)}}),jQuery(function($){WPGMZA.OLFeature=function(options){WPGMZA.assertInstangeOf(this,"OLFeature"),WPGMZA.Feature.apply(this,arguments)},WPGMZA.extend(WPGMZA.OLFeature,WPGMZA.Feature),WPGMZA.OLFeature.getOLStyle=function(options){var translated={};if(!options)return new ol.style.Style;var name,opacity,weight,map={fillcolor:"fillColor",opacity:"fillOpacity",linecolor:"strokeColor",lineopacity:"strokeOpacity",linethickness:"strokeWeight"};for(name in options=$.extend({},options))name in map&&(options[map[name]]=options[name]);return options.strokeColor&&(weight=opacity=1,"strokeOpacity"in options&&(opacity=options.strokeOpacity),"strokeWeight"in options&&(weight=options.strokeWeight),translated.stroke=new ol.style.Stroke({color:WPGMZA.hexOpacityToString(options.strokeColor,opacity),width:weight})),options.fillColor&&(opacity=1,"fillOpacity"in options&&(opacity=options.fillOpacity),weight=WPGMZA.hexOpacityToString(options.fillColor,opacity),translated.fill=new ol.style.Fill({color:weight})),new ol.style.Style(translated)},WPGMZA.OLFeature.setInteractionsOnFeature=function(feature,enable){enable?feature.modifyInteraction||(feature.snapInteraction=new ol.interaction.Snap({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.snapInteraction),feature.modifyInteraction=new ol.interaction.Modify({source:feature.layer.getSource()}),feature.map.olMap.addInteraction(feature.modifyInteraction),feature.modifyInteraction.on("modifyend",function(event){feature.trigger("change")})):feature.modifyInteraction&&(feature.map&&(feature.map.olMap.removeInteraction(feature.snapInteraction),feature.map.olMap.removeInteraction(feature.modifyInteraction)),delete feature.snapInteraction,delete feature.modifyInteraction)}}),jQuery(function($){WPGMZA.OLGeocoder=function(){},WPGMZA.OLGeocoder.prototype=Object.create(WPGMZA.Geocoder.prototype),WPGMZA.OLGeocoder.prototype.constructor=WPGMZA.OLGeocoder,WPGMZA.OLGeocoder.prototype.getResponseFromCache=function(query,callback){WPGMZA.restAPI.call("/geocode-cache",{data:{query:JSON.stringify(query)},success:function(response,xhr,status){response.lng=response.lon,callback(response)},useCompressedPathVariable:!0})},WPGMZA.OLGeocoder.prototype.getResponseFromNominatim=function(options,callback){var data={q:options.address,format:"json"};options.componentRestrictions&&options.componentRestrictions.country?data.countrycodes=options.componentRestrictions.country:options.country&&(data.countrycodes=options.country),$.ajax("https://nominatim.openstreetmap.org/search/",{data:data,success:function(response,xhr,status){callback(response)},error:function(response,xhr,status){callback(null,WPGMZA.Geocoder.FAIL)}})},WPGMZA.OLGeocoder.prototype.cacheResponse=function(query,response){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_store_nominatim_cache",query:JSON.stringify(query),response:JSON.stringify(response)},method:"POST"})},WPGMZA.OLGeocoder.prototype.clearCache=function(callback){$.ajax(WPGMZA.ajaxurl,{data:{action:"wpgmza_clear_nominatim_cache"},method:"POST",success:function(response){callback(response)}})},WPGMZA.OLGeocoder.prototype.getLatLngFromAddress=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.getAddressFromLatLng=function(options,callback){return WPGMZA.OLGeocoder.prototype.geocode(options,callback)},WPGMZA.OLGeocoder.prototype.geocode=function(options,callback){var latLng,finish,location,self=this;if(!options)throw new Error("Invalid options");if(WPGMZA.LatLng.REGEXP.test(options.address))return latLng=WPGMZA.LatLng.fromString(options.address),void callback([{geometry:{location:latLng},latLng:latLng,lat:latLng.lat,lng:latLng.lng}],WPGMZA.Geocoder.SUCCESS);if(options.location&&(options.latLng=new WPGMZA.LatLng(options.location)),options.address)location=options.address,finish=function(response,status){for(var i=0;i<response.length;i++)response[i].geometry={location:new WPGMZA.LatLng({lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)})},response[i].latLng={lat:parseFloat(response[i].lat),lng:parseFloat(response[i].lon)},response[i].bounds=new WPGMZA.LatLngBounds(new WPGMZA.LatLng({lat:response[i].boundingbox[1],lng:response[i].boundingbox[2]}),new WPGMZA.LatLng({lat:response[i].boundingbox[0],lng:response[i].boundingbox[3]})),response[i].lng=response[i].lon;callback(response,status)};else{if(!options.latLng)throw new Error("You must supply either a latLng or address");location=options.latLng.toString(),finish=function(response,status){var address=response[0].display_name;options.fullResult&&(address=response[0]),callback([address],status)}}var query={location:location,options:options};this.getResponseFromCache(query,function(response){response.length?finish(response,WPGMZA.Geocoder.SUCCESS):self.getResponseFromNominatim($.extend(options,{address:location}),function(response,status){status==WPGMZA.Geocoder.FAIL?callback(null,WPGMZA.Geocoder.FAIL):0==response.length?callback([],WPGMZA.Geocoder.ZERO_RESULTS):(finish(response,WPGMZA.Geocoder.SUCCESS),self.cacheResponse(query,response))})})}}),jQuery(function($){var Parent;WPGMZA.OLInfoWindow=function(feature){var self=this;Parent.call(this,feature),this.element=$("<div class='wpgmza-infowindow ol-info-window-container ol-info-window-plain'></div>")[0],$(this.element).on("click",".ol-info-window-close",function(event){self.close()})},Parent=WPGMZA.isProVersion()?WPGMZA.ProInfoWindow:WPGMZA.InfoWindow,WPGMZA.OLInfoWindow.prototype=Object.create(Parent.prototype),WPGMZA.OLInfoWindow.prototype.constructor=WPGMZA.OLInfoWindow,Object.defineProperty(WPGMZA.OLInfoWindow.prototype,"isPanIntoViewAllowed",{get:function(){return!0}}),WPGMZA.OLInfoWindow.prototype.open=function(map,feature){var self=this,latLng=feature.getPosition();return!!latLng&&(!!Parent.prototype.open.call(this,map,feature)&&(this.parent=map,this.overlay&&this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=new ol.Overlay({element:this.element,stopEvent:!0,insertFirst:!0}),this.overlay.setPosition(ol.proj.fromLonLat([latLng.lng,latLng.lat])),self.feature.map.olMap.addOverlay(this.overlay),$(this.element).show(),this.setContent(this.content),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&WPGMZA.getImageDimensions(feature.getIcon(),function(size){$(self.element).css({left:Math.round(size.width/2)+"px"})}),this.autoResize(),this.trigger("infowindowopen"),void this.trigger("domready")))},WPGMZA.OLInfoWindow.prototype.close=function(event){this.overlay&&($(this.element).hide(),WPGMZA.InfoWindow.prototype.close.call(this),this.trigger("infowindowclose"),this.feature.map.olMap.removeOverlay(this.overlay),this.overlay=null)},WPGMZA.OLInfoWindow.prototype.setContent=function(html){Parent.prototype.setContent.call(this,html),this.content=html;var eaBtn=WPGMZA.isProVersion()?"":this.addEditButton();$(this.element).html(eaBtn+"<i class='fa fa-times ol-info-window-close' aria-hidden='true'></i>"+html)},WPGMZA.OLInfoWindow.prototype.setOptions=function(options){options.maxWidth&&$(this.element).css({"max-width":options.maxWidth+"px"})},WPGMZA.OLInfoWindow.prototype.onOpen=function(){var self=this,imgs=$(this.element).find("img"),numImages=imgs.length,numImagesLoaded=0;WPGMZA.InfoWindow.prototype.onOpen.apply(this,arguments);let canAutoPan=!0;function inside(el,viewport){el=$(el)[0].getBoundingClientRect(),viewport=$(viewport)[0].getBoundingClientRect();return el.left>=viewport.left&&el.left<=viewport.right&&el.right<=viewport.right&&el.right>=viewport.left&&el.top>=viewport.top&&el.top<=viewport.bottom&&el.bottom<=viewport.bottom&&el.bottom>=viewport.top}function panIntoView(){var height=$(self.element).height();self.feature.map.animateNudge(0,.45*-(height+180),self.feature.getPosition())}void 0!==this.feature._osDisableAutoPan&&this.feature._osDisableAutoPan&&(canAutoPan=!1,this.feature._osDisableAutoPan=!1),this.isPanIntoViewAllowed&&canAutoPan&&(imgs.each(function(index,el){el.onload=function(){++numImagesLoaded!=numImages||inside(self.element,self.feature.map.element)||panIntoView()}}),0!=numImages||inside(self.element,self.feature.map.element)||panIntoView())},WPGMZA.OLInfoWindow.prototype.autoResize=function(){var mapWidth,mapHeight;$(this.element).css("max-height","none"),$(this.feature.map.element).length&&(mapHeight=$(this.feature.map.element).height(),mapWidth=$(this.feature.map.element).width(),mapHeight=mapHeight-180,$(this.element).height()>mapHeight&&$(this.element).css("max-height",mapHeight+"px"),mapHeight=648<mapWidth?648:mapWidth-120,$(this.element).width()>mapHeight&&$(this.element).css("max-width",mapHeight+"px"))}}),jQuery(function($){var Parent;WPGMZA.OLMap=function(element,options){var self=this,options=(Parent.call(this,element),this.setOptions(options),this.settings.toOLViewOptions());if($(this.element).html(""),this.olMap=new ol.Map({target:$(element)[0],layers:[this.getTileLayer()],view:this.getTileView(options)}),this.customTileMode&&!ol.extent.containsCoordinate(this.customTileModeExtent,this.olMap.getView().getCenter())){const view=this.olMap.getView();view.setCenter(ol.extent.getCenter(this.customTileModeExtent)),this.wrapLongitude(),this.onBoundsChanged()}function isSettingDisabled(value){return"yes"===value||!!value}this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_draggable)):interaction instanceof ol.interaction.DoubleClickZoom?interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_clickzoom)):interaction instanceof ol.interaction.MouseWheelZoom&&interaction.setActive(!isSettingDisabled(self.settings.wpgmza_settings_map_scroll))},this),"greedy"!=this.settings.wpgmza_force_greedy_gestures&&"yes"!=this.settings.wpgmza_force_greedy_gestures&&1!=this.settings.wpgmza_force_greedy_gestures&&(this.gestureOverlay=$("<div class='wpgmza-gesture-overlay'></div>"),this.gestureOverlayTimeoutID=null,WPGMZA.isTouchDevice()?(this.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&self.olMap.removeInteraction(interaction)}),this.olMap.addInteraction(new ol.interaction.DragPan({condition:function(olBrowserEvent){let allowed=!1;olBrowserEvent=olBrowserEvent.originalEvent;return olBrowserEvent instanceof PointerEvent?this.targetPointers&&this.targetPointers.length&&(allowed=2==this.targetPointers.length):olBrowserEvent instanceof TouchEvent&&olBrowserEvent.touches&&olBrowserEvent.touches.length&&(allowed=2==olBrowserEvent.touches.length),allowed||self.showGestureOverlay(),allowed}})),this.gestureOverlay.text(WPGMZA.localized_strings.use_two_fingers)):(this.olMap.on("wheel",function(event){if(!ol.events.condition.platformModifierKeyOnly(event))return self.showGestureOverlay(),event.originalEvent.preventDefault(),!1}),this.gestureOverlay.text(WPGMZA.localized_strings.use_ctrl_scroll_to_zoom))),this.olMap.getControls().forEach(function(control){control instanceof ol.control.Zoom&&1==WPGMZA.settings.wpgmza_settings_map_zoom&&self.olMap.removeControl(control)},this),isSettingDisabled(WPGMZA.settings.wpgmza_settings_map_full_screen_control)||this.olMap.addControl(new ol.control.FullScreen),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(this.markerLayer=new ol.layer.Vector({source:new ol.source.Vector({features:[]})}),this.olMap.addLayer(this.markerLayer),this.olMap.on("click",function(event){var event=self.olMap.getFeaturesAtPixel(event.pixel);event&&event.length&&((event=event[0].wpgmzaMarker)&&(event.trigger("click"),event.trigger("select")))})),this.olMap.on("movestart",function(event){self.isBeingDragged=!0}),this.olMap.on("moveend",function(event){self.wrapLongitude(),self.isBeingDragged=!1,self.dispatchEvent("dragend"),self.onIdle()}),this.olMap.getView().on("change:resolution",function(event){self.dispatchEvent("zoom_changed"),self.dispatchEvent("zoomchanged"),setTimeout(function(){self.onIdle()},10)}),this.olMap.getView().on("change",function(){self.onBoundsChanged()}),self.onBoundsChanged(),this._mouseoverNativeFeatures=[],this.olMap.on("pointermove",function(event){if(!event.dragging){try{var featuresUnderPixel=event.target.getFeaturesAtPixel(event.pixel)}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),-1==self._mouseoverNativeFeatures.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseover"),self._mouseoverNativeFeatures.push(nativeFeature)));for(i=self._mouseoverNativeFeatures.length-1;0<=i;i--)nativeFeature=self._mouseoverNativeFeatures[i],-1==nativeFeaturesUnderPixel.indexOf(nativeFeature)&&(nativeFeature.trigger("mouseout"),self._mouseoverNativeFeatures.splice(i,1))}}),$(this.element).on("click contextmenu",function(event){event=event||window.event;var isRight,latLng=self.pixelsToLatLng(event.offsetX,event.offsetY);if("which"in event?isRight=3==event.which:"button"in event&&(isRight=2==event.button),1==event.which||1==event.button){if(self.isBeingDragged)return;if($(event.target).closest(".ol-marker").length)return;try{var featuresUnderPixel=self.olMap.getFeaturesAtPixel([event.offsetX,event.offsetY])}catch(e){return}for(var props,featuresUnderPixel=featuresUnderPixel||[],nativeFeaturesUnderPixel=[],i=0;i<featuresUnderPixel.length;i++)(props=featuresUnderPixel[i].getProperties()).wpgmzaFeature&&(nativeFeature=props.wpgmzaFeature,nativeFeaturesUnderPixel.push(nativeFeature),nativeFeature.trigger("click"));return 0<featuresUnderPixel.length?void 0:void self.trigger({type:"click",latLng:latLng})}if(isRight)return self.onRightClick(event)}),WPGMZA.isProVersion()||(this.trigger("init"),this.dispatchEvent("created"),WPGMZA.events.dispatchEvent({type:"mapcreated",map:this}),$(this.element).trigger("wpgooglemaps_loaded"))},Parent=WPGMZA.isProVersion()?WPGMZA.ProMap:WPGMZA.Map,WPGMZA.OLMap.prototype=Object.create(Parent.prototype),WPGMZA.OLMap.prototype.constructor=WPGMZA.OLMap,WPGMZA.OLMap.prototype.getTileLayer=function(){var options={};if(WPGMZA.settings.tile_server_url&&(options.url=WPGMZA.settings.tile_server_url,"custom_override"===WPGMZA.settings.tile_server_url&&(WPGMZA.settings.tile_server_url_override&&""!==WPGMZA.settings.tile_server_url_override.trim()?options.url=WPGMZA.settings.tile_server_url_override.trim():options.url="https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png"),WPGMZA.settings.open_layers_api_key&&""!==WPGMZA.settings.open_layers_api_key&&(options.url+="?apikey="+WPGMZA.settings.open_layers_api_key.trim())),this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height){var width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height);if(this.settings.custom_tile_image)return width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),new ol.layer.Image({source:new ol.source.ImageStatic({attributions:this.settings.custom_tile_image_attribution||"©",url:this.settings.custom_tile_image,projection:height,imageExtent:width})})}return new ol.layer.Tile({source:new ol.source.OSM(options)})},WPGMZA.OLMap.prototype.getTileView=function(viewOptions){var width,height;return this.settings&&this.settings.custom_tile_enabled&&this.settings.custom_tile_image_width&&this.settings.custom_tile_image_height&&(width=parseInt(this.settings.custom_tile_image_width),height=parseInt(this.settings.custom_tile_image_height),this.settings.custom_tile_image&&(width=[0,0,width,height],height=new ol.proj.Projection({code:"custom-tile-map",units:"pixels",extent:width}),viewOptions.projection=height,this.customTileModeExtent=width,this.customTileMode=!0)),new ol.View(viewOptions)},WPGMZA.OLMap.prototype.wrapLongitude=function(){var transformed=ol.proj.transform(this.olMap.getView().getCenter(),"EPSG:3857","EPSG:4326"),transformed={lat:transformed[1],lng:transformed[0]};-180<=transformed.lng&&transformed.lng<=180||(transformed.lng=transformed.lng-360*Math.floor(transformed.lng/360),180<transformed.lng&&(transformed.lng-=360),this.setCenter(transformed))},WPGMZA.OLMap.prototype.getCenter=function(){var lonLat=ol.proj.toLonLat(this.olMap.getView().getCenter());return{lat:lonLat[1],lng:lonLat[0]}},WPGMZA.OLMap.prototype.setCenter=function(latLng){var view=this.olMap.getView();WPGMZA.Map.prototype.setCenter.call(this,latLng),view.setCenter(ol.proj.fromLonLat([latLng.lng,latLng.lat])),this.wrapLongitude(),this.onBoundsChanged()},WPGMZA.OLMap.prototype.getBounds=function(){var bounds=this.olMap.getView().calculateExtent(this.olMap.getSize()),nativeBounds=new WPGMZA.LatLngBounds,topLeft=ol.proj.toLonLat([bounds[0],bounds[1]]),bounds=ol.proj.toLonLat([bounds[2],bounds[3]]);return nativeBounds.north=topLeft[1],nativeBounds.south=bounds[1],nativeBounds.west=topLeft[0],nativeBounds.east=bounds[0],nativeBounds},WPGMZA.OLMap.prototype.fitBounds=function(southWest,northEast){southWest instanceof WPGMZA.LatLng&&(southWest={lat:southWest.lat,lng:southWest.lng}),northEast instanceof WPGMZA.LatLng?northEast={lat:northEast.lat,lng:northEast.lng}:southWest instanceof WPGMZA.LatLngBounds&&(southWest={lat:(bounds=southWest).south,lng:bounds.west},northEast={lat:bounds.north,lng:bounds.east});var bounds=this.olMap.getView(),southWest=ol.extent.boundingExtent([ol.proj.fromLonLat([parseFloat(southWest.lng),parseFloat(southWest.lat)]),ol.proj.fromLonLat([parseFloat(northEast.lng),parseFloat(northEast.lat)])]);bounds.fit(southWest,this.olMap.getSize())},WPGMZA.OLMap.prototype.panTo=function(latLng,zoom){var view=this.olMap.getView(),options={center:ol.proj.fromLonLat([parseFloat(latLng.lng),parseFloat(latLng.lat)]),duration:500};1<arguments.length&&(options.zoom=parseInt(zoom)),view.animate(options)},WPGMZA.OLMap.prototype.getZoom=function(){return Math.round(this.olMap.getView().getZoom())},WPGMZA.OLMap.prototype.setZoom=function(value){this.olMap.getView().setZoom(value)},WPGMZA.OLMap.prototype.getMinZoom=function(){return this.olMap.getView().getMinZoom()},WPGMZA.OLMap.prototype.setMinZoom=function(value){this.olMap.getView().setMinZoom(value)},WPGMZA.OLMap.prototype.getMaxZoom=function(){return this.olMap.getView().getMaxZoom()},WPGMZA.OLMap.prototype.setMaxZoom=function(value){this.olMap.getView().setMaxZoom(value)},WPGMZA.OLMap.prototype.setOptions=function(options){Parent.prototype.setOptions.call(this,options),this.olMap&&this.olMap.getView().setProperties(this.settings.toOLViewOptions())},WPGMZA.OLMap.prototype.addMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.addOverlay(marker.overlay):(this.markerLayer.getSource().addFeature(marker.feature),marker.featureInSource=!0),Parent.prototype.addMarker.call(this,marker)},WPGMZA.OLMap.prototype.removeMarker=function(marker){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT?this.olMap.removeOverlay(marker.overlay):(this.markerLayer.getSource().removeFeature(marker.feature),marker.featureInSource=!1),Parent.prototype.removeMarker.call(this,marker)},WPGMZA.OLMap.prototype.addPolygon=function(polygon){this.olMap.addLayer(polygon.layer),Parent.prototype.addPolygon.call(this,polygon)},WPGMZA.OLMap.prototype.removePolygon=function(polygon){this.olMap.removeLayer(polygon.layer),Parent.prototype.removePolygon.call(this,polygon)},WPGMZA.OLMap.prototype.addPolyline=function(polyline){this.olMap.addLayer(polyline.layer),Parent.prototype.addPolyline.call(this,polyline)},WPGMZA.OLMap.prototype.removePolyline=function(polyline){this.olMap.removeLayer(polyline.layer),Parent.prototype.removePolyline.call(this,polyline)},WPGMZA.OLMap.prototype.addCircle=function(circle){this.olMap.addLayer(circle.layer),Parent.prototype.addCircle.call(this,circle)},WPGMZA.OLMap.prototype.removeCircle=function(circle){this.olMap.removeLayer(circle.layer),Parent.prototype.removeCircle.call(this,circle)},WPGMZA.OLMap.prototype.addRectangle=function(rectangle){this.olMap.addLayer(rectangle.layer),Parent.prototype.addRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.removeRectangle=function(rectangle){this.olMap.removeLayer(rectangle.layer),Parent.prototype.removeRectangle.call(this,rectangle)},WPGMZA.OLMap.prototype.pixelsToLatLng=function(x,y){null==y&&("x"in x&&"y"in x?(y=x.y,x=x.x):console.warn("Y coordinate undefined in pixelsToLatLng (did you mean to pass 2 arguments?)"));x=this.olMap.getCoordinateFromPixel([x,y]);if(!x)return{x:null,y:null};y=ol.proj.toLonLat(x);return{lat:y[1],lng:y[0]}},WPGMZA.OLMap.prototype.latLngToPixels=function(latLng){latLng=ol.proj.fromLonLat([latLng.lng,latLng.lat]),latLng=this.olMap.getPixelFromCoordinate(latLng);return latLng?{x:latLng[0],y:latLng[1]}:{x:null,y:null}},WPGMZA.OLMap.prototype.enableBicycleLayer=function(value){value?(this.bicycleLayer||(this.bicycleLayer=new ol.layer.Tile({source:new ol.source.OSM({url:"http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png"})})),this.olMap.addLayer(this.bicycleLayer)):this.bicycleLayer&&this.olMap.removeLayer(this.bicycleLayer)},WPGMZA.OLMap.prototype.showGestureOverlay=function(){var self=this;clearTimeout(this.gestureOverlayTimeoutID),$(this.gestureOverlay).stop().animate({opacity:"100"}),$(this.element).append(this.gestureOverlay),$(this.gestureOverlay).css({"line-height":$(this.element).height()+"px",opacity:"1.0"}),$(this.gestureOverlay).show(),this.gestureOverlayTimeoutID=setTimeout(function(){self.gestureOverlay.fadeOut(2e3)},2e3)},WPGMZA.OLMap.prototype.onElementResized=function(event){this.olMap.updateSize()},WPGMZA.OLMap.prototype.onRightClick=function(event){if($(event.target).closest(".ol-marker, .wpgmza_modern_infowindow, .wpgmza-modern-store-locator").length)return!0;var parentOffset=$(this.element).offset(),relX=event.pageX-parentOffset.left,parentOffset=event.pageY-parentOffset.top,relX=this.pixelsToLatLng(relX,parentOffset);return this.trigger({type:"rightclick",latLng:relX}),$(this.element).trigger({type:"rightclick",latLng:relX}),event.preventDefault(),!1},WPGMZA.OLMap.prototype.enableAllInteractions=function(){this.olMap.getInteractions().forEach(function(interaction){(interaction instanceof ol.interaction.DragPan||interaction instanceof ol.interaction.DoubleClickZoom||interaction instanceof ol.interaction.MouseWheelZoom)&&interaction.setActive(!0)},this)}}),jQuery(function($){var Parent;WPGMZA.OLMarker=function(options){var self=this,settings=(Parent.call(this,options),{});if(options)for(var name in options)options[name]instanceof WPGMZA.LatLng?settings[name]=options[name].toLatLngLiteral():options[name]instanceof WPGMZA.Map||(settings[name]=options[name]);var origin=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT){var img=$("<img alt=''/>")[0];img.onload=function(event){self.updateElementHeight(),self.map&&self.map.olMap.updateSize()},img.src=WPGMZA.defaultMarkerIcon,this.element=$("<div class='ol-marker'></div>")[0],this.element.appendChild(img),this.element.wpgmzaMarker=this,$(this.element).on("mouseover",function(event){self.dispatchEvent("mouseover")}),$(this.element).on("mouseout",function(event){self.dispatchEvent("mouseout")}),this.overlay=new ol.Overlay({element:this.element,position:origin,positioning:"bottom-center",stopEvent:!1}),this.overlay.setPosition(origin),this.animation?this.setAnimation(this.animation):this.anim&&this.setAnimation(this.anim),options&&options.draggable&&this.setDraggable(!0),this.rebindClickListener()}else{if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)throw new Error("Invalid marker render mode");this.feature=new ol.Feature({geometry:new ol.geom.Point(origin)}),this.feature.setStyle(this.getVectorLayerStyle()),(this.feature.wpgmzaMarker=this).feature.wpgmzaFeature=this}this.setOptions(settings),this.trigger("init")},Parent=WPGMZA.isProVersion()?WPGMZA.ProMarker:WPGMZA.Marker,WPGMZA.OLMarker.prototype=Object.create(Parent.prototype),WPGMZA.OLMarker.prototype.constructor=WPGMZA.OLMarker,WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT="element",WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER="vector",WPGMZA.OLMarker.renderMode=WPGMZA.OLMarker.RENDER_MODE_HTML_ELEMENT,"open-layers"==WPGMZA.settings.engine&&WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER&&(WPGMZA.OLMarker.defaultVectorLayerStyle=new ol.style.Style({image:new ol.style.Icon({anchor:[.5,1],src:WPGMZA.defaultMarkerIcon})}),WPGMZA.OLMarker.hiddenVectorLayerStyle=new ol.style.Style({})),WPGMZA.OLMarker.prototype.getVectorLayerStyle=function(){return this.vectorLayerStyle||WPGMZA.OLMarker.defaultVectorLayerStyle},WPGMZA.OLMarker.prototype.updateElementHeight=function(height,calledOnFocus){var self=this;0!=(height=height||$(this.element).find("img").height())||calledOnFocus||$(window).one("focus",function(event){self.updateElementHeight(!1,!0)}),$(this.element).css({height:height+"px"})},WPGMZA.OLMarker.prototype.addLabel=function(){this.setLabel(this.getLabelText())},WPGMZA.OLMarker.prototype.setLabel=function(label){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker labels are not currently supported in Vector Layer rendering mode"):label?(this.label||(this.label=$("<div class='ol-marker-label'/>"),$(this.element).append(this.label)),this.label.html(label)):this.label&&$(this.element).find(".ol-marker-label").remove()},WPGMZA.OLMarker.prototype.getVisible=function(visible){if(WPGMZA.OLMarker.renderMode!=WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)return"none"!=this.overlay.getElement().style.display},WPGMZA.OLMarker.prototype.setVisible=function(visible){var style;Parent.prototype.setVisible.call(this,visible),WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?visible?(style=this.getVectorLayerStyle(),this.feature.setStyle(style)):this.feature.setStyle(null):this.overlay.getElement().style.display=visible?"block":"none"},WPGMZA.OLMarker.prototype.setPosition=function(latLng){Parent.prototype.setPosition.call(this,latLng);latLng=ol.proj.fromLonLat([parseFloat(this.lng),parseFloat(this.lat)]);WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?this.feature.setGeometry(new ol.geom.Point(latLng)):this.overlay.setPosition(latLng)},WPGMZA.OLMarker.prototype.updateOffset=function(x,y){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker offset is not currently supported in Vector Layer rendering mode"):(x=this._offset.x,y=this._offset.y,this.element.style.position="relative",this.element.style.left=x+"px",this.element.style.top=y+"px")},WPGMZA.OLMarker.prototype.setAnimation=function(anim){if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker animation is not currently supported in Vector Layer rendering mode");else switch(Parent.prototype.setAnimation.call(this,anim),anim){case WPGMZA.Marker.ANIMATION_NONE:$(this.element).removeAttr("data-anim");break;case WPGMZA.Marker.ANIMATION_BOUNCE:$(this.element).attr("data-anim","bounce");break;case WPGMZA.Marker.ANIMATION_DROP:$(this.element).attr("data-anim","drop")}},WPGMZA.OLMarker.prototype.setDraggable=function(draggable){var self=this;if(WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER)console.warn("Marker dragging is not currently supported in Vector Layer rendering mode");else if(draggable){draggable={disabled:!1};this.jQueryDraggableInitialized||(draggable.start=function(event){self.onDragStart(event)},draggable.stop=function(event){self.onDragEnd(event)});try{$(this.element).draggable(draggable),this.jQueryDraggableInitialized=!0,this.rebindClickListener()}catch(ex){}}else $(this.element).draggable({disabled:!0})},WPGMZA.OLMarker.prototype.setOpacity=function(opacity){WPGMZA.OLMarker.renderMode==WPGMZA.OLMarker.RENDER_MODE_VECTOR_LAYER?console.warn("Marker opacity is not currently supported in Vector Layer rendering mode"):$(this.element).css({opacity:opacity})},WPGMZA.OLMarker.prototype.onDragStart=function(event){this.isBeingDragged=!0,this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!1)})},WPGMZA.OLMarker.prototype.onDragEnd=function(event){var offset_top=parseFloat($(this.element).css("top").match(/-?\d+/)[0]),offset_left=parseFloat($(this.element).css("left").match(/-?\d+/)[0]),currentLatLng=($(this.element).css({top:"0px",left:"0px"}),this.getPosition()),currentLatLng=this.map.latLngToPixels(currentLatLng),offset_left={x:currentLatLng.x+offset_left,y:currentLatLng.y+offset_top},currentLatLng=this.map.pixelsToLatLng(offset_left);this.setPosition(currentLatLng),this.isBeingDragged=!1,this.trigger({type:"dragend",latLng:currentLatLng}),this.trigger("change"),"yes"!=this.map.settings.wpgmza_settings_map_draggable&&this.map.olMap.getInteractions().forEach(function(interaction){interaction instanceof ol.interaction.DragPan&&interaction.setActive(!0)})},WPGMZA.OLMarker.prototype.onElementClick=function(event){event=event.currentTarget.wpgmzaMarker;event.isBeingDragged||(event.dispatchEvent("click"),event.dispatchEvent("select"))},WPGMZA.OLMarker.prototype.rebindClickListener=function(){$(this.element).off("click",this.onElementClick),$(this.element).on("click",this.onElementClick)}}),jQuery(function($){WPGMZA.OLModernStoreLocatorCircle=function(map,settings){WPGMZA.ModernStoreLocatorCircle.call(this,map,settings)},WPGMZA.OLModernStoreLocatorCircle.prototype=Object.create(WPGMZA.ModernStoreLocatorCircle.prototype),WPGMZA.OLModernStoreLocatorCircle.prototype.constructor=WPGMZA.OLModernStoreLocatorCircle,WPGMZA.OLModernStoreLocatorCircle.prototype.initCanvasLayer=function(){var self=this,olViewportElement=$(this.map.element).children(".ol-viewport");this.canvas=document.createElement("canvas"),this.canvas.className="wpgmza-ol-canvas-overlay",olViewportElement.find(".ol-layers .ol-layer:first-child").prepend(this.canvas),this.renderFunction=function(event){self.canvas.width==olViewportElement.width()&&self.canvas.height==olViewportElement.height()||(self.canvas.width=olViewportElement.width(),self.canvas.height=olViewportElement.height(),$(this.canvas).css({width:olViewportElement.width()+"px",height:olViewportElement.height()+"px"})),self.draw()},this.map.olMap.on("postrender",this.renderFunction)},WPGMZA.OLModernStoreLocatorCircle.prototype.getContext=function(type){return this.canvas.getContext(type)},WPGMZA.OLModernStoreLocatorCircle.prototype.getCanvasDimensions=function(){return{width:this.canvas.width,height:this.canvas.height}},WPGMZA.OLModernStoreLocatorCircle.prototype.getCenterPixels=function(){return this.map.latLngToPixels(this.settings.center)},WPGMZA.OLModernStoreLocatorCircle.prototype.getWorldOriginOffset=function(){return{x:0,y:0}},WPGMZA.OLModernStoreLocatorCircle.prototype.getTransformedRadius=function(km){var center=new WPGMZA.LatLng(this.settings.center),outer=new WPGMZA.LatLng(center),km=(outer.moveByDistance(km,90),this.map.latLngToPixels(center)),center=this.map.latLngToPixels(outer);return Math.abs(center.x-km.x)},WPGMZA.OLModernStoreLocatorCircle.prototype.getScale=function(){return 1},WPGMZA.OLModernStoreLocatorCircle.prototype.destroy=function(){$(this.canvas).remove(),this.map.olMap.un("postrender",this.renderFunction),this.map=null,this.canvas=null}}),jQuery(function($){WPGMZA.OLModernStoreLocator=function(map_id){WPGMZA.ModernStoreLocator.call(this,map_id),(WPGMZA.isProVersion()?$(".wpgmza_map[data-map-id='"+map_id+"']"):$("#wpgmza_map")).append(this.element)},WPGMZA.OLModernStoreLocator.prototype=Object.create(WPGMZA.ModernStoreLocator),WPGMZA.OLModernStoreLocator.prototype.constructor=WPGMZA.OLModernStoreLocator}),jQuery(function($){var Parent=WPGMZA.Pointlabel;WPGMZA.OLPointlabel=function(options,pointFeature){Parent.call(this,options,pointFeature),pointFeature&&pointFeature.textFeature?this.textFeature=pointFeature.textFeature:this.textFeature=new WPGMZA.Text.createInstance({text:"",map:this.map,position:this.getPosition()}),this.updateNativeFeature()},Parent=WPGMZA.isProVersion()?WPGMZA.ProPointlabel:WPGMZA.Pointlabel,WPGMZA.extend(WPGMZA.OLPointlabel,Parent),WPGMZA.OLPointlabel.prototype.updateNativeFeature=function(){var options=this.getScalarProperties();options.name&&this.textFeature.setText(options.name),this.textFeature.refresh()}}),jQuery(function($){var Parent;WPGMZA.OLPolygon=function(options,olFeature){if(Parent.call(this,options,olFeature),olFeature)this.olFeature=olFeature;else{var coordinates=[[]];if(options&&options.polydata)for(var paths=this.parseGeometry(options.polydata),i=0;i<=paths.length;i++)coordinates[0].push(ol.proj.fromLonLat([parseFloat(paths[i%paths.length].lng),parseFloat(paths[i%paths.length].lat)]));this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolygon:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.isProVersion()?WPGMZA.ProPolygon:WPGMZA.Polygon,WPGMZA.OLPolygon.prototype=Object.create(Parent.prototype),WPGMZA.OLPolygon.prototype.constructor=WPGMZA.OLPolygon,WPGMZA.OLPolygon.prototype.getGeometry=function(){for(var coordinates=this.olFeature.getGeometry().getCoordinates()[0],result=[],i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolygon.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent;WPGMZA.OLPolyline=function(options,olFeature){if(WPGMZA.Polyline.call(this,options),olFeature)this.olFeature=olFeature;else{var coordinates=[];if(options&&options.polydata)for(var path=this.parseGeometry(options.polydata),i=0;i<path.length;i++){if(!$.isNumeric(path[i].lat))throw new Error("Invalid latitude");if(!$.isNumeric(path[i].lng))throw new Error("Invalid longitude");coordinates.push(ol.proj.fromLonLat([parseFloat(path[i].lng),parseFloat(path[i].lat)]))}this.olFeature=new ol.Feature({geometry:new ol.geom.LineString(coordinates)})}this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]})}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaPolyline:this,wpgmzaFeature:this}),options&&this.setOptions(options)},Parent=WPGMZA.Polyline,WPGMZA.OLPolyline.prototype=Object.create(Parent.prototype),WPGMZA.OLPolyline.prototype.constructor=WPGMZA.OLPolyline,WPGMZA.OLPolyline.prototype.getGeometry=function(){for(var result=[],coordinates=this.olFeature.getGeometry().getCoordinates(),i=0;i<coordinates.length;i++){var lonLat=ol.proj.toLonLat(coordinates[i]),lonLat={lat:lonLat[1],lng:lonLat[0]};result.push(lonLat)}return result},WPGMZA.OLPolyline.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){var Parent=WPGMZA.Rectangle;WPGMZA.OLRectangle=function(options,olFeature){var coordinates;Parent.apply(this,arguments),olFeature?this.olFeature=olFeature:(coordinates=[[]],options.cornerA&&options.cornerB&&(coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerA.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerB.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerB.lat)])),coordinates[0].push(ol.proj.fromLonLat([parseFloat(options.cornerA.lng),parseFloat(options.cornerA.lat)]))),this.olFeature=new ol.Feature({geometry:new ol.geom.Polygon(coordinates)})),this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.olStyle}),this.layer.getSource().getFeatures()[0].setProperties({wpgmzaRectangle:this,wpgmzaFeature:this}),options&&this.setOptions(options)},WPGMZA.isProVersion()&&(Parent=WPGMZA.ProRectangle),WPGMZA.extend(WPGMZA.OLRectangle,Parent),WPGMZA.OLRectangle.prototype.getBounds=function(){var extent=this.olFeature.getGeometry().getExtent(),topLeft=ol.extent.getTopLeft(extent),extent=ol.extent.getBottomRight(extent),topLeft=ol.proj.toLonLat(topLeft),extent=ol.proj.toLonLat(extent),topLeft=new WPGMZA.LatLng(topLeft[1],topLeft[0]),extent=new WPGMZA.LatLng(extent[1],extent[0]);return new WPGMZA.LatLngBounds(topLeft,extent)},WPGMZA.OLRectangle.prototype.setOptions=function(options){Parent.prototype.setOptions.apply(this,arguments),"editable"in options&&WPGMZA.OLFeature.setInteractionsOnFeature(this,options.editable)}}),jQuery(function($){WPGMZA.OLText=function(options){WPGMZA.Text.apply(this,arguments),this.overlay=new WPGMZA.OLTextOverlay(options)},WPGMZA.extend(WPGMZA.OLText,WPGMZA.Text),WPGMZA.OLText.prototype.refresh=function(){this.overlay&&this.overlay.refresh()}}),jQuery(function($){WPGMZA.OLTextOverlay=function(options){var coords;options.position&&options.map&&(coords=ol.proj.fromLonLat([options.position.lng,options.position.lat]),this.olFeature=new ol.Feature({geometry:new ol.geom.Point(coords)}),this.styleOptions=options||{},this.layer=new ol.layer.Vector({source:new ol.source.Vector({features:[this.olFeature]}),style:this.getStyle()}),this.layer.setZIndex(10),options.map.olMap.addLayer(this.layer))},WPGMZA.OLTextOverlay.prototype.getStyle=function(){var i,defaults={fontSize:11,fillColor:"#000000",strokeColor:"#ffffff"};for(i in defaults)void 0===this.styleOptions[i]&&(this.styleOptions[i]=defaults[i]);let labelStyles=new ol.style.Style({text:new ol.style.Text({font:"bold "+this.styleOptions.fontSize+'px "Open Sans", "Arial Unicode MS", "sans-serif"',placement:"point",fill:new ol.style.Fill({color:this.styleOptions.fillColor}),stroke:new ol.style.Stroke({color:this.styleOptions.strokeColor,width:1})})});return labelStyles.getText().setText(this.styleOptions.text||""),labelStyles},WPGMZA.OLTextOverlay.prototype.refresh=function(){this.layer&&this.layer.setStyle(this.getStyle())},WPGMZA.OLTextOverlay.prototype.setPosition=function(position){this.olFeature&&(position=ol.proj.fromLonLat([parseFloat(position.lng),parseFloat(position.lat)]),this.olFeature.setGeometry(new ol.geom.Point(position)))},WPGMZA.OLTextOverlay.prototype.setText=function(text){this.styleOptions.text=text},WPGMZA.OLTextOverlay.prototype.setFontSize=function(size){size=parseInt(size),this.styleOptions.fontSize=size},WPGMZA.OLTextOverlay.prototype.setFillColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.fillColor=color},WPGMZA.OLTextOverlay.prototype.setLineColor=function(color){color.match(/^#/)||(color="#"+color),this.styleOptions.strokeColor=color},WPGMZA.OLTextOverlay.prototype.setOpacity=function(opacity){1<(opacity=parseFloat(opacity))?opacity=1:opacity<0&&(opacity=0),this.layer&&this.layer.setOpacity(opacity)},WPGMZA.OLTextOverlay.prototype.remove=function(){this.styleOptions.map&&this.styleOptions.map.olMap.removeLayer(this.layer)}}),jQuery(function($){WPGMZA.OLThemeEditor=function(){var self=this;WPGMZA.EventDispatcher.call(this),this.element=$("#wpgmza-ol-theme-editor"),this.element.length?(this.mapElement=WPGMZA.maps[0].element,$(this.element).find('input[name="wpgmza_ol_tile_filter"]').on("change",function(event){self.onFilterChange(event.currentTarget)})):console.warn("No element to initialise theme editor on")},WPGMZA.extend(WPGMZA.OLThemeEditor,WPGMZA.EventDispatcher),WPGMZA.OLThemeEditor.prototype.onFilterChange=function(context){context instanceof HTMLInputElement&&(context=$(context).val(),this.mapElement&&$(this.mapElement).css("--wpgmza-ol-tile-filter",context))}}),jQuery(function($){WPGMZA.OLThemePanel=function(){var self=this;this.element=$("#wpgmza-ol-theme-panel"),this.map=WPGMZA.maps[0],this.element.length?(this.element.on("click","#wpgmza-theme-presets label, .theme-selection-panel label",function(event){self.onThemePresetClick(event)}),WPGMZA.OLThemePanel=this):console.warn("No element to initialise theme panel on")},WPGMZA.OLThemePanel.prototype.onThemePresetClick=function(event){if(event.currentTarget){const element=$(event.currentTarget);event=element.data("filter");if(event&&$('input[name="wpgmza_ol_tile_filter"]').length){const input=$('input[name="wpgmza_ol_tile_filter"]').get(0);input.wpgmzaCSSFilterInput&&input.wpgmzaCSSFilterInput.parseFilters(event)}}}}),jQuery(function($){WPGMZA.DataTable=function(element){var version,self=this;if(!$.fn.dataTable)return console.warn("The dataTables library is not loaded. Cannot create a dataTable. Did you enable 'Do not enqueue dataTables'?"),void(WPGMZA.settings.wpgmza_do_not_enqueue_datatables&&WPGMZA.getCurrentPage()==WPGMZA.PAGE_MAP_EDIT&&alert("You have selected 'Do not enqueue DataTables' in WP Go Maps' settings. No 3rd party software is loading the DataTables library. Because of this, the marker table cannot load. Please uncheck this option to use the marker table."));$.fn.dataTable.ext?$.fn.dataTable.ext.errMode="throw":(version=$.fn.dataTable.version||"unknown",console.warn("You appear to be running an outdated or modified version of the dataTables library. This may cause issues with table functionality. This is usually caused by 3rd party software loading an older version of DataTables. The loaded version is "+version+", we recommend version 1.10.12 or above.")),$.fn.dataTable.Api&&$.fn.dataTable.Api.register("processing()",function(show){return this.iterator("table",function(ctx){ctx.oApi._fnProcessingDisplay(ctx,show)})}),this.element=element,(this.element.wpgmzaDataTable=this).dataTableElement=this.getDataTableElement();var settings=this.getDataTableSettings();this.phpClass=$(element).attr("data-wpgmza-php-class"),(this.wpgmzaDataTable=this).useCompressedPathVariable=WPGMZA.restAPI.isCompressedPathVariableSupported&&WPGMZA.settings.enable_compressed_path_variables,this.method=this.useCompressedPathVariable?"GET":"POST",null==this.getLanguageURL()||"//cdn.datatables.net/plug-ins/1.10.12/i18n/English.json"==this.getLanguageURL()?(this.dataTable=$(this.dataTableElement).DataTable(settings),this.dataTable.ajax.reload()):$.ajax(this.getLanguageURL(),{success:function(response,status,xhr){self.languageJSON=response,self.dataTable=$(self.dataTableElement).DataTable(settings),self.dataTable.ajax.reload()}})},WPGMZA.DataTable.prototype.getDataTableElement=function(){return $(this.element).find("table")},WPGMZA.DataTable.prototype.onAJAXRequest=function(data,settings){var params={phpClass:this.phpClass},attr=$(this.element).attr("data-wpgmza-ajax-parameters");return attr&&$.extend(params,JSON.parse(attr)),$.extend(data,params)},WPGMZA.DataTable.prototype.onDataTableAjaxRequest=function(data,callback,settings){var self=this,element=this.element,element=$(element).attr("data-wpgmza-rest-api-route"),data=this.onAJAXRequest(data,settings),draw=data.draw;if(delete data.draw,!element)throw new Error("No data-wpgmza-rest-api-route attribute specified");settings={method:"POST",useCompressedPathVariable:!0,data:data,dataType:"json",cache:!this.preventCaching,beforeSend:function(xhr){xhr.setRequestHeader("X-DataTables-Draw",draw)},success:function(response,status,xhr){response.draw=draw,self.lastResponse=response,callback(response),$("[data-marker-icon-src]").each(function(index,element){WPGMZA.MarkerIcon.createInstance($(element).attr("data-marker-icon-src")).applyToElement(element)})}};return WPGMZA.restAPI.call(element,settings)},WPGMZA.DataTable.prototype.getDataTableSettings=function(){var self=this,element=this.element,options={},element=((options=$(element).attr("data-wpgmza-datatable-options")?JSON.parse($(element).attr("data-wpgmza-datatable-options")):options).deferLoading=!0,options.processing=!0,options.serverSide=!0,options.ajax=function(data,callback,settings){return WPGMZA.DataTable.prototype.onDataTableAjaxRequest.apply(self,arguments)},WPGMZA.AdvancedTableDataTable&&this instanceof WPGMZA.AdvancedTableDataTable&&WPGMZA.settings.wpgmza_default_items&&(options.iDisplayLength=parseInt(WPGMZA.settings.wpgmza_default_items)),options.aLengthMenu=[[5,10,25,50,100,-1],["5","10","25","50","100",WPGMZA.localized_strings.all]],this.getLanguageURL());return element&&(options.language={url:element}),options},WPGMZA.DataTable.prototype.getLanguageURL=function(){if(!WPGMZA.locale)return null;var languageURL;switch(WPGMZA.locale.substr(0,2)){case"af":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Afrikaans.json";break;case"sq":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Albanian.json";break;case"am":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Amharic.json";break;case"ar":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Arabic.json";break;case"hy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Armenian.json";break;case"az":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Azerbaijan.json";break;case"bn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bangla.json";break;case"eu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Basque.json";break;case"be":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Belarusian.json";break;case"bg":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Bulgarian.json";break;case"ca":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Catalan.json";break;case"zh":languageURL="zh_TW"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Chinese-traditional.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Chinese.json";break;case"hr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Croatian.json";break;case"cs":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Czech.json";break;case"da":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Danish.json";break;case"nl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Dutch.json";break;case"et":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Estonian.json";break;case"fi":languageURL=WPGMZA.locale.match(/^fil/)?WPGMZA.pluginDirURL+"languages/datatables/Filipino.json":WPGMZA.pluginDirURL+"languages/datatables/Finnish.json";break;case"fr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/French.json";break;case"gl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Galician.json";break;case"ka":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Georgian.json";break;case"de":languageURL=WPGMZA.pluginDirURL+"languages/datatables/German.json";break;case"el":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Greek.json";break;case"gu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Gujarati.json";break;case"he":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hebrew.json";break;case"hi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hindi.json";break;case"hu":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Hungarian.json";break;case"is":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Icelandic.json";break;case"id":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Indonesian.json";break;case"ga":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Irish.json";break;case"it":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Italian.json";break;case"ja":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Japanese.json";break;case"kk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kazakh.json";break;case"ko":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Korean.json";break;case"ky":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Kyrgyz.json";break;case"lv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Latvian.json";break;case"lt":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Lithuanian.json";break;case"mk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Macedonian.json";break;case"ml":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Malay.json";break;case"mn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Mongolian.json";break;case"ne":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Nepali.json";break;case"nb":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Bokmal.json";break;case"nn":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Norwegian-Nynorsk.json";break;case"ps":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Pashto.json";break;case"fa":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Persian.json";break;case"pl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Polish.json";break;case"pt":languageURL="pt_BR"==WPGMZA.locale?WPGMZA.pluginDirURL+"languages/datatables/Portuguese-Brasil.json":"//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese.json";break;case"ro":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Romanian.json";break;case"ru":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Russian.json";break;case"sr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Serbian.json";break;case"si":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Sinhala.json";break;case"sk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovak.json";break;case"sl":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Slovenian.json";break;case"es":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Spanish.json";break;case"sw":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swahili.json";break;case"sv":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Swedish.json";break;case"ta":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Tamil.json";break;case"te":languageURL=WPGMZA.pluginDirURL+"languages/datatables/telugu.json";break;case"th":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Thai.json";break;case"tr":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Turkish.json";break;case"uk":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Ukrainian.json";break;case"ur":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Urdu.json";break;case"uz":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Uzbek.json";break;case"vi":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Vietnamese.json";break;case"cy":languageURL=WPGMZA.pluginDirURL+"languages/datatables/Welsh.json"}return languageURL},WPGMZA.DataTable.prototype.onAJAXResponse=function(response){},WPGMZA.DataTable.prototype.reload=function(){this.dataTable.ajax.reload(null,!1)}}),jQuery(function($){WPGMZA.AdminFeatureDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),this.initModals(),$(element).on("click",".wpgmza.bulk_delete",function(event){self.onBulkDelete(event)}),$(element).on("click",".wpgmza.select_all_markers",function(event){self.onSelectAll(event)}),$(element).on("click",".wpgmza.bulk_edit",function(event){self.onBulkEdit(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)}),$(element).on("click","[data-duplicate-feature-id]",function(event){self.onDuplicate(event)}),$(element).on("click","[data-move-map-feature-id]",function(event){self.onMoveMap(event)})},WPGMZA.extend(WPGMZA.AdminFeatureDataTable,WPGMZA.DataTable),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featureType",{get:function(){return $(this.element).attr("data-wpgmza-feature-type")}}),Object.defineProperty(WPGMZA.AdminFeatureDataTable.prototype,"featurePanel",{get:function(){return WPGMZA.mapEditPage[this.featureType+"Panel"]}}),WPGMZA.AdminFeatureDataTable.prototype.initModals=function(){this.moveModal=!1,this.bulkEditorModal=!1,"marker"===this.featureType&&($(".wpgmza-map-select-modal").length&&(this.moveModal=WPGMZA.GenericModal.createInstance($(".wpgmza-map-select-modal"))),$(".wpgmza-bulk-marker-editor-modal").length&&(this.bulkEditorModal=WPGMZA.GenericModal.createInstance($(".wpgmza-bulk-marker-editor-modal"))))},WPGMZA.AdminFeatureDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaFeatureData=index},options},WPGMZA.AdminFeatureDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0],plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),confirm(WPGMZA.localized_strings.general_delete_prompt_text)&&(ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/"+plural+"/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}}))},WPGMZA.AdminFeatureDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminFeatureDataTable.prototype.onBulkEdit=function(event){const self=this,ids=[];WPGMZA.maps[0];const plural=this.featureType+"s";$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaFeatureData.id)}),this.bulkEditorModal&&ids.length&&this.bulkEditorModal.show(function(data){data.ids=ids,data.action="bulk_edit",WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:data,success:function(response,status,xhr){self.reload()}})})},WPGMZA.AdminFeatureDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))},WPGMZA.AdminFeatureDataTable.prototype.onDuplicate=function(event){const self=this;let id=!1;id=null==event.currentTarget?event:$(event.currentTarget).attr("data-duplicate-feature-id");event=this.featureType+"s";WPGMZA.restAPI.call("/"+event+"/",{method:"POST",data:{id:id,action:"duplicate"},success:function(response,status,xhr){self.reload()}})},WPGMZA.AdminFeatureDataTable.prototype.onMoveMap=function(event){const self=this;let id=!1,plural=(id=null==event.currentTarget?event:$(event.currentTarget).attr("data-move-map-feature-id"),this.featureType+"s");this.moveModal&&this.moveModal.show(function(data){data=!!data.map_id&&parseInt(data.map_id);data&&WPGMZA.restAPI.call("/"+plural+"/",{method:"POST",data:{id:id,map_id:data,action:"move_map"},success:function(response,status,xhr){self.reload()}})})}}),jQuery(function($){WPGMZA.AdminMapDataTable=function(element){var self=this;this.allSelected=!1,WPGMZA.DataTable.call(this,element),$(element).on("mousedown","button[data-action='edit']",function(event){switch(event.which){case 1:var map_id=$(event.target).attr("data-map-id");window.location.href=window.location.href+"&action=edit&map_id="+map_id;break;case 2:map_id=$(event.target).attr("data-map-id");window.open(window.location.href+"&action=edit&map_id="+map_id)}}),$(element).find(".wpgmza.select_all_maps").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete_maps").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","button[data-action='duplicate']",function(event){event=$(event.target).attr("data-map-id");WPGMZA.restAPI.call("/maps/",{method:"POST",data:{id:event,action:"duplicate"},success:function(response,status,xhr){self.reload()}})}),$(element).on("click","button[data-action='trash']",function(event){confirm(WPGMZA.localized_strings.map_delete_prompt_text)&&(event=$(event.target).attr("data-map-id"),WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{id:event},success:function(response,status,xhr){self.reload()}}))})},WPGMZA.extend(WPGMZA.AdminMapDataTable,WPGMZA.DataTable),WPGMZA.AdminMapDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMapData=index},options},WPGMZA.AdminMapDataTable.prototype.onSelectAll=function(event){this.allSelected=!this.allSelected;var self=this;$(this.element).find("input[name='mark']").each(function(){self.allSelected?$(this).prop("checked",!0):$(this).prop("checked",!1)})},WPGMZA.AdminMapDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMapData.id)}),confirm(WPGMZA.localized_strings.map_bulk_delete_prompt_text)&&WPGMZA.restAPI.call("/maps/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},$(document).ready(function(event){$("[data-wpgmza-admin-map-datatable]").each(function(index,el){WPGMZA.AdminMapDataTable=new WPGMZA.AdminMapDataTable(el)})})}),jQuery(function($){WPGMZA.AdminMarkerDataTable=function(element){var self=this;this.preventCaching=!0,WPGMZA.DataTable.call(this,element),$(element).on("click","[data-delete-marker-id]",function(event){self.onDeleteMarker(event)}),$(element).find(".wpgmza.select_all_markers").on("click",function(event){self.onSelectAll(event)}),$(element).find(".wpgmza.bulk_delete").on("click",function(event){self.onBulkDelete(event)}),$(element).on("click","[data-center-marker-id]",function(event){self.onCenterMarker(event)})},WPGMZA.AdminMarkerDataTable.prototype=Object.create(WPGMZA.DataTable.prototype),WPGMZA.AdminMarkerDataTable.prototype.constructor=WPGMZA.AdminMarkerDataTable,WPGMZA.AdminMarkerDataTable.createInstance=function(element){return new WPGMZA.AdminMarkerDataTable(element)},WPGMZA.AdminMarkerDataTable.prototype.getDataTableSettings=function(){var self=this,options=WPGMZA.DataTable.prototype.getDataTableSettings.call(this);return options.createdRow=function(row,data,index){index=self.lastResponse.meta[index];row.wpgmzaMarkerData=index},options},WPGMZA.AdminMarkerDataTable.prototype.onEditMarker=function(event){WPGMZA.animatedScroll("#wpgmaps_tabs_markers")},WPGMZA.AdminMarkerDataTable.prototype.onDeleteMarker=function(event){var self=this,id=$(event.currentTarget).attr("data-delete-marker-id"),event={action:"delete_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:id};$.post(ajaxurl,event,function(response){WPGMZA.mapEditPage.map.removeMarkerByID(id),self.reload()})},WPGMZA.AdminMarkerDataTable.prototype.onApproveMarker=function(event){var cur_id=$(this).attr("id"),cur_id={action:"approve_marker",security:WPGMZA.legacyajaxnonce,map_id:WPGMZA.mapEditPage.map.id,marker_id:cur_id};$.post(ajaxurl,cur_id,function(response){wpgmza_InitMap(),wpgmza_reinitialisetbl()})},WPGMZA.AdminMarkerDataTable.prototype.onSelectAll=function(event){$(this.element).find("input[name='mark']").prop("checked",!0)},WPGMZA.AdminMarkerDataTable.prototype.onBulkDelete=function(event){var self=this,ids=[],map=WPGMZA.maps[0];$(this.element).find("input[name='mark']:checked").each(function(index,el){el=$(el).closest("tr")[0];ids.push(el.wpgmzaMarkerData.id)}),ids.forEach(function(marker_id){marker_id=map.getMarkerByID(marker_id);marker_id&&map.removeMarker(marker_id)}),WPGMZA.restAPI.call("/markers/",{method:"DELETE",data:{ids:ids},complete:function(){self.reload()}})},WPGMZA.AdminMarkerDataTable.prototype.onCenterMarker=function(event){var event=null==event.currentTarget?event:$(event.currentTarget).attr("data-center-marker-id"),event=WPGMZA.mapEditPage.map.getMarkerByID(event);event&&(event=new WPGMZA.LatLng({lat:event.lat,lng:event.lng}),WPGMZA.mapEditPage.map.setCenter(event),WPGMZA.mapEditPage.map.setZoom(6),WPGMZA.InternalEngine.isLegacy()&&WPGMZA.animateScroll("#wpgmaps_tabs_markers"))}});
js/v8/wp-google-maps.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["./wp-google-maps/js/v8/wp-google-maps.combined.js"],"names":["jQuery","$","core","MARKER_PULL_DATABASE","MARKER_PULL_XML","PAGE_MAP_LIST","PAGE_MAP_EDIT","PAGE_SETTINGS","PAGE_STYLING","PAGE_SUPPORT","PAGE_INSTALLER","PAGE_CATEGORIES","PAGE_ADVANCED","PAGE_CUSTOM_FIELDS","maps","events","settings","restAPI","localized_strings","loadingHTML","preloaderHTML","getCurrentPage","WPGMZA","getQueryParamValue","window","location","href","match","getScrollAnimationOffset","scroll_animation_offset","height","getScrollAnimationDuration","scroll_animation_milliseconds","animateScroll","element","milliseconds","offset","animate","scrollTop","top","extend","child","parent","constructor","prototype","Object","create","guid","d","Date","getTime","performance","now","replace","c","r","Math","random","floor","toString","hexOpacityToRGBA","colour","opacity","hex","parseInt","parseFloat","hexOpacityToString","arr","hexToRgba","test","substring","split","length","join","g","b","a","rgbaToString","rgba","latLngRegexp","isLatLngString","str","m","LatLng","lat","lng","stringToLatLng","result","Error","isHexColorString","imageDimensionsCache","getImageDimensions","src","callback","img","document","createElement","onload","event","width","decodeEntities","input","e","String","fromCharCode","isDeveloperMode","this","developer_mode","Cookies","get","isProVersion","_isProVersion","openMediaDialog","config","file_frame","uploader","param","set_to_post_id","open","wp","media","frames","title","button","text","multiple","on","attachment","state","first","toJSON","id","url","getCurrentPosition","error","watch","options","nativeFunction","userLocationDenied","code","message","navigator","geolocation","enableHighAccuracy","position","trigger","err","console","warn","watchPosition","runCatchableTask","friendlyErrorContainer","friendlyError","FriendlyError","html","append","show","capitalizeWords","string","toUpperCase","pluralize","singularize","assertInstanceOf","instance","instanceName","pro","engine","fullInstanceName","getMapByID","i","isGoogleAutocompleteSupported","google","places","Autocomplete","CloudAPI","isBeingUsed","googleAPIStatus","wpgmza_google_api_status","isSafari","ua","userAgent","toLowerCase","isTouchDevice","isDeviceiOS","MSStream","platform","isModernComponentStyleAllowed","user_interface_style","isElementInView","pageTop","pageBottom","elementTop","elementBottom","isFullScreen","wpgmzaisFullScreen","name","regex","RegExp","decodeURIComponent","notification","time","arguments","setTimeout","find","remove","initMaps","body","each","index","el","wpgmzaMap","Map","createInstance","ex","nextInitTimeoutID","initCapsules","capsuleModules","CapsuleModules","onScroll","isInView","wpgmzaScrollIntoViewTriggerFlag","initInstallerRedirect","hide","key","uc","reloadOnOptIn","reloadOnOptOut","WPGMZA_localized_data","value","useLegacyGlobals","fullscreenElement","preventDefault","ajax","ajaxurl","method","data","action","nonce","ajaxnonce","set","reload","altKey","altKeyDown","elements","filter","protocol","warning","InternalEngine","isLegacy","unsecure_geolocation","after","RestAPI","cloudAPI","Compatibility","preventDocumentWriteGoogleMapsAPI","old","write","content","call","compatiblityModule","root","factory","exports","module","define","amd","bind","global","CSS","escape","cssEscape","TypeError","codeUnit","firstCodeUnit","charCodeAt","charAt","PI","deg2rad","deg","Distance","MILES","KILOMETERS","MILES_PER_KILOMETER","KILOMETERS_PER_MILE","uiToMeters","uiDistance","distance_units","uiToKilometers","uiToMiles","kilometersToUI","km","between","lat1","lon1","lat2","lon2","dLat","dLon","sin","cos","atan2","sqrt","EliasFano","isSupported","decodingTablesInitialised","createDecodingTable","decodingTableHighBits","decodingTableDocIDNumber","decodingTableHighBitsCarryover","Uint8Array","zeroCount","j","encode","list","lastDocID","buffer1","bufferLength1","buffer2","bufferLength2","compressedBufferPointer1","compressedBufferPointer2","averageDelta","averageDeltaLog","log2","lowBitsLength","lowBitsMask","prev","maxCompressedSize","ceil","compressedBuffer","forEach","docID","docIDDelta","isNumeric","unaryCodeLength","pointer","decode","resultPointer","lowBitsPointer","listCount","lowBitsCount","lowBits","cb","highBitsPointer","docIDNumber","EventDispatcher","_listenersByType","addEventListener","type","listener","thisObject","useCapture","types","Function","target","hasOwnProperty","push","removeEventListener","obj","splice","off","hasEventListener","dispatchEvent","Event","path","unshift","phase","CAPTURING_PHASE","_cancelled","_triggerListeners","AT_TARGET","BUBBLING_PHASE","topMostElement","customEvent","AddressInput","map","HTMLInputElement","json","fields","attr","JSON","parse","wpgmza_store_locator_restrict","country","googleMapsApiKey","googleAutoComplete","setComponentRestrictions","cloudAutoComplete","CloudAutocomplete","proxies","capsules","prepareCapsules","flagCapsules","getConstructor","ProCapsuleModules","proxyMap","markers","showPreloader","getMarkerByID","markerFilter","MarkerFilter","let","addClass","registerStoreLocator","mapId","mapProxy","capsule","StoreLocator","isCapsule","redirectUrl","ColorInput","dataAttributes","format","anchor","container","autoClose","autoOpen","supportAlpha","supportPalette","wheelBorderWidth","wheelPadding","wheelBorderColor","parseOptions","initialized","sliderInvert","lockSlide","lockPicker","mouse","down","color","h","s","l","wrap","renderControls","parseColor","clamp","min","max","isNaN","degreesToRadians","degrees","hueToRgb","p","q","t","getMousePositionInCanvas","canvas","rect","getBoundingClientRect","x","clientX","left","y","clientY","assign","getColor","override","hsl","rgb","hslToRgb","rgbToHex","setColor","updatePreview","commit","update","trim","indexOf","parts","rgbToHsl","hexToRgb","bounds","delta","repeat","slice","floatToPrecision","chroma","abs","exp","diff","round","float","precision","toFixed","self","insertAfter","onTogglePicker","preview","swatch","picker","stopPropagation","renderPicker","renderWheel","renderFields","renderPalette","wheel","handle","slider","radius","degreeStep","context","getContext","clearRect","grid","fillStyle","fillRect","onPickerMouseSelect","clearStates","group","toggle","blocks","hsla","keys","view","updateFieldView","rows","labels","controls","label","originalEvent","currentTarget","onFieldChange","palette","variations","mutator","variation","control","elem","css","updateWheel","center","pattern","createPattern","beginPath","arc","closePath","fill","startAngle","endAngle","moveTo","gradient","createRadialGradient","strokeGradient","addColorStop","lineWidth","strokeStyle","stroke","createLinearGradient","shadow","updateHandles","updateFields","updatePalette","localRadius","localHandleOffset","handleStyles","sliderDegrees","sliderStyles","background","val","localPosition","dir","angle","distance","range","pickerScaler","pickerEdge","field","block","closest","raw","tA","toggleClass","hasClass","syncValue","ready","wpgmzaColorInput","CSSBackdropFilterInput","filters","blur","enable","unit","brightness","contrast","grayscale","hue_rotate","invert","sepia","saturate","parseFilters","FILTER_PATTERN","VALUE_PATTERN","getFilters","setFilters","clearFilters","matches","Array","valueArg","numericValue","itemWrappers","printType","wrapper","toggleWrap","toggleInput","toggleLabel","controlWrap","controlAttributes","controlInput","controlLabel","slide","ui","change","wpgmzaRelativeSlider","is","setFilterState","removeClass","setFilterValue","row","prop","wpgmzaCSSBackdropFilterInput","CSSFilterInput","wpgmzaCSSFilterInput","CSSStateBlock","HTMLElement","tabs","items","bindEvents","click","onClick","item","wpgmzaCSSStateBlock","CSSUnitInput","suffix","parseUnits","VALID_TYPES","getUnits","setUnits","validateSuffix","unitValueInput","unitSuffixToggle","unitValueStepDownBtn","unitValueStepUpBtn","unitValueStepperWrap","unitInnerWrap","increment","decrement","defaultSuffix","wpgmzaCSSUnitInput","DrawingManager","mode","MODE_NONE","onMapClick","MODE_MARKER","MODE_POLYGON","MODE_POLYLINE","MODE_CIRCLE","MODE_RECTANGLE","MODE_HEATMAP","MODE_POINTLABEL","MODE_IMAGEOVERLAY","OLDrawingManager","GoogleDrawingManager","setDrawingMode","pointlabel","Pointlabel","latLng","addPointlabel","setEditable","onPointlabelComplete","enginePointlabel","EmbeddedMedia","apply","corners","handles","activeCorner","onMoveHandle","onDeactivateHandle","onDetach","detatchAll","querySelectorAll","wpgmzaEmbeddedMedia","onSelect","destroyHandles","onActivateHandle","corner","getMousePosition","maxTop","getAnchorPosition","applyResize","createHandles","mutating","bindHandle","padding","maxWidth","pos","pageX","pageY","bubbles","cancelable","PHASE_CAPTURE","FancyControls","formatToggleSwitch","div","parentNode","replaceWith","formatToggleButton","yes","no","Feature","MapObject","parseGeometry","subject","coords","results","pairs","setOptions","updateNativeFeature","editable","setDraggable","draggable","getScalarProperties","props","layer","setStyle","OLFeature","getOLStyle","googleFeature","GenericModal","complete","cancel","_onComplete","_onCancel","ProGenericModal","onComplete","onCancel","getData","Geocoder","SUCCESS","ZERO_RESULTS","FAIL","GoogleGeocoder","OLGeocoder","getLatLngFromAddress","address","getAddressFromLatLng","geocode","GoogleAPIErrorHandler","_error","currentPage","is_admin","userCanAdministrator","googleMapsAPIErrorDialog","errorMessageList","templateListItem","messagesAlreadyDisplayed","onErrorMessage","wpgmza_google_maps_api_key","addErrorMessage","no_google_maps_api_key","urls","li","clone","buttonContainer","buttonTemplate","documentation","z-index","googleAPIErrorHandler","InfoWindow","feature","onOpen","STATE_CLOSED","onFeatureAdded","OPEN_BY_CLICK","OPEN_BY_HOVER","STATE_OPEN","GoogleProInfoWindow","GoogleInfoWindow","OLProInfoWindow","OLInfoWindow","defineProperty","getContent","contentHtml","addEditButton","Marker","workOutDistanceBetweenTwoMarkers","location1","location2","distanceToDisplay","distanceUnits","extra_html","store_locator_show_distance","storeLocator","STATE_APPLIED","currentLatLng","getPosition","store_locator_distance","kilometers_away","miles_away","disable_infowindows","wpgmza_settings_disable_infowindows","disableInfoWindow","close","setContent","infoopen","Installer","currentApiKey","skipButton","step","findMax","next","triggerSubStep","setEngine","setApiKey","setTileServer","getAutoKey","launcher","launchQuickStart","skip","defaultEngine","loadStep","NODE_SERVER","prepareAddressFields","addressInput","loadSubSteps","autoFocus","applyStepConditionState","stepWrapper","latitude","longitude","geocoder","domain","hostname","paths","pathname","getActiveBlock","focus","saveOptions","apiKey","server","previewLink","tileServer","condition","continueButton","hasSatisfiedStepCondition","satisfied","popupDimensions","screen","attributes","formData","wpgmza_maps_engine","tile_server_url","api_key","success","response","status","xhr","hideAutoKeyError","showAutoKeyError","codeOrMsg","installer","LEGACY","ATLAS_NOVUS","internalEngine","getEngine","InternalViewport","limits","getContainer","RECT_TYPE_LARGE","RECT_TYPE_MEDIUM","RECT_TYPE_SMALL","CONTAINER_THRESHOLD_MEDIUM","CONTAINER_THRESHOLD_SMALL","getRectType","wrapMeasurement","trace","localize","traceLimits","overlays","panels","offsetWidth","offsetHeight","max_width","localized","tag","replaceAll","classes","arg","_lat","_lng","REGEXP","isValid","fromString","fromCurrentPosition","geocodeAddress","fromGoogleLatLng","googleLatLng","toGoogleLatLngArray","nativeLatLng","toGoogleLatLng","toLatLngLiteral","moveByDistance","kilometers","heading","theta","phi1","lambda1","sinPhi1","cosPhi1","sinDelta","cosDelta","sinTheta","sinPhi2","phi2","asin","lambda2","getGreatCircleDistance","arg1","arg2","other","toRadians","deltaPhi","deltaLambda","LatLngBounds","southWest","northEast","south","north","west","east","fromGoogleLatLngBounds","googleLatLngBounds","getSouthWest","getNorthEast","fromGoogleLatLngBoundsLiteral","southwest","northeast","isInInitialState","undefined","extendByPixelMargin","latLngToPixels","pixelsToLatLng","contains","toLiteral","legacyGlobals","marker_pull","marker_array","MYMAP","infoWindow_poly","markerClusterer","heatmap","WPGM_Path","WPGM_Path_Polygon","WPGM_PathLine","WPGM_PathLineData","WPGM_PathData","original_iw","wpgmza_user_marker","wpgmaps_localize_marker_data","wpgmaps_localize_polygon_settings","wpgmaps_localize_heatmap_settings","wpgmaps_localize_polyline_settings","wpgmza_cirtcle_data_array","wpgmza_rectangle_data_array","wpgmzaForceLegacyMarkerClusterer","bindLegacyGlobalProperty","InitMap","resetLocations","searchLocations","fillInAddress","searchLocationsNear","MapListPage","$temp","select","execCommand","mapListPage","MapSettings","getAttribute","addSettings","other_settings","toOLViewOptions","ol","proj","fromLonLat","zoom","empty","start_location","map_start_lng","map_start_lat","start_zoom","map_start_zoom","map_min_zoom","map_max_zoom","minZoom","maxZoom","toGoogleMapsOptions","latLngCoords","formatCoord","coord","isSettingDisabled","zoomControl","wpgmza_settings_map_zoom","panControl","wpgmza_settings_map_pan","mapTypeControl","wpgmza_settings_map_type","streetViewControl","wpgmza_settings_map_streetview","fullscreenControl","wpgmza_settings_map_full_screen_control","wpgmza_settings_map_draggable","disableDoubleClickZoom","wpgmza_settings_map_clickzoom","wpgmza_settings_map_tilt_controls","rotateControl","tilt","wpgmza_settings_map_scroll","scrollwheel","wpgmza_force_greedy_gestures","gestureHandling","mapTypeId","MapTypeId","SATELLITE","HYBRID","TERRAIN","ROADMAP","wpgmza_theme_data","styles","GoogleMap","parseThemeData","elementor","hasAttribute","engineElement","polygons","polylines","circles","rectangles","pointlabels","api_consent_html","loadSettings","loadStyling","shortcodeAttributes","innerStack","setDimensions","setAlignment","initInternalViewport","onInit","fullscreen","onFullScreenChange","wpgmzaLegacyGlobals","mc","init","placeMarkers","nightTimeThemeData","elementType","stylers","featureType","GoogleProMap","OLProMap","OLMap","_markersPlaced","getCenter","setCenter","getZoom","setZoom","initPreloader","initStoreLocator","autoFetchFeatures","fetchFeatures","preloader","stylingSettings","tileFilter","wpgmza_ol_tile_filter","internalViewport","storeLocatorElement","getFeatureArrays","arrays","heatmaps","imageoverlays","getRESTParameters","defaults","stringify","getFilteringParameters","fetchFeaturesViaREST","limit","includeUnapproved","excludeIntegrated","acf_post_id","acfPostID","fetchFeaturesXhr","abort","fetchMarkersBatchSize","enable_batch_loading","fetchNextBatch","useCompressedPathVariable","onMarkersFetched","exclude","onFeaturesFetched","fetchFeaturesViaXML","markerXMLPathURL","fetchFeaturesExcludingMarkersViaREST","map_id","mashup_ids","mashupIDs","Worker","Blob","URL","enable_asynchronous_xml_parsing","source","loadXMLAsWebWorker","blob","worker","createObjectURL","onmessage","postMessage","command","filesLoaded","converter","XMLCacheConverter","converted","concat","convert","wpgmza_settings_marker_pull","substr","expectMoreBatches","startFiltered","cat","marker","isFiltered","setVisible","addMarker","triggerEvent","categories","fitMapBoundsToMarkers","getGeographicDistance","map_width","map_width_type","map_height","map_height_type","wpgmza_map_align","removeMarker","infoWindow","removeAllMarkers","getMarkerByTitle","removeMarkerByID","addPolygon","polygon","Polygon","removePolygon","getPolygonByID","removePolygonByID","getPolylineByID","addPolyline","polyline","Polyline","removePolyline","removePolylineByID","addCircle","circle","Circle","removeCircle","getCircleByID","removeCircleByID","addRectangle","rectangle","Rectangle","removeRectangle","getRectangleByID","removeRectangleByID","removePointlabel","getPointlabelByID","removePointlabelByID","resetBounds","latlng","panTo","nudge","nudged","nudgeLatLng","pixels","animateNudge","origin","onWindowResize","onElementResized","onBoundsChanged","onIdle","hasVisibleMarkers","isFilterable","getVisible","closeAllInfoWindows","openStreetView","closeStreetView","invisibleMaps","visibilityWorkaroundIntervalID","setInterval","toArray","MapsEngineDialog","wpgmzaUnbindSaveReminder","remodal","onButtonClicked","wpgmza_maps_engine_dialog_done","ignoreInstallerRedirect","mapsEngineDialog","params","filteredMarkers","filteringParams","onFilteringComplete","updateTimeoutID","hideAll","allowByFilter","_offset","description","link","icon","approved","pic","setPosition","onAdded","handleLegacyGlobals","GoogleProMarker","GoogleMarker","OLProMarker","OLMarker","ANIMATION_NONE","ANIMATION_BOUNCE","ANIMATION_DROP","updateOffset","onMouseOver","_osDisableAutoPan","openInfoWindow","cloned","pro_version","marker_id","initInfoWindow","lastInteractedMarker","wpgmza_settings_map_open_marker_by","getIcon","stripProtocol","defaultMarkerIcon","default_marker_icon","setOffset","getAnimation","anim","setAnimation","animation","visible","getMap","setMap","getDraggable","setOpacity","panIntoView","ModernStoreLocatorCircle","mapElement","mapSize","initCanvasLayer","shadowColor","shadowBlur","centerRingRadius","centerRingLineWidth","numInnerRings","innerRingLineWidth","innerRingFade","numOuterRings","ringLineWidth","mainRingLineWidth","numSpokes","spokesStartAngle","numRadiusLabels","radiusLabelsStartAngle","radiusLabelFont","GoogleModernStoreLocatorCircle","OLModernStoreLocatorCircle","onResize","draw","onUpdate","functionName","getResolutionScale","devicePixelRatio","getRadius","setRadius","getTransformedRadius","getCanvasDimensions","validateSettings","canvasDimensions","canvasWidth","canvasHeight","setTransform","end","scale","getScale","getWorldOriginOffset","worldPoint","translate","getCenterPixels","ringSpacing","grad","start","save","spokeAngle","setLineDash","lineTo","restore","font","textAlign","textBaseline","textAngle","radiusString","rotate","measureText","fillText","ModernStoreLocator","original","inner","numCategories","icons","store_locator_query_string","titleSearch","placeholder","store_locator_name_string","keyCode","searchButton","resetButton","STATE_INITIAL","children","category_id","wpgmza_category_data","image","background-image","prepend","optionsButton","before","padding-left","outerWidth","onMouseOverCategory","onMouseLeaveCategory","position_cat","$p_map","p_cat","outerHeight","padding-bottom","GoogleModernStoreLocator","OLModernStoreLocator","stop","fadeIn","fadeOut","NativeMapsAppIcon","PersistentAdminNotice","dismissButton","ajaxActionButton","onDismiss","onAjaxAction","slug","wpgmza_security","relay","wpgmzaPersistentAdminNotice","enumerable","_map","textFeature","GoogleProPointlabel","GooglePointlabel","OLProPointlabel","OLPointlabel","createEditableMarker","setIcon","labelpointIcon","_prevMap","_dragEndCallback","onDragEnd","onMapMouseDown","_mouseDown","onWindowMouseUp","onMapMouseMove","begin","external","enginePolygon","fillcolor","linecolor","lineopacity","linethickness","GoogleProPolygon","GooglePolygon","OLProPolygon","OLPolygon","engineObject","googlePolyline","_layergroup","Shape","BASE_LAYER_INDEX","GooglePolyline","OLPolyline","getPoints","points","layergroup","setLayergroup","zIndex","PopoutPanel","sendAJAXFallbackRequest","route","addNonce","CONTEXT_AJAX","resturl","useAJAXFallback","CONTEXT_REST","serverCanInflate","Version","compare","EQUAL_TO","disable_compressed_path_variables","enable_compressed_path_variables","compressParams","markerIDs","encoded","compressed","pako","deflate","ch","btoa","midcbp","TextEncoder","getNonce","restnoncetable","sort","setRESTNonce","shouldAddNonce","setRequestHeader","restnonce","base","beforeSend","isAdmin","includes","compressedParams","compressedRoute","attemptedCompressedPathVariable","fallbackRoute","fallbackParams","post","simulateDelete","isCompressedPathVariableSupported","isCompressedPathVariableAllowed","base64","isServerIIS","cache","skip_cache","maxURLLength","compressedPathVariableURLLimitWarningDisplayed","onSuccess","rawResult","parseExc","nativeCallFunction","dismiss_blocked_notice","$_GET","query","wpgmza_i","wpgmza_l","aux","SettingsPage","_keypressHistory","_codemirrors","updateEngineSpecificControls","updateStorageControls","updateBatchControls","updateGDPRControls","updateWooControls","onKeyPress","ttype","confirm","wpgmza_dz_nonce","alert","settingsPage","flushGeocodeCache","elmnt","getElementById","classList","add","pageYOffset","scrollTo","behavior","activate","refresh","wrapAll","CodeMirror","fromTextArea","lineNumbers","theme","removeAttr","showNoticeControls","vgmCheckbox","showOverrideTextarea","clearCache","_developerModeRevealed","Parent","engineFeature","engineCircle","ProShape","lineColor","lineOpacity","OLProCircle","OLCircle","GoogleProCircle","GoogleCircle","engineRectangle","cornerA","cornerB","OLProRectangle","OLRectangle","GoogleProRectangle","GoogleRectangle","SidebarGroupings","actionBar","dynamicAction","dynamicLabel","openTab","openTabByFeatureType","closeCurrent","resetScroll","initUpsellBlocks","tab","groupId","openTabByGroupId","mapEditPage","hasGroup","closeAll","updateActionBar","upsellWrappers","currentWrapper","cardLength","nextCard","nextCardElem","_center","addressElement","radiusElement","wpgmza_store_locator_default_radius","onGeocodeComplete","store_locator_style","legacyModernAdapter","onSearch","onReset","which","onQueryParamSearch","_bounds","store_locator_bounce","_marker","_circle","wpgmza_store_locator_radius_style","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","clickable","circleStrokeColor","onRedirectSearch","setVisualState","countryRestriction","address_not_found","showError","URLSearchParams","getZoomFromRadius","log","LN2","factor","store_locator_not_found_message","zero_results","queryCenter","queryRadius","errorElement","StylingPage","styleGuide","prepareControl","applyPreset","parseUserPreset","PRESETS","default","--wpgmza-component-color","--wpgmza-component-text-color","--wpgmza-component-color-accent","--wpgmza-component-text-color-accent","--wpgmza-color-grey-500","--wpgmza-component-border-radius","--wpgmza-component-font-size","--wpgmza-component-backdrop-filter","glass","rounded","activeInput","colorInput","unitInput","resetControl","updateControl","steps","backdropInput","user","fieldName","preset","fieldValue","stylingPage","SupportPage","info","temp","supportPage","Text","GoogleText","OLText","overlay","setText","setFontSize","size","setFillColor","setLineColor","ThemeEditor","olThemeEditor","OLThemeEditor","appendTo","initHTML","themeEditor","updatePosition","features","all","administrative","landscape","poi","road","transit","water","geometry","textarea","refreshColorInputs","parseJSON","isArray","jsonCopy","highlightFeatures","highlightElements","loadElementStylers","v","ii","vv","hue","lightness","xaturation","gamma","visibility","weight","writeElementStylers","new_feature_element_stylers","indexJSON","saturation","invert_lightness","themePanel","updateMapTheme","ThemePanel","olThemePanel","OLThemePanel","owlCarousel","dots","onThemePresetClick","previewImageCenter","previewImageZoom","selectedData","existingData","allPresetData","overwrite_theme_data","invalid_theme_data","GREATER_THAN","LESS_THAN","v1","v2","v1parts","v2parts","xml","remap","linkd","nodeName","tXml","f","tagName","k","searchId","exec","lastIndexOf","simplify","simplefy","_attributes","domToXml","O","inputData","totalFiles","dataForMainThread","onXMLLoaded","request","readyState","node","convertAndAppend","responseText","loadNextFile","XMLHttpRequest","onreadystatechange","send","Integration","integrationModules","Blocks","instances","__","registerBlockType","InspectorControls","_wp$components","Dashicon","PanelBody","i18n","editor","components","_wp$editor","BlockControls","Toolbar","Button","Tooltip","TextareaControl","CheckboxControl","TextControl","SelectControl","RichText","Gutenberg","getBlockDefinition","getBlockTitle","getBlockInspectorControls","React","class","adminurl","aria-hidden","getBlockAttributes","_this","category","verifyCategory","keywords","edit","isSelected","className","getCategories","gutenberg","onclick","GoogleUICompatibility","style","vendor","head","googleUICompatibility","googleCircle","wpgmzaCircle","addListener","ProCircle","googleOptions","googleDrawingManager","drawing","drawingControl","polygonOptions","polylineOptions","circleOptions","rectangleOptions","googleMap","onPolygonClosed","onPolylineComplete","onCircleComplete","onRectangleComplete","googleMode","OverlayType","POLYGON","POLYLINE","CIRCLE","RECTANGLE","onVertexClicked","googlePolygon","enginePolyline","googleRectangle","onImageoverlayComplete","onHeatmapPointAdded","googleMarker","imageFolderURL","Point","engineImageoverlay","componentRestrictions","nativeStatus","GeocoderStatus","OK","NO_ADDRESS","fullResult","NO_RESULTS","formatted_address","GoogleHTMLOverlay","OverlayView","onAdd","getPanes","overlayMouseTarget","appendChild","onRemove","updateElementPosition","projection","getProjection","fromLatLngToDivPixel","setFeature","Z_INDEX","ProInfoWindow","googleObject","createGoogleInfoWindow","googleInfoWindow","setZIndex","disableAutoPan","intervalID","eaBtn","clearInterval","wpgmzaFeature","loadGoogleMap","wpgmzaEvent","getStreetView","pov","getPov","pitch","ProMap","eval","bicycle","enableBicycleLayer","traffic","enableTrafficLayer","transport_layer","enablePublicTransportLayer","showPointsOfInterest","wpgmza_show_point_of_interest","initializing","hide_point_of_interest","getBounds","nativeBounds","topLeft","bottomRight","fitBounds","fitBoundsToVisibleMarkers","bicycleLayer","BicyclingLayer","trafficLayer","TrafficLayer","publicTransportLayer","TransitLayer","getMinZoom","min_zoom","setMinZoom","getMaxZoom","max_zoom","setMaxZoom","topRight","fromLatLngToPoint","bottomLeft","pow","fromPointToLatLng","enableAllInteractions","setPov","firstChild","_stackedComponentsMoved","innerContainer","wpgmzaMarker","googleMarkerPosition","ProMarker","_opacity","setLabel","Image","defaultAnchor","canvasLayer","resize_","setAnimate","CanvasLayer","resizeHandler","updateHandler","resolutionScale","scheduleUpdate","spherical","equator","offsetAtEquator","computeOffset","getTopLeft","destroy","restrict","ControlPosition","TOP_CENTER","pointFeature","ProPointlabel","polydata","wpgmzaPolygon","ProPolygon","getEditable","getOptions","getPaths","getPath","removeAt","vertex","getGeometry","getLength","getAt","setPath","wpgmzaPolyline","wpgmzaRectangle","ProRectangle","GoogleTextOverlay","minWidth","floatPane","GoogleVertexContextMenu","innerHTML","addDomListener","removeVertex","divListener","getDiv","removeListener","removeChild","point","FeaturePanel","drawingManager","writersblock","initDefaults","setMode","MODE_ADD","drawingInstructionsElement","detach","editingInstructionsElement","newPanel","onTabActivated","oldPanel","onTabDeactivated","onEditFeature","onDeleteFeature","onSave","drawingManagerCompleteEvent","onDrawingComplete","onDrawingModeChanged","onPropertyChanged","MODE_EDIT","prevEditableFeature","wpgmzaDataTable","_mode","initDataTable","AdminFeatureDataTable","setCaptionType","featureAccordion","sidebarTriggerDelegate","setTargetFeature","onFeatureChanged","showInstructions","reset","tinyMCE","WritersBlock","_codeEditor","expectedBaseClass","functionSuffix","populate","imageInputSingle","wpgmzaImageInputSingle","parseImage","serializeFormData","discardChanges","updateFeatureByID","getByIDFunction","removeFunction","addFunction","featureString","onAddFeature","general_delete_prompt_text","featureDataTable","dataTable","processing","geometryField","nativeFeature","_dirtyFields","isNew","no_shape_polyline","no_shape_polygon","no_shape_rectangle","no_shape_circle","eventType","initWritersBlock","getWritersBlockConfig","onEditorChange","customTools","tools","custom-media","mediaId","mediaUrl","writeHtml","library","code-editor","_codeEditorActive","toolbarItems","toolbar","tool","setAttribute","__editor","editedHtml","validator","sourceHtml","enabledTools","onUpdateSelection","packet","pingedSelection","getSelection","hidePopupTools","hasDirtyField","MarkerPanel","ProMarkerPanel","adjustSubMode","onAdjustFeature","onApproveMarker","addressField","aPos","geocodingData","cloud_lat","cloud_lng","addressUnchanged","getElementsByName","no_address","geocode_fail","CirclePanel","ProCirclePanel","wpgmza_autoCompleteDisabled","MapEditPage","ajaxRequest","wrapInner","sidebarGroupings","initDataTables","initFeaturePanels","initJQueryUIControls","locale","buttonClass","colorBtn","clipboard","readText","then","textcopy","catch","c_ex","wpgmzaAjaxTimeout","wpgmzaStartTyping","wpgmzaKeyStrokeCount","wpgmzaAvgTimeBetweenStrokes","wpgmzaTotalTimeForKeyStrokes","wpgmzaTmp","wpgmzaIdentifiedTypingSpeed","wpgmza_apikey","clearTimeout","wpgmzaCurrentTimeBetweenStrokes","currentSearch","wpgmza_api_url","siteHash","dataType","cloud_api_key_error_1","exception","onMapHeightTypeChange","onShiftClick","onMapTypeChanged","onMarkerUpdated","onZoomChanged","onRightClick","onDeletePolygon","onDeletePolyline","evevnt","onDeleteHeatmap","onDeleteCircle","onDeleteRectangle","nearestRow","nearestHint","shortcode","ProMapEditPage","featurePanelElement","panelClassName","mapContainer","checkbox","lastSelectedRow","shiftKey","prevIndex","currIndex","startIndex","endIndex","markerDataTable","rightClickMarker","cur_id","security","wpgmza_legacy_map_edit_page_vars","ajax_nonce","poly_id","circle_id","circle_array","rectangle_id","rectangle_array","PointlabelPanel","PolygonPanel","ProPolygonPanel","PolylinePanel","ProPolylinePanel","RectanglePanel","ProRectanglePanel","olFeature","geom","toLonLat","Vector","getSource","addFeature","getFeatures","setProperties","setInteractionsOnFeature","lonLat","recreate","circle3857","removeFeature","circular","transform","wrapX","Stroke","Fill","Style","endEventType","interaction","olMap","removeInteraction","selectInteraction","geometryFunction","Draw","createBox","WPGMZAEvent","addInteraction","assertInstangeOf","translated","modifyInteraction","snapInteraction","Snap","Modify","getResponseFromCache","lon","getResponseFromNominatim","countrycodes","cacheResponse","finish","boundingbox","display_name","removeOverlay","Overlay","stopEvent","insertFirst","addOverlay","renderMode","RENDER_MODE_VECTOR_LAYER","autoResize","max-width","imgs","numImages","numImagesLoaded","canAutoPan","inside","viewport","right","bottom","isPanIntoViewAllowed","mapWidth","mapHeight","maxHeight","viewOptions","layers","getTileLayer","getTileView","customTileMode","extent","containsCoordinate","customTileModeExtent","getView","wrapLongitude","getInteractions","DragPan","setActive","DoubleClickZoom","MouseWheelZoom","gestureOverlay","gestureOverlayTimeoutID","olBrowserEvent","allowed","PointerEvent","targetPointers","TouchEvent","touches","showGestureOverlay","use_two_fingers","platformModifierKeyOnly","use_ctrl_scroll_to_zoom","getControls","Zoom","removeControl","addControl","FullScreen","markerLayer","addLayer","getFeaturesAtPixel","pixel","isBeingDragged","_mouseoverNativeFeatures","dragging","featuresUnderPixel","nativeFeaturesUnderPixel","getProperties","isRight","offsetX","offsetY","tile_server_url_override","open_layers_api_key","custom_tile_enabled","custom_tile_image_width","custom_tile_image_height","custom_tile_image","Projection","units","ImageStatic","attributions","custom_tile_image_attribution","imageExtent","Tile","OSM","View","transformed","calculateExtent","getSize","boundingExtent","fit","duration","RENDER_MODE_HTML_ELEMENT","featureInSource","removeLayer","getCoordinateFromPixel","getPixelFromCoordinate","line-height","updateSize","parentOffset","relX","relY","updateElementHeight","positioning","rebindClickListener","getVectorLayerStyle","defaultVectorLayerStyle","Icon","hiddenVectorLayerStyle","vectorLayerStyle","calledOnFocus","one","addLabel","getLabelText","getElement","display","setGeometry","disabled","jQueryDraggableInitialized","onDragStart","pixelsBeforeDrag","pixelsAfterDrag","latLngAfterDrag","onElementClick","olViewportElement","renderFunction","outer","centerPixels","outerPixels","un","coordinates","getCoordinates","LineString","olStyle","getExtent","getBottomRight","topLeftLonLat","bottomRightLonLat","topLeftLatLng","bottomRightLatLng","OLTextOverlay","styleOptions","getStyle","fontSize","labelStyles","placement","getText","onFilterChange","DataTable","version","fn","wpgmza_do_not_enqueue_datatables","ext","errMode","Api","register","iterator","ctx","oApi","_fnProcessingDisplay","dataTableElement","getDataTableElement","getDataTableSettings","phpClass","getLanguageURL","languageJSON","onAJAXRequest","onDataTableAjaxRequest","preventCaching","lastResponse","MarkerIcon","applyToElement","languageURL","deferLoading","serverSide","AdvancedTableDataTable","wpgmza_default_items","iDisplayLength","aLengthMenu","language","pluginDirURL","onAJAXResponse","allSelected","initModals","onBulkDelete","onSelectAll","onBulkEdit","onCenterMarker","onDuplicate","onMoveMap","moveModal","bulkEditorModal","createdRow","meta","wpgmzaFeatureData","ids","plural","AdminMapDataTable","map_delete_prompt_text","wpgmzaMapData","map_bulk_delete_prompt_text","AdminMarkerDataTable","onDeleteMarker","wpgmzaMarkerData","onEditMarker","animatedScroll","legacyajaxnonce","wpgmza_InitMap","wpgmza_reinitialisetbl"],"mappings":"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