(window["webpackJsonpLIS"] = window["webpackJsonpLIS"] || []).push([["google-maps"],{

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/toubiz-map/map/google-maps/marker-clusterer.override.js":
/*!*************************************************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/toubiz-map/map/google-maps/marker-clusterer.override.js ***!
  \*************************************************************************************************************/
/*! exports provided: MarkerClusterer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var imports_loader_module_false_exports_loader_MarkerClusterer_ClusterIcon_google_markerclustererplus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! imports-loader?module=>false!exports-loader?MarkerClusterer,ClusterIcon!@google/markerclustererplus */ \"./node_modules/imports-loader/index.js?module=>false!./node_modules/exports-loader/lib/index.js?MarkerClusterer,ClusterIcon!./node_modules/@google/markerclustererplus/src/markerclusterer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MarkerClusterer\", function() { return imports_loader_module_false_exports_loader_MarkerClusterer_ClusterIcon_google_markerclustererplus__WEBPACK_IMPORTED_MODULE_0__[\"MarkerClusterer\"]; });\n\n/*\n * NOTE: We want to customize the MarkerClusterer vendor script,\n * however it defines MarkerClusterer, Cluster and ClusterIcon but only exports\n * MarkerClusterer (if module is of type object), so we use imports-loader to set\n * module to false and to deactivate the export there, then we use exports-loader in\n * order to import the things we need to override but otherwise cant\n * import.\n *\n * More info at:\n * https://github.com/webpack-contrib/imports-loader\n * https://github.com/webpack-contrib/exports-loader\n *\n * Note: This approach is not compatible with markerclusterer 3.* and onwards\n * TODO Refactor into newer version of markerclusterer without hacks\n */\n\n/**\n * We override this function because <tt>anchorIcon</tt> doesn't exist\n * in our custom version of ClusterIcon.\n *\n * @param {object} latlng\n * @returns {object}\n */\n\nimports_loader_module_false_exports_loader_MarkerClusterer_ClusterIcon_google_markerclustererplus__WEBPACK_IMPORTED_MODULE_0__[\"ClusterIcon\"].prototype.getPosFromLatLng_ = function getPosFromLatLng_(latlng) {\n  var pos = this.getProjection().fromLatLngToDivPixel(latlng);\n  pos.x = parseInt(pos.x, 10);\n  pos.y = parseInt(pos.y, 10);\n  return pos;\n};\n/**\n * We overide this function to customize the markup of a rendered cluster\n * and to add the backgroundColor only our custom version has.\n */\n\n\nimports_loader_module_false_exports_loader_MarkerClusterer_ClusterIcon_google_markerclustererplus__WEBPACK_IMPORTED_MODULE_0__[\"ClusterIcon\"].prototype.show = function show() {\n  if (this.div_) {\n    var pos = this.getPosFromLatLng_(this.center_);\n    this.div_.style.cssText = this.createCss(pos);\n    this.div_.style.color = this.cluster_.getMarkerClusterer().textColor || 'white';\n    this.div_.style.backgroundColor = this.cluster_.getMarkerClusterer().backgroundColor || '#333';\n    this.div_.style.zIndex = google.maps.Marker.MAX_ZINDEX + 1;\n    this.div_.title = typeof this.sums_.title === 'undefined' || this.sums_.title === '' ? this.cluster_.getMarkerClusterer().getTitle() : this.sums_.title;\n    this.div_.innerHTML = \"\\n            <span class=\\\"tb-map-marker-cluster__label\\\">\\n                \".concat(this.sums_.text, \"\\n            </span>\\n        \");\n    this.div_.style.display = '';\n  }\n\n  this.visible_ = true;\n};\n/**\n * Add a function to set the background color of a cluster\n * which is not available by default.\n *\n * @param {string} color\n * @param {string} backgroundColor\n */\n\n\nimports_loader_module_false_exports_loader_MarkerClusterer_ClusterIcon_google_markerclustererplus__WEBPACK_IMPORTED_MODULE_0__[\"MarkerClusterer\"].prototype.setClusterColors = function (color, backgroundColor) {\n  this.textColor = color;\n  this.backgroundColor = backgroundColor;\n};\n\n\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/toubiz-map/map/google-maps/marker-clusterer.override.js?");

/***/ }),

/***/ "./node_modules/exports-loader/lib/index.js?InfoBox!./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/infobox.js":
/*!****************************************************************************************************************************!*\
  !*** ./node_modules/exports-loader/lib?InfoBox!./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/infobox.js ***!
  \****************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("// https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/infobox/src/infobox.js\n\n/**\n * @name InfoBox\n * @version 1.1.19 [April 6, 2018]\n * @author Gary Little (inspired by proof-of-concept code from Pamela Fox of Google)\n * @copyright Copyright 2010 Gary Little [gary at luxcentral.com]\n * @fileoverview InfoBox extends the Google Maps JavaScript API V3 <tt>OverlayView</tt> class.\n *  <p>\n *  An InfoBox behaves like a <tt>google.maps.InfoWindow</tt>, but it supports several\n *  additional properties for advanced styling. An InfoBox can also be used as a map label.\n *  <p>\n *  An InfoBox also fires the same events as a <tt>google.maps.InfoWindow</tt>.\n */\n\n/*!\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *       http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*jslint browser:true */\n\n/*global google */\n\n/**\n * @name InfoBoxOptions\n * @class This class represents the optional parameter passed to the {@link InfoBox} constructor.\n * @property {string|Node} content The content of the InfoBox (plain text or an HTML DOM node).\n * @property {boolean} [disableAutoPan=false] Disable auto-pan on <tt>open</tt>.\n * @property {number} maxWidth The maximum width (in pixels) of the InfoBox. Set to 0 if no maximum.\n * @property {Size} pixelOffset The offset (in pixels) from the top left corner of the InfoBox\n *  (or the bottom left corner if the <code>alignBottom</code> property is <code>true</code>)\n *  to the map pixel corresponding to <tt>position</tt>.\n * @property {LatLng} position The geographic location at which to display the InfoBox.\n * @property {number} zIndex The CSS z-index style value for the InfoBox.\n *  Note: This value overrides a zIndex setting specified in the <tt>boxStyle</tt> property.\n * @property {string} [boxClass=\"infoBox\"] The name of the CSS class defining the styles for the InfoBox container.\n * @property {Object} [boxStyle] An object literal whose properties define specific CSS\n *  style values to be applied to the InfoBox. Style values defined here override those that may\n *  be defined in the <code>boxClass</code> style sheet. If this property is changed after the\n *  InfoBox has been created, all previously set styles (except those defined in the style sheet)\n *  are removed from the InfoBox before the new style values are applied.\n * @property {string} closeBoxMargin The CSS margin style value for the close box.\n *  The default is \"2px\" (a 2-pixel margin on all sides).\n * @property {string} closeBoxTitle The tool tip for the close box. The default is \" Close \".\n * @property {string} closeBoxURL The URL of the image representing the close box.\n *  Note: The default is the URL for Google's standard close box.\n *  Set this property to \"\" if no close box is required.\n * @property {Size} infoBoxClearance Minimum offset (in pixels) from the InfoBox to the\n *  map edge after an auto-pan.\n * @property {boolean} [isHidden=false] Hide the InfoBox on <tt>open</tt>.\n *  [Deprecated in favor of the <tt>visible</tt> property.]\n * @property {boolean} [visible=true] Show the InfoBox on <tt>open</tt>.\n * @property {boolean} alignBottom Align the bottom left corner of the InfoBox to the <code>position</code>\n *  location (default is <tt>false</tt> which means that the top left corner of the InfoBox is aligned).\n * @property {string} pane The pane where the InfoBox is to appear (default is \"floatPane\").\n *  Set the pane to \"mapPane\" if the InfoBox is being used as a map label.\n *  Valid pane names are the property names for the <tt>google.maps.MapPanes</tt> object.\n * @property {boolean} enableEventPropagation Propagate mousedown, mousemove, mouseover, mouseout,\n *  mouseup, click, dblclick, touchstart, touchend, touchmove, and contextmenu events in the InfoBox\n *  (default is <tt>false</tt> to mimic the behavior of a <tt>google.maps.InfoWindow</tt>). Set\n *  this property to <tt>true</tt> if the InfoBox is being used as a map label.\n */\n\n/**\n * Creates an InfoBox with the options specified in {@link InfoBoxOptions}.\n *  Call <tt>InfoBox.open</tt> to add the box to the map.\n * @constructor\n * @param {InfoBoxOptions} [opt_opts]\n */\nfunction InfoBox(opt_opts) {\n  opt_opts = opt_opts || {};\n  google.maps.OverlayView.apply(this, arguments); // Standard options (in common with google.maps.InfoWindow):\n  //\n\n  this.content_ = opt_opts.content || \"\";\n  this.disableAutoPan_ = opt_opts.disableAutoPan || false;\n  this.maxWidth_ = opt_opts.maxWidth || 0;\n  this.pixelOffset_ = opt_opts.pixelOffset || new google.maps.Size(0, 0);\n  this.position_ = opt_opts.position || new google.maps.LatLng(0, 0);\n  this.zIndex_ = opt_opts.zIndex || null; // Additional options (unique to InfoBox):\n  //\n\n  this.boxClass_ = opt_opts.boxClass || \"infoBox\";\n  this.boxStyle_ = opt_opts.boxStyle || {};\n  this.closeBoxMargin_ = opt_opts.closeBoxMargin || \"2px\";\n  this.closeBoxURL_ = opt_opts.closeBoxURL || \"//www.google.com/intl/en_us/mapfiles/close.gif\";\n\n  if (opt_opts.closeBoxURL === \"\") {\n    this.closeBoxURL_ = \"\";\n  }\n\n  this.closeBoxTitle_ = opt_opts.closeBoxTitle || \" Close \";\n  this.infoBoxClearance_ = opt_opts.infoBoxClearance || new google.maps.Size(1, 1);\n\n  if (typeof opt_opts.visible === \"undefined\") {\n    if (typeof opt_opts.isHidden === \"undefined\") {\n      opt_opts.visible = true;\n    } else {\n      opt_opts.visible = !opt_opts.isHidden;\n    }\n  }\n\n  this.isHidden_ = !opt_opts.visible;\n  this.alignBottom_ = opt_opts.alignBottom || false;\n  this.pane_ = opt_opts.pane || \"floatPane\";\n  this.enableEventPropagation_ = opt_opts.enableEventPropagation || false;\n  this.div_ = null;\n  this.closeListener_ = null;\n  this.moveListener_ = null;\n  this.contextListener_ = null;\n  this.eventListeners_ = null;\n  this.fixedWidthSet_ = null;\n}\n/* InfoBox extends OverlayView in the Google Maps API v3.\n */\n\n\nInfoBox.prototype = new google.maps.OverlayView();\n/**\n * Creates the DIV representing the InfoBox.\n * @private\n */\n\nInfoBox.prototype.createInfoBoxDiv_ = function () {\n  var i;\n  var events;\n  var bw;\n  var me = this; // This handler prevents an event in the InfoBox from being passed on to the map.\n  //\n\n  var cancelHandler = function cancelHandler(e) {\n    e.cancelBubble = true;\n\n    if (e.stopPropagation) {\n      e.stopPropagation();\n    }\n  }; // This handler ignores the current event in the InfoBox and conditionally prevents\n  // the event from being passed on to the map. It is used for the contextmenu event.\n  //\n\n\n  var ignoreHandler = function ignoreHandler(e) {\n    e.returnValue = false;\n\n    if (e.preventDefault) {\n      e.preventDefault();\n    }\n\n    if (!me.enableEventPropagation_) {\n      cancelHandler(e);\n    }\n  };\n\n  if (!this.div_) {\n    this.div_ = document.createElement(\"div\");\n    this.setBoxStyle_();\n\n    if (typeof this.content_.nodeType === \"undefined\") {\n      this.div_.innerHTML = this.getCloseBoxImg_() + this.content_;\n    } else {\n      this.div_.innerHTML = this.getCloseBoxImg_();\n      this.div_.appendChild(this.content_);\n    } // Add the InfoBox DIV to the DOM\n\n\n    this.getPanes()[this.pane_].appendChild(this.div_);\n    this.addClickHandler_();\n\n    if (this.div_.style.width) {\n      this.fixedWidthSet_ = true;\n    } else {\n      if (this.maxWidth_ !== 0 && this.div_.offsetWidth > this.maxWidth_) {\n        this.div_.style.width = this.maxWidth_;\n        this.div_.style.overflow = \"auto\";\n        this.fixedWidthSet_ = true;\n      } else {\n        // The following code is needed to overcome problems with MSIE\n        bw = this.getBoxWidths_();\n        this.div_.style.width = this.div_.offsetWidth - bw.left - bw.right + \"px\";\n        this.fixedWidthSet_ = false;\n      }\n    }\n\n    this.panBox_(this.disableAutoPan_);\n\n    if (!this.enableEventPropagation_) {\n      this.eventListeners_ = []; // Cancel event propagation.\n      //\n      // Note: mousemove not included (to resolve Issue 152)\n\n      events = [\"mousedown\", \"mouseover\", \"mouseout\", \"mouseup\", \"click\", \"dblclick\", \"touchstart\", \"touchend\", \"touchmove\"];\n\n      for (i = 0; i < events.length; i++) {\n        this.eventListeners_.push(google.maps.event.addDomListener(this.div_, events[i], cancelHandler));\n      } // Workaround for Google bug that causes the cursor to change to a pointer\n      // when the mouse moves over a marker underneath InfoBox.\n\n\n      this.eventListeners_.push(google.maps.event.addDomListener(this.div_, \"mouseover\", function (e) {\n        this.style.cursor = \"default\";\n      }));\n    }\n\n    this.contextListener_ = google.maps.event.addDomListener(this.div_, \"contextmenu\", ignoreHandler);\n    /**\n     * This event is fired when the DIV containing the InfoBox's content is attached to the DOM.\n     * @name InfoBox#domready\n     * @event\n     */\n\n    google.maps.event.trigger(this, \"domready\");\n  }\n};\n/**\n * Returns the HTML <IMG> tag for the close box.\n * @private\n */\n\n\nInfoBox.prototype.getCloseBoxImg_ = function () {\n  var img = \"\";\n\n  if (this.closeBoxURL_ !== \"\") {\n    img = \"<img\";\n    img += \" src='\" + this.closeBoxURL_ + \"'\";\n    img += \" align=right\"; // Do this because Opera chokes on style='float: right;'\n\n    img += \" title='\" + this.closeBoxTitle_ + \"'\";\n    img += \" style='\";\n    img += \" position: relative;\"; // Required by MSIE\n\n    img += \" cursor: pointer;\";\n    img += \" margin: \" + this.closeBoxMargin_ + \";\";\n    img += \"'>\";\n  }\n\n  return img;\n};\n/**\n * Adds the click handler to the InfoBox close box.\n * @private\n */\n\n\nInfoBox.prototype.addClickHandler_ = function () {\n  var closeBox;\n\n  if (this.closeBoxURL_ !== \"\") {\n    closeBox = this.div_.firstChild;\n    this.closeListener_ = google.maps.event.addDomListener(closeBox, \"click\", this.getCloseClickHandler_());\n  } else {\n    this.closeListener_ = null;\n  }\n};\n/**\n * Returns the function to call when the user clicks the close box of an InfoBox.\n * @private\n */\n\n\nInfoBox.prototype.getCloseClickHandler_ = function () {\n  var me = this;\n  return function (e) {\n    // 1.0.3 fix: Always prevent propagation of a close box click to the map:\n    e.cancelBubble = true;\n\n    if (e.stopPropagation) {\n      e.stopPropagation();\n    }\n    /**\n     * This event is fired when the InfoBox's close box is clicked.\n     * @name InfoBox#closeclick\n     * @event\n     */\n\n\n    google.maps.event.trigger(me, \"closeclick\");\n    me.close();\n  };\n};\n/**\n * Pans the map so that the InfoBox appears entirely within the map's visible area.\n * @private\n */\n\n\nInfoBox.prototype.panBox_ = function (disablePan) {\n  var map;\n  var bounds;\n  var xOffset = 0,\n      yOffset = 0;\n\n  if (!disablePan) {\n    map = this.getMap();\n\n    if (map instanceof google.maps.Map) {\n      // Only pan if attached to map, not panorama\n      if (!map.getBounds().contains(this.position_)) {\n        // Marker not in visible area of map, so set center\n        // of map to the marker position first.\n        map.setCenter(this.position_);\n      }\n\n      var iwOffsetX = this.pixelOffset_.width;\n      var iwOffsetY = this.pixelOffset_.height;\n      var iwWidth = this.div_.offsetWidth;\n      var iwHeight = this.div_.offsetHeight;\n      var padX = this.infoBoxClearance_.width;\n      var padY = this.infoBoxClearance_.height;\n\n      if (map.panToBounds.length == 2) {\n        // Using projection.fromLatLngToContainerPixel to compute the infowindow position\n        // does not work correctly anymore for JS Maps API v3.32 and above if there is a\n        // previous synchronous call that causes the map to animate (e.g. setCenter when\n        // the position is not within bounds). Hence, we are using panToBounds with\n        // padding instead, which works synchronously.\n        var padding = {\n          left: 0,\n          right: 0,\n          top: 0,\n          bottom: 0\n        };\n        padding.left = -iwOffsetX + padX;\n        padding.right = iwOffsetX + iwWidth + padX;\n\n        if (this.alignBottom_) {\n          padding.top = -iwOffsetY + padY + iwHeight;\n          padding.bottom = iwOffsetY + padY;\n        } else {\n          padding.top = -iwOffsetY + padY;\n          padding.bottom = iwOffsetY + iwHeight + padY;\n        }\n\n        map.panToBounds(new google.maps.LatLngBounds(this.position_), padding);\n      } else {\n        var mapDiv = map.getDiv();\n        var mapWidth = mapDiv.offsetWidth;\n        var mapHeight = mapDiv.offsetHeight;\n        var pixPosition = this.getProjection().fromLatLngToContainerPixel(this.position_);\n\n        if (pixPosition.x < -iwOffsetX + padX) {\n          xOffset = pixPosition.x + iwOffsetX - padX;\n        } else if (pixPosition.x + iwWidth + iwOffsetX + padX > mapWidth) {\n          xOffset = pixPosition.x + iwWidth + iwOffsetX + padX - mapWidth;\n        }\n\n        if (this.alignBottom_) {\n          if (pixPosition.y < -iwOffsetY + padY + iwHeight) {\n            yOffset = pixPosition.y + iwOffsetY - padY - iwHeight;\n          } else if (pixPosition.y + iwOffsetY + padY > mapHeight) {\n            yOffset = pixPosition.y + iwOffsetY + padY - mapHeight;\n          }\n        } else {\n          if (pixPosition.y < -iwOffsetY + padY) {\n            yOffset = pixPosition.y + iwOffsetY - padY;\n          } else if (pixPosition.y + iwHeight + iwOffsetY + padY > mapHeight) {\n            yOffset = pixPosition.y + iwHeight + iwOffsetY + padY - mapHeight;\n          }\n        }\n\n        if (!(xOffset === 0 && yOffset === 0)) {\n          // Move the map to the shifted center.\n          //\n          var c = map.getCenter();\n          map.panBy(xOffset, yOffset);\n        }\n      }\n    }\n  }\n};\n/**\n * Sets the style of the InfoBox by setting the style sheet and applying\n * other specific styles requested.\n * @private\n */\n\n\nInfoBox.prototype.setBoxStyle_ = function () {\n  var i, boxStyle;\n\n  if (this.div_) {\n    // Apply style values from the style sheet defined in the boxClass parameter:\n    this.div_.className = this.boxClass_; // Clear existing inline style values:\n\n    this.div_.style.cssText = \"\"; // Apply style values defined in the boxStyle parameter:\n\n    boxStyle = this.boxStyle_;\n\n    for (i in boxStyle) {\n      if (boxStyle.hasOwnProperty(i)) {\n        this.div_.style[i] = boxStyle[i];\n      }\n    } // Fix for iOS disappearing InfoBox problem.\n    // See http://stackoverflow.com/questions/9229535/google-maps-markers-disappear-at-certain-zoom-level-only-on-iphone-ipad\n    // Required: use \"matrix\" technique to specify transforms in order to avoid this bug.\n\n\n    if (typeof this.div_.style.WebkitTransform === \"undefined\" || this.div_.style.WebkitTransform.indexOf(\"translateZ\") === -1 && this.div_.style.WebkitTransform.indexOf(\"matrix\") === -1) {\n      this.div_.style.WebkitTransform = \"translateZ(0)\";\n    } // Fix up opacity style for benefit of MSIE:\n    //\n\n\n    if (typeof this.div_.style.opacity !== \"undefined\" && this.div_.style.opacity !== \"\") {\n      // See http://www.quirksmode.org/css/opacity.html\n      this.div_.style.MsFilter = \"\\\"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" + this.div_.style.opacity * 100 + \")\\\"\";\n      this.div_.style.filter = \"alpha(opacity=\" + this.div_.style.opacity * 100 + \")\";\n    } // Apply required styles:\n    //\n\n\n    this.div_.style.position = \"absolute\";\n    this.div_.style.visibility = 'hidden';\n\n    if (this.zIndex_ !== null) {\n      this.div_.style.zIndex = this.zIndex_;\n    }\n  }\n};\n/**\n * Get the widths of the borders of the InfoBox.\n * @private\n * @return {Object} widths object (top, bottom left, right)\n */\n\n\nInfoBox.prototype.getBoxWidths_ = function () {\n  var computedStyle;\n  var bw = {\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0\n  };\n  var box = this.div_;\n\n  if (document.defaultView && document.defaultView.getComputedStyle) {\n    computedStyle = box.ownerDocument.defaultView.getComputedStyle(box, \"\");\n\n    if (computedStyle) {\n      // The computed styles are always in pixel units (good!)\n      bw.top = parseInt(computedStyle.borderTopWidth, 10) || 0;\n      bw.bottom = parseInt(computedStyle.borderBottomWidth, 10) || 0;\n      bw.left = parseInt(computedStyle.borderLeftWidth, 10) || 0;\n      bw.right = parseInt(computedStyle.borderRightWidth, 10) || 0;\n    }\n  } else if (document.documentElement.currentStyle) {\n    // MSIE\n    if (box.currentStyle) {\n      // The current styles may not be in pixel units, but assume they are (bad!)\n      bw.top = parseInt(box.currentStyle.borderTopWidth, 10) || 0;\n      bw.bottom = parseInt(box.currentStyle.borderBottomWidth, 10) || 0;\n      bw.left = parseInt(box.currentStyle.borderLeftWidth, 10) || 0;\n      bw.right = parseInt(box.currentStyle.borderRightWidth, 10) || 0;\n    }\n  }\n\n  return bw;\n};\n/**\n * Invoked when <tt>close</tt> is called. Do not call it directly.\n */\n\n\nInfoBox.prototype.onRemove = function () {\n  if (this.div_) {\n    this.div_.parentNode.removeChild(this.div_);\n    this.div_ = null;\n  }\n};\n/**\n * Draws the InfoBox based on the current map projection and zoom level.\n */\n\n\nInfoBox.prototype.draw = function () {\n  this.createInfoBoxDiv_();\n  var pixPosition = this.getProjection().fromLatLngToDivPixel(this.position_);\n  this.div_.style.left = pixPosition.x + this.pixelOffset_.width + \"px\";\n\n  if (this.alignBottom_) {\n    this.div_.style.bottom = -(pixPosition.y + this.pixelOffset_.height) + \"px\";\n  } else {\n    this.div_.style.top = pixPosition.y + this.pixelOffset_.height + \"px\";\n  }\n\n  if (this.isHidden_) {\n    this.div_.style.visibility = \"hidden\";\n  } else {\n    this.div_.style.visibility = \"visible\";\n  }\n};\n/**\n * Sets the options for the InfoBox. Note that changes to the <tt>maxWidth</tt>,\n *  <tt>closeBoxMargin</tt>, <tt>closeBoxTitle</tt>, <tt>closeBoxURL</tt>, and\n *  <tt>enableEventPropagation</tt> properties have no affect until the current\n *  InfoBox is <tt>close</tt>d and a new one is <tt>open</tt>ed.\n * @param {InfoBoxOptions} opt_opts\n */\n\n\nInfoBox.prototype.setOptions = function (opt_opts) {\n  if (typeof opt_opts.boxClass !== \"undefined\") {\n    // Must be first\n    this.boxClass_ = opt_opts.boxClass;\n    this.setBoxStyle_();\n  }\n\n  if (typeof opt_opts.boxStyle !== \"undefined\") {\n    // Must be second\n    this.boxStyle_ = opt_opts.boxStyle;\n    this.setBoxStyle_();\n  }\n\n  if (typeof opt_opts.content !== \"undefined\") {\n    this.setContent(opt_opts.content);\n  }\n\n  if (typeof opt_opts.disableAutoPan !== \"undefined\") {\n    this.disableAutoPan_ = opt_opts.disableAutoPan;\n  }\n\n  if (typeof opt_opts.maxWidth !== \"undefined\") {\n    this.maxWidth_ = opt_opts.maxWidth;\n  }\n\n  if (typeof opt_opts.pixelOffset !== \"undefined\") {\n    this.pixelOffset_ = opt_opts.pixelOffset;\n  }\n\n  if (typeof opt_opts.alignBottom !== \"undefined\") {\n    this.alignBottom_ = opt_opts.alignBottom;\n  }\n\n  if (typeof opt_opts.position !== \"undefined\") {\n    this.setPosition(opt_opts.position);\n  }\n\n  if (typeof opt_opts.zIndex !== \"undefined\") {\n    this.setZIndex(opt_opts.zIndex);\n  }\n\n  if (typeof opt_opts.closeBoxMargin !== \"undefined\") {\n    this.closeBoxMargin_ = opt_opts.closeBoxMargin;\n  }\n\n  if (typeof opt_opts.closeBoxURL !== \"undefined\") {\n    this.closeBoxURL_ = opt_opts.closeBoxURL;\n  }\n\n  if (typeof opt_opts.closeBoxTitle !== \"undefined\") {\n    this.closeBoxTitle_ = opt_opts.closeBoxTitle;\n  }\n\n  if (typeof opt_opts.infoBoxClearance !== \"undefined\") {\n    this.infoBoxClearance_ = opt_opts.infoBoxClearance;\n  }\n\n  if (typeof opt_opts.isHidden !== \"undefined\") {\n    this.isHidden_ = opt_opts.isHidden;\n  }\n\n  if (typeof opt_opts.visible !== \"undefined\") {\n    this.isHidden_ = !opt_opts.visible;\n  }\n\n  if (typeof opt_opts.enableEventPropagation !== \"undefined\") {\n    this.enableEventPropagation_ = opt_opts.enableEventPropagation;\n  }\n\n  if (this.div_) {\n    this.draw();\n  }\n};\n/**\n * Sets the content of the InfoBox.\n *  The content can be plain text or an HTML DOM node.\n * @param {string|Node} content\n */\n\n\nInfoBox.prototype.setContent = function (content) {\n  this.content_ = content;\n\n  if (this.div_) {\n    if (this.closeListener_) {\n      google.maps.event.removeListener(this.closeListener_);\n      this.closeListener_ = null;\n    } // Odd code required to make things work with MSIE.\n    //\n\n\n    if (!this.fixedWidthSet_) {\n      this.div_.style.width = \"\";\n    }\n\n    if (typeof content.nodeType === \"undefined\") {\n      this.div_.innerHTML = this.getCloseBoxImg_() + content;\n    } else {\n      this.div_.innerHTML = this.getCloseBoxImg_();\n      this.div_.appendChild(content);\n    } // Perverse code required to make things work with MSIE.\n    // (Ensures the close box does, in fact, float to the right.)\n    //\n\n\n    if (!this.fixedWidthSet_) {\n      this.div_.style.width = this.div_.offsetWidth + \"px\";\n\n      if (typeof content.nodeType === \"undefined\") {\n        this.div_.innerHTML = this.getCloseBoxImg_() + content;\n      } else {\n        this.div_.innerHTML = this.getCloseBoxImg_();\n        this.div_.appendChild(content);\n      }\n    }\n\n    this.addClickHandler_();\n  }\n  /**\n   * This event is fired when the content of the InfoBox changes.\n   * @name InfoBox#content_changed\n   * @event\n   */\n\n\n  google.maps.event.trigger(this, \"content_changed\");\n};\n/**\n * Sets the geographic location of the InfoBox.\n * @param {LatLng} latlng\n */\n\n\nInfoBox.prototype.setPosition = function (latlng) {\n  this.position_ = latlng;\n\n  if (this.div_) {\n    this.draw();\n  }\n  /**\n   * This event is fired when the position of the InfoBox changes.\n   * @name InfoBox#position_changed\n   * @event\n   */\n\n\n  google.maps.event.trigger(this, \"position_changed\");\n};\n/**\n * Sets the zIndex style for the InfoBox.\n * @param {number} index\n */\n\n\nInfoBox.prototype.setZIndex = function (index) {\n  this.zIndex_ = index;\n\n  if (this.div_) {\n    this.div_.style.zIndex = index;\n  }\n  /**\n   * This event is fired when the zIndex of the InfoBox changes.\n   * @name InfoBox#zindex_changed\n   * @event\n   */\n\n\n  google.maps.event.trigger(this, \"zindex_changed\");\n};\n/**\n * Sets the visibility of the InfoBox.\n * @param {boolean} isVisible\n */\n\n\nInfoBox.prototype.setVisible = function (isVisible) {\n  this.isHidden_ = !isVisible;\n\n  if (this.div_) {\n    this.div_.style.visibility = this.isHidden_ ? \"hidden\" : \"visible\";\n  }\n};\n/**\n * Returns the content of the InfoBox.\n * @returns {string}\n */\n\n\nInfoBox.prototype.getContent = function () {\n  return this.content_;\n};\n/**\n * Returns the geographic location of the InfoBox.\n * @returns {LatLng}\n */\n\n\nInfoBox.prototype.getPosition = function () {\n  return this.position_;\n};\n/**\n * Returns the zIndex for the InfoBox.\n * @returns {number}\n */\n\n\nInfoBox.prototype.getZIndex = function () {\n  return this.zIndex_;\n};\n/**\n * Returns a flag indicating whether the InfoBox is visible.\n * @returns {boolean}\n */\n\n\nInfoBox.prototype.getVisible = function () {\n  var isVisible;\n\n  if (typeof this.getMap() === \"undefined\" || this.getMap() === null) {\n    isVisible = false;\n  } else {\n    isVisible = !this.isHidden_;\n  }\n\n  return isVisible;\n};\n/**\n * Returns the width of the InfoBox in pixels.\n * @returns {number}\n */\n\n\nInfoBox.prototype.getWidth = function () {\n  var width = null;\n\n  if (this.div_) {\n    width = this.div_.offsetWidth;\n  }\n\n  return width;\n};\n/**\n * Returns the height of the InfoBox in pixels.\n * @returns {number}\n */\n\n\nInfoBox.prototype.getHeight = function () {\n  var height = null;\n\n  if (this.div_) {\n    height = this.div_.offsetHeight;\n  }\n\n  return height;\n};\n/**\n * Shows the InfoBox. [Deprecated; use <tt>setVisible</tt> instead.]\n */\n\n\nInfoBox.prototype.show = function () {\n  this.isHidden_ = false;\n\n  if (this.div_) {\n    this.div_.style.visibility = \"visible\";\n  }\n};\n/**\n * Hides the InfoBox. [Deprecated; use <tt>setVisible</tt> instead.]\n */\n\n\nInfoBox.prototype.hide = function () {\n  this.isHidden_ = true;\n\n  if (this.div_) {\n    this.div_.style.visibility = \"hidden\";\n  }\n};\n/**\n * Adds the InfoBox to the specified map or Street View panorama. If <tt>anchor</tt>\n *  (usually a <tt>google.maps.Marker</tt>) is specified, the position\n *  of the InfoBox is set to the position of the <tt>anchor</tt>. If the\n *  anchor is dragged to a new location, the InfoBox moves as well.\n * @param {Map|StreetViewPanorama} map\n * @param {MVCObject} [anchor]\n */\n\n\nInfoBox.prototype.open = function (map, anchor) {\n  var me = this;\n\n  if (anchor) {\n    this.setPosition(anchor.getPosition()); // BUG FIX 2/17/2018: needed for v3.32\n\n    this.moveListener_ = google.maps.event.addListener(anchor, \"position_changed\", function () {\n      me.setPosition(this.getPosition());\n    });\n  }\n\n  this.setMap(map);\n\n  if (this.div_) {\n    this.panBox_(this.disableAutoPan_); // BUG FIX 2/17/2018: add missing parameter\n  }\n};\n/**\n * Removes the InfoBox from the map.\n */\n\n\nInfoBox.prototype.close = function () {\n  var i;\n\n  if (this.closeListener_) {\n    google.maps.event.removeListener(this.closeListener_);\n    this.closeListener_ = null;\n  }\n\n  if (this.eventListeners_) {\n    for (i = 0; i < this.eventListeners_.length; i++) {\n      google.maps.event.removeListener(this.eventListeners_[i]);\n    }\n\n    this.eventListeners_ = null;\n  }\n\n  if (this.moveListener_) {\n    google.maps.event.removeListener(this.moveListener_);\n    this.moveListener_ = null;\n  }\n\n  if (this.contextListener_) {\n    google.maps.event.removeListener(this.contextListener_);\n    this.contextListener_ = null;\n  }\n\n  this.setMap(null);\n};\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = InfoBox;\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/infobox.js?./node_modules/exports-loader/lib?InfoBox");

/***/ }),

/***/ "./node_modules/exports-loader/lib/index.js?this.OverlappingMarkerSpiderfier!./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/spiderfier.js":
/*!********************************************************************************************************************************************************!*\
  !*** ./node_modules/exports-loader/lib?this.OverlappingMarkerSpiderfier!./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/spiderfier.js ***!
  \********************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("/*\n OverlappingMarkerSpiderfier\nhttps://github.com/jawj/OverlappingMarkerSpiderfier\nCopyright (c) 2011 - 2017 George MacKerron\nReleased under the MIT licence: http://opensource.org/licenses/mit-license\nNote: The Google Maps API v3 must be included *before* this code\n*/\n(function () {\n  var m,\n      t,\n      w,\n      y,\n      u,\n      z = {}.hasOwnProperty,\n      A = [].slice;\n\n  this.OverlappingMarkerSpiderfier = function () {\n    function r(a, d) {\n      var b, f, e;\n      this.map = a;\n      null == d && (d = {});\n      null == this.constructor.N && (this.constructor.N = !0, h = google.maps, l = h.event, p = h.MapTypeId, c.keepSpiderfied = !1, c.ignoreMapClick = !1, c.markersWontHide = !1, c.markersWontMove = !1, c.basicFormatEvents = !1, c.nearbyDistance = 20, c.circleSpiralSwitchover = 9, c.circleFootSeparation = 23, c.circleStartAngle = x / 12, c.spiralFootSeparation = 26, c.spiralLengthStart = 11, c.spiralLengthFactor = 4, c.spiderfiedZIndex = h.Marker.MAX_ZINDEX + 2E4, c.highlightedLegZIndex = h.Marker.MAX_ZINDEX + 1E4, c.usualLegZIndex = h.Marker.MAX_ZINDEX + 1, c.legWeight = 1.5, c.legColors = {\n        usual: {},\n        highlighted: {}\n      }, e = c.legColors.usual, f = c.legColors.highlighted, e[p.HYBRID] = e[p.SATELLITE] = \"#fff\", f[p.HYBRID] = f[p.SATELLITE] = \"#f00\", e[p.TERRAIN] = e[p.ROADMAP] = \"#444\", f[p.TERRAIN] = f[p.ROADMAP] = \"#f00\", this.constructor.j = function (a) {\n        return this.setMap(a);\n      }, this.constructor.j.prototype = new h.OverlayView(), this.constructor.j.prototype.draw = function () {});\n\n      for (b in d) {\n        z.call(d, b) && (f = d[b], this[b] = f);\n      }\n\n      this.g = new this.constructor.j(this.map);\n      this.C();\n      this.c = {};\n      this.B = this.l = null;\n      this.addListener(\"click\", function (a, b) {\n        return l.trigger(a, \"spider_click\", b);\n      });\n      this.addListener(\"format\", function (a, b) {\n        return l.trigger(a, \"spider_format\", b);\n      });\n      this.ignoreMapClick || l.addListener(this.map, \"click\", function (a) {\n        return function () {\n          return a.unspiderfy();\n        };\n      }(this));\n      l.addListener(this.map, \"maptypeid_changed\", function (a) {\n        return function () {\n          return a.unspiderfy();\n        };\n      }(this));\n      l.addListener(this.map, \"zoom_changed\", function (a) {\n        return function () {\n          a.unspiderfy();\n          if (!a.basicFormatEvents) return a.h();\n        };\n      }(this));\n    }\n\n    var l, h, m, v, p, c, t, x, u;\n    c = r.prototype;\n    t = [r, c];\n    m = 0;\n\n    for (v = t.length; m < v; m++) {\n      u = t[m], u.VERSION = \"1.0.3\";\n    }\n\n    x = 2 * Math.PI;\n    h = l = p = null;\n    r.markerStatus = {\n      SPIDERFIED: \"SPIDERFIED\",\n      SPIDERFIABLE: \"SPIDERFIABLE\",\n      UNSPIDERFIABLE: \"UNSPIDERFIABLE\",\n      UNSPIDERFIED: \"UNSPIDERFIED\"\n    };\n\n    c.C = function () {\n      this.a = [];\n      this.s = [];\n    };\n\n    c.addMarker = function (a, d) {\n      a.setMap(this.map);\n      return this.trackMarker(a, d);\n    };\n\n    c.trackMarker = function (a, d) {\n      var b;\n      if (null != a._oms) return this;\n      a._oms = !0;\n      b = [l.addListener(a, \"click\", function (b) {\n        return function (d) {\n          return b.V(a, d);\n        };\n      }(this))];\n      this.markersWontHide || b.push(l.addListener(a, \"visible_changed\", function (b) {\n        return function () {\n          return b.D(a, !1);\n        };\n      }(this)));\n      this.markersWontMove || b.push(l.addListener(a, \"position_changed\", function (b) {\n        return function () {\n          return b.D(a, !0);\n        };\n      }(this)));\n      null != d && b.push(l.addListener(a, \"spider_click\", d));\n      this.s.push(b);\n      this.a.push(a);\n      this.basicFormatEvents ? this.trigger(\"format\", a, this.constructor.markerStatus.UNSPIDERFIED) : (this.trigger(\"format\", a, this.constructor.markerStatus.UNSPIDERFIABLE), this.h());\n      return this;\n    };\n\n    c.D = function (a, d) {\n      if (!this.J && !this.K) return null == a._omsData || !d && a.getVisible() || this.unspiderfy(d ? a : null), this.h();\n    };\n\n    c.getMarkers = function () {\n      return this.a.slice(0);\n    };\n\n    c.removeMarker = function (a) {\n      this.forgetMarker(a);\n      return a.setMap(null);\n    };\n\n    c.forgetMarker = function (a) {\n      var d, b, f, e, g;\n      null != a._omsData && this.unspiderfy();\n      d = this.A(this.a, a);\n      if (0 > d) return this;\n      g = this.s.splice(d, 1)[0];\n      b = 0;\n\n      for (f = g.length; b < f; b++) {\n        e = g[b], l.removeListener(e);\n      }\n\n      delete a._oms;\n      this.a.splice(d, 1);\n      this.h();\n      return this;\n    };\n\n    c.removeAllMarkers = c.clearMarkers = function () {\n      var a, d, b, f;\n      f = this.getMarkers();\n      this.forgetAllMarkers();\n      a = 0;\n\n      for (d = f.length; a < d; a++) {\n        b = f[a], b.setMap(null);\n      }\n\n      return this;\n    };\n\n    c.forgetAllMarkers = function () {\n      var a, d, b, f, e, g, c, q;\n      this.unspiderfy();\n      q = this.a;\n      a = d = 0;\n\n      for (b = q.length; d < b; a = ++d) {\n        g = q[a];\n        e = this.s[a];\n        c = 0;\n\n        for (a = e.length; c < a; c++) {\n          f = e[c], l.removeListener(f);\n        }\n\n        delete g._oms;\n      }\n\n      this.C();\n      return this;\n    };\n\n    c.addListener = function (a, d) {\n      var b;\n      (null != (b = this.c)[a] ? b[a] : b[a] = []).push(d);\n      return this;\n    };\n\n    c.removeListener = function (a, d) {\n      var b;\n      b = this.A(this.c[a], d);\n      0 > b || this.c[a].splice(b, 1);\n      return this;\n    };\n\n    c.clearListeners = function (a) {\n      this.c[a] = [];\n      return this;\n    };\n\n    c.trigger = function () {\n      var a, d, b, f, e, g;\n      d = arguments[0];\n      a = 2 <= arguments.length ? A.call(arguments, 1) : [];\n      d = null != (b = this.c[d]) ? b : [];\n      g = [];\n      f = 0;\n\n      for (e = d.length; f < e; f++) {\n        b = d[f], g.push(b.apply(null, a));\n      }\n\n      return g;\n    };\n\n    c.L = function (a, d) {\n      var b, f, e, g, c;\n      g = this.circleFootSeparation * (2 + a) / x;\n      f = x / a;\n      c = [];\n\n      for (b = e = 0; 0 <= a ? e < a : e > a; b = 0 <= a ? ++e : --e) {\n        b = this.circleStartAngle + b * f, c.push(new h.Point(d.x + g * Math.cos(b), d.y + g * Math.sin(b)));\n      }\n\n      return c;\n    };\n\n    c.M = function (a, d) {\n      var b, f, e, c, k;\n      c = this.spiralLengthStart;\n      b = 0;\n      k = [];\n\n      for (f = e = 0; 0 <= a ? e < a : e > a; f = 0 <= a ? ++e : --e) {\n        b += this.spiralFootSeparation / c + 5E-4 * f, f = new h.Point(d.x + c * Math.cos(b), d.y + c * Math.sin(b)), c += x * this.spiralLengthFactor / b, k.push(f);\n      }\n\n      return k;\n    };\n\n    c.V = function (a, d) {\n      var b, f, e, c, k, q, n, l, h;\n      (q = null != a._omsData) && this.keepSpiderfied || this.unspiderfy();\n      if (q || this.map.getStreetView().getVisible() || \"GoogleEarthAPI\" === this.map.getMapTypeId()) return this.trigger(\"click\", a, d);\n      q = [];\n      n = [];\n      b = this.nearbyDistance;\n      l = b * b;\n      k = this.f(a.position);\n      h = this.a;\n      b = 0;\n\n      for (f = h.length; b < f; b++) {\n        e = h[b], null != e.map && e.getVisible() && (c = this.f(e.position), this.i(c, k) < l ? q.push({\n          R: e,\n          G: c\n        }) : n.push(e));\n      }\n\n      return 1 === q.length ? this.trigger(\"click\", a, d) : this.W(q, n);\n    };\n\n    c.markersNearMarker = function (a, d) {\n      var b, f, e, c, k, q, n, l, h, m;\n      null == d && (d = !1);\n      if (null == this.g.getProjection()) throw \"Must wait for 'idle' event on map before calling markersNearMarker\";\n      b = this.nearbyDistance;\n      n = b * b;\n      k = this.f(a.position);\n      q = [];\n      l = this.a;\n      b = 0;\n\n      for (f = l.length; b < f && !(e = l[b], e !== a && null != e.map && e.getVisible() && (c = this.f(null != (h = null != (m = e._omsData) ? m.v : void 0) ? h : e.position), this.i(c, k) < n && (q.push(e), d))); b++) {\n        ;\n      }\n\n      return q;\n    };\n\n    c.F = function () {\n      var a, d, b, f, e, c, k, l, n, h, m;\n      if (null == this.g.getProjection()) throw \"Must wait for 'idle' event on map before calling markersNearAnyOtherMarker\";\n      n = this.nearbyDistance;\n      n *= n;\n      var p;\n      e = this.a;\n      p = [];\n      h = 0;\n\n      for (d = e.length; h < d; h++) {\n        f = e[h], p.push({\n          H: this.f(null != (a = null != (b = f._omsData) ? b.v : void 0) ? a : f.position),\n          b: !1\n        });\n      }\n\n      h = this.a;\n      a = b = 0;\n\n      for (f = h.length; b < f; a = ++b) {\n        if (d = h[a], null != d.getMap() && d.getVisible() && (c = p[a], !c.b)) for (m = this.a, d = l = 0, e = m.length; l < e; d = ++l) {\n          if (k = m[d], d !== a && null != k.getMap() && k.getVisible() && (k = p[d], (!(d < a) || k.b) && this.i(c.H, k.H) < n)) {\n            c.b = k.b = !0;\n            break;\n          }\n        }\n      }\n\n      return p;\n    };\n\n    c.markersNearAnyOtherMarker = function () {\n      var a, d, b, c, e, g, k;\n      e = this.F();\n      g = this.a;\n      k = [];\n      a = d = 0;\n\n      for (b = g.length; d < b; a = ++d) {\n        c = g[a], e[a].b && k.push(c);\n      }\n\n      return k;\n    };\n\n    c.setImmediate = function (a) {\n      return window.setTimeout(a, 0);\n    };\n\n    c.h = function () {\n      if (!this.basicFormatEvents && null == this.l) return this.l = this.setImmediate(function (a) {\n        return function () {\n          a.l = null;\n          return null != a.g.getProjection() ? a.w() : null != a.B ? void 0 : a.B = l.addListenerOnce(a.map, \"idle\", function () {\n            return a.w();\n          });\n        };\n      }(this));\n    };\n\n    c.w = function () {\n      var a, d, b, c, e, g, k;\n\n      if (this.basicFormatEvents) {\n        e = [];\n        d = 0;\n\n        for (b = markers.length; d < b; d++) {\n          c = markers[d], a = null != c._omsData ? \"SPIDERFIED\" : \"UNSPIDERFIED\", e.push(this.trigger(\"format\", c, this.constructor.markerStatus[a]));\n        }\n\n        return e;\n      }\n\n      e = this.F();\n      g = this.a;\n      k = [];\n      a = b = 0;\n\n      for (d = g.length; b < d; a = ++b) {\n        c = g[a], a = null != c._omsData ? \"SPIDERFIED\" : e[a].b ? \"SPIDERFIABLE\" : \"UNSPIDERFIABLE\", k.push(this.trigger(\"format\", c, this.constructor.markerStatus[a]));\n      }\n\n      return k;\n    };\n\n    c.P = function (a) {\n      return {\n        m: function (d) {\n          return function () {\n            return a._omsData.o.setOptions({\n              strokeColor: d.legColors.highlighted[d.map.mapTypeId],\n              zIndex: d.highlightedLegZIndex\n            });\n          };\n        }(this),\n        u: function (d) {\n          return function () {\n            return a._omsData.o.setOptions({\n              strokeColor: d.legColors.usual[d.map.mapTypeId],\n              zIndex: d.usualLegZIndex\n            });\n          };\n        }(this)\n      };\n    };\n\n    c.W = function (a, d) {\n      var b, c, e, g, k, q, n, m, p, r;\n      this.J = !0;\n      r = a.length;\n      b = this.T(function () {\n        var b, d, c;\n        c = [];\n        b = 0;\n\n        for (d = a.length; b < d; b++) {\n          m = a[b], c.push(m.G);\n        }\n\n        return c;\n      }());\n      g = r >= this.circleSpiralSwitchover ? this.M(r, b).reverse() : this.L(r, b);\n\n      b = function () {\n        var b, d, f;\n        f = [];\n        b = 0;\n\n        for (d = g.length; b < d; b++) {\n          e = g[b], c = this.U(e), p = this.S(a, function (a) {\n            return function (b) {\n              return a.i(b.G, e);\n            };\n          }(this)), n = p.R, q = new h.Polyline({\n            map: this.map,\n            path: [n.position, c],\n            strokeColor: this.legColors.usual[this.map.mapTypeId],\n            strokeWeight: this.legWeight,\n            zIndex: this.usualLegZIndex\n          }), n._omsData = {\n            v: n.getPosition(),\n            X: n.getZIndex(),\n            o: q\n          }, this.legColors.highlighted[this.map.mapTypeId] !== this.legColors.usual[this.map.mapTypeId] && (k = this.P(n), n._omsData.O = {\n            m: l.addListener(n, \"mouseover\", k.m),\n            u: l.addListener(n, \"mouseout\", k.u)\n          }), this.trigger(\"format\", n, this.constructor.markerStatus.SPIDERFIED), n.setPosition(c), n.setZIndex(Math.round(this.spiderfiedZIndex + e.y)), f.push(n);\n        }\n\n        return f;\n      }.call(this);\n\n      delete this.J;\n      this.I = !0;\n      return this.trigger(\"spiderfy\", b, d);\n    };\n\n    c.unspiderfy = function (a) {\n      var d, b, c, e, g, k, h;\n      null == a && (a = null);\n      if (null == this.I) return this;\n      this.K = !0;\n      h = [];\n      g = [];\n      k = this.a;\n      d = 0;\n\n      for (b = k.length; d < b; d++) {\n        e = k[d], null != e._omsData ? (e._omsData.o.setMap(null), e !== a && e.setPosition(e._omsData.v), e.setZIndex(e._omsData.X), c = e._omsData.O, null != c && (l.removeListener(c.m), l.removeListener(c.u)), delete e._omsData, e !== a && (c = this.basicFormatEvents ? \"UNSPIDERFIED\" : \"SPIDERFIABLE\", this.trigger(\"format\", e, this.constructor.markerStatus[c])), h.push(e)) : g.push(e);\n      }\n\n      delete this.K;\n      delete this.I;\n      this.trigger(\"unspiderfy\", h, g);\n      return this;\n    };\n\n    c.i = function (a, d) {\n      var b, c;\n      b = a.x - d.x;\n      c = a.y - d.y;\n      return b * b + c * c;\n    };\n\n    c.T = function (a) {\n      var c, b, f, e, g;\n      c = e = g = 0;\n\n      for (b = a.length; c < b; c++) {\n        f = a[c], e += f.x, g += f.y;\n      }\n\n      a = a.length;\n      return new h.Point(e / a, g / a);\n    };\n\n    c.f = function (a) {\n      return this.g.getProjection().fromLatLngToDivPixel(a);\n    };\n\n    c.U = function (a) {\n      return this.g.getProjection().fromDivPixelToLatLng(a);\n    };\n\n    c.S = function (a, c) {\n      var b, d, e, g, k, h;\n      e = k = 0;\n\n      for (h = a.length; k < h; e = ++k) {\n        if (g = a[e], g = c(g), \"undefined\" === typeof b || null === b || g < d) d = g, b = e;\n      }\n\n      return a.splice(b, 1)[0];\n    };\n\n    c.A = function (a, c) {\n      var b, d, e, g;\n      if (null != a.indexOf) return a.indexOf(c);\n      b = d = 0;\n\n      for (e = a.length; d < e; b = ++d) {\n        if (g = a[b], g === c) return b;\n      }\n\n      return -1;\n    };\n\n    return r;\n  }();\n\n  t = /(\\?.*(&|&amp;)|\\?)spiderfier_callback=(\\w+)/;\n  m = document.currentScript;\n  null == m && (m = function () {\n    var m, l, h, w, v;\n    h = document.getElementsByTagName(\"script\");\n    v = [];\n    m = 0;\n\n    for (l = h.length; m < l; m++) {\n      u = h[m], null != (w = u.getAttribute(\"src\")) && w.match(t) && v.push(u);\n    }\n\n    return v;\n  }()[0]);\n  if (null != m && (m = null != (w = m.getAttribute(\"src\")) ? null != (y = w.match(t)) ? y[3] : void 0 : void 0) && \"function\" === typeof window[m]) window[m]();\n  \"function\" === typeof window.spiderfier_callback && window.spiderfier_callback();\n}).call(this);\n/* Thu 11 May 2017 08:40:57 BST */\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = this.OverlappingMarkerSpiderfier;\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/vendor/googlemaps/spiderfier.js?./node_modules/exports-loader/lib?this.OverlappingMarkerSpiderfier");

/***/ })

}]);