{"version":3,"sources":["webpack:///./src/services/MerchantService.js","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///./src/components/filters/CreateTargetButton.vue?42d7","webpack:///src/components/filters/CreateTargetButton.vue","webpack:///./src/components/filters/CreateTargetButton.vue?1c1f","webpack:///./src/components/filters/CreateTargetButton.vue","webpack:///./node_modules/leaflet-heatmap/leaflet-heatmap.js","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///./src/components/leaflet/popups/Merchant.vue?0768","webpack:///src/components/leaflet/popups/Merchant.vue","webpack:///./src/components/leaflet/popups/Merchant.vue?97a5","webpack:///./src/components/leaflet/popups/Merchant.vue?c3f1","webpack:///./node_modules/leaflet/dist/leaflet-src.js","webpack:///./src/components/leaflet/popups/Merchant.vue?fd40","webpack:///./node_modules/heatmap.js/build/heatmap.js","webpack:///./src/components/filters/autocompletes/MerchantSelect.vue?e27c","webpack:///src/components/filters/autocompletes/MerchantSelect.vue","webpack:///./src/components/filters/autocompletes/MerchantSelect.vue?9dba","webpack:///./src/components/filters/autocompletes/MerchantSelect.vue","webpack:///./src/components/filters/TargetActionsMenu.vue?c7d4","webpack:///src/components/filters/TargetActionsMenu.vue","webpack:///./src/components/filters/TargetActionsMenu.vue?dbe9","webpack:///./src/components/filters/TargetActionsMenu.vue","webpack:///../../../src/mixins/selectable/index.ts"],"names":["id","path","result","Vue","prototype","$axios","url","method","then","response","data","catch","error","merchants","name","minutes","mode","priority","responseType","directives","ripple","props","type","Boolean","default","methods","genRipple","this","value","center","$createElement","render","_vm","_h","_c","_self","attrs","loading","on","create","_v","staticRenderFns","computed","filterRequest","$store","getters","isSegmentFilterActive","isSalesrepFilterActive","component","VBtn","context","factory","module","exports","h337","L","Layer","Class","HeatmapOverlay","extend","initialize","config","cfg","_el","DomUtil","_data","_max","_min","container","onAdd","map","size","getSize","_map","_width","x","_height","y","style","width","height","position","_origin","layerPointToLatLng","Point","getPanes","overlayPane","appendChild","_heatmap","_reset","_draw","addTo","addLayer","onRemove","removeChild","off","mapPane","point","_leaflet_pos","CSS_TRANSFORM","Math","round","_update","bounds","zoom","scale","generatedData","max","min","getBounds","getZoom","pow","length","latLngPoints","radiusMultiplier","scaleRadius","localMax","localMin","valueField","len","entry","latlng","contains","radius","latLngToContainerPoint","latlngPoint","push","useLocalExtrema","setData","latField","lngField","d","LatLng","dataObj","addData","pointOrArray","_renderer","setDimensions","div","document","createElement","i","prop","undefined","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","classes","computedIcon","validationState","isDisabled","hasError","hasColor","watch","isActive","genCheckbox","checkboxAttrs","staticClass","setTextColor","dense","dark","light","genInput","toString","genDefaultSlot","_s","title","_e","scopedSlots","_u","key","fn","staticStyle","_l","item","$event","toggleSelected","isSelected","dimensionName","r12_Formatted","ytd_Formatted","lytd_Formatted","ly_Formatted","customersActive_Formatted","proxy","selected","plotOnMap","exportSummary","rawName","expression","ref","dashboard","report","components","createtargetbutton","layer","merchantId","targetId","some","filtered","VAlert","VCard","VCardActions","VCardText","VCardTitle","VIcon","VSimpleCheckbox","VSimpleTable","VSpacer","global","version","dest","j","src","arguments","Object","F","proto","bind","obj","slice","Array","apply","call","args","concat","lastId","stamp","_leaflet_id","throttle","time","lock","wrapperFn","later","setTimeout","wrapNum","range","includeMax","falseFn","formatNum","num","digits","trim","str","replace","splitWords","split","setOptions","options","hasOwnProperty","getParamString","existingUrl","uppercase","params","encodeURIComponent","toUpperCase","indexOf","join","templateRe","template","Error","isArray","array","el","emptyImageUrl","getPrefixed","window","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Util","checkDeprecatedMixinEvents","includes","Mixin","Events","console","warn","stack","NewClass","callInitHooks","parentProto","__super__","constructor","statics","_initHooks","_initHooksCalled","include","mergeOptions","addInitHook","init","types","_on","_off","_events","typeListeners","newListener","ctx","listeners","l","_firingCount","splice","fire","propagate","listens","event","target","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","e","propagatedFrom","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","trunc","v","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","lat","lng","alt","isNaN","toLatLng","c","lon","clone","add","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","abs","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","intersects","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","margin","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","CRS","latLngToPoint","projectedPoint","projection","project","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","log","LN2","getProjectedBounds","infinite","s","transform","wrapLng","wrapLat","wrapLatLngBounds","newCenter","latShift","lngShift","newSw","newNe","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_d","toTransformation","EPSG3857","code","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","defineProperty","get","canvas","getContext","createSVGRect","vml","innerHTML","shape","firstChild","behavior","adj","toLowerCase","Browser","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","_pointers","_pointerDocListener","addPointerListener","_addPointerStart","_addPointerMove","_addPointerEnd","removePointerListener","onDown","MSPOINTER_TYPE_TOUCH","pointerType","preventDefault","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","touches","changedTouches","onMove","MSPOINTER_TYPE_MOUSE","buttons","onUp","_touchstart","_touchend","_pre","addDoubleTapListener","last","touch$$1","doubleTap","delay","onTouchStart","isPrimary","now","delta","onTouchEnd","cancelBubble","newTouch","button","passive","removeDoubleTapListener","touchstart","touchend","dblclick","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","create$1","tagName","className","remove","parent","parentNode","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","RegExp","test","addClass","setClass","removeClass","baseVal","correspondingElement","setOpacity","opacity","_setOpacityIE","filter","filterName","filters","Enabled","Opacity","setTransform","offset","pos","setPosition","left","top","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","element","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","boundingClientRect","addOne","eventsKey","removeOne","browserFiresNativeDblClick","mouseSubst","mouseenter","mouseleave","wheel","originalHandler","isExternalTarget","attachEvent","detachEvent","stopPropagation","originalEvent","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","stop","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","skipEvents","events","related","relatedTarget","err","DomEvent","addListener","removeListener","PosAnimation","run","newPos","duration","easeLinearity","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","elapsed","_runFrame","_easeOut","progress","t","Map","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","reset","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","moved","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","setZoom","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","containerPoint","centerOffset","containerPointToLatLng","_getBoundsCenterZoom","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","from","to","startZoom","w0","w1","u1","rho","rho2","r","s1","s2","t1","b1","sq","sinh","n","cosh","tanh","r0","w","u","easeOut","start","S","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","_moveStart","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","timeout","_handleGeolocationError","message","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","createPane","pane","_checkIfLoaded","_moved","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_simulated","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","getLatLng","_radius","bubblingMouseEvents","enabled","boxZoom","disable","whenReady","callback","pixelOrigin","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","dx","_rebound","dy","right","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","createMap","Control","removeControl","addControl","corner","_controlCorners","_refocusOnMap","screenX","screenY","focus","control","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","setAttribute","section","link","_layersLink","href","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","text","ratio","pow10","Attribution","prefix","_attributions","attributionControl","getAttribution","addAttribution","setPrefix","removeAttribution","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","which","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","_reducePoints","_simplifyDP","pointToSegmentDistance","p1","p2","_sqClosestPointOnSegment","closestPointOnSegment","ArrayConstructor","Uint8Array","markers","_simplifyDPStep","newPoints","index","sqDist","maxSqDist","reducedPoints","prev","_sqDist","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","LineUtil","clipPolygon","clippedPoints","k","edges","_code","PolyUtil","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","layerGroup","FeatureGroup","setStyle","bringToFront","bringToBack","featureGroup","Icon","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","icon","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","MarkerDrag","marker","_marker","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","draggable","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","circleMarker","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","circle","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","_simplifyPoints","_updatePoly","part","polyline","Polygon","f","area","pop","clipped","polygon","GeoJSON","geojson","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","properties","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","crossOrigin","errorOverlayUrl","_url","_image","_initImage","styleOpts","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","imageOverlay","VideoOverlay","autoplay","loop","keepAspectRatio","muted","vid","onloadeddata","sourceElements","getElementsByTagName","sources","source","videoOverlay","video","SVGOverlay","svgOverlay","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","content","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","popup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","keyCode","Tooltip","direction","permanent","sticky","tooltip","closeTooltip","_setPosition","subX","subY","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","unbindTooltip","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","getTooltip","DivIcon","bgPos","Element","backgroundPosition","divIcon","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","Number","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","gridLayer","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","styles","format","transparent","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","tileLayerWMS","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","destCenterPoint","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","restore","beginPath","clip","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","canvas$1","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","svg$1","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","rectangle","BoxZoom","_pane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","keys","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","_simulatedClick","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","Projection","latLng","oldL","noConflict","HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","0.25","0.55","0.85","1","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","_coordinator","_radi","_xField","_yField","_valueField","_cfgRadius","_organiseData","dataPoint","forceRender","radi","store","storedVal","setDataMax","setDataMin","_unOrganizeData","unorganizedData","_onExtremaChange","emit","dataArr","dataLen","organisedEntry","dataPoints","pointsLen","_getInternalData","removeData","setCoordinator","coordinator","getData","Canvas2dRenderer","_getColorPalette","gradientConfig","gradient","paletteCanvas","paletteCtx","createLinearGradient","addColorStop","fillRect","getImageData","_getPointTemplate","blurFactor","tplCanvas","tplCtx","createRadialGradient","_prepareData","renderData","xValues","xValuesLen","xValue","yValues","yValuesLen","yValue","shadowCanvas","_renderBoundaries","shadowCtx","cssText","_palette","_templates","_setStyles","renderPartial","_drawAlpha","_colorize","renderAll","_updateGradient","updateConfig","_blur","backgroundColor","_opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","tpl","rectX","rectY","templateAlpha","drawImage","imgData","palette","finalAlpha","alpha","putImageData","getValueAt","getDataURL","toDataURL","rendererFn","merge","merged","argsLen","Heatmap","Coordinator","cStore","evtName","scope","_connect","_store","_config","onExtremaChange","pluginToLoad","plugin","configure","repaint","heatmapFactory","register","pluginKey","values","itemsFiltered","set","selectAll","enablePlot","plotOnSelection","enableSelectAll","merchantTypes","val","items","filteredText","mounted","load","dispatch","addMerchantPopupToMarker","vuetify","propsData","featureName","featureId","lpop","VAutocomplete","VChip","VSlideXReverseTransition","resultText","_g","plotOrganizationsOnMap","plotVisitedMerchantsOnMap","showSalesReport","showExportSummary","plotHeatmap","model","$$v","showHeatmap","show","modalComponent","FillClusterGroup","VCardSubtitle","VCheckbox","VList","VListItem","VListItemTitle","VMenu","inputValue","falseValue","trueValue","multiple","String","lazyValue","computedColor","isDark","isMultiple","valueComparator","isDirty","rippleState","genLabel","prevent","role","domProps","change","onBlur","onClick","onChange","onFocus","onKeydown"],"mappings":"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","file":"js/chunk-1ff18836.f1b6b6fd.js","sourcesContent":["import Vue from \"vue\";\r\n\r\nexport default new (class SegmentService {\r\n\r\n async GetMerchantById(id) {\r\n const path = `/api/merchants/${id}`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n }\r\n\r\n async GetMerchants() {\r\n const path = `/api/merchants/merchants`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n }\r\n\r\n async GetMerchantTypes() {\r\n const path = `/api/merchants/MerchantTypes`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n }\r\n\r\n async GetMerchantsFeatureCollection(merchants ) {\r\n const path = \"/api/merchants/GetMerchantsFeatureCollection\";\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"post\",\r\n data: merchants,\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n\r\n async CreateDistributionPlan(name, merchants, minutes, mode, priority){\r\n const path = `/api/merchants/CreateDistributionPlan/${name}/${mode}/${minutes}/${priority}`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"post\",\r\n data: merchants\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n \r\n async DistributionReports() {\r\n const path = `/api/merchants/DistributionReports`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n \r\n \r\n async MerchantPostalcodeDistributionChart(id) {\r\n const path = `/api/merchants/MerchantPostalcodeDistributionChart/${id}`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n\r\n async MerchantHouseHoldDistributionChart(id) {\r\n const path = `/api/merchants/MerchantHouseHoldDistributionChart/${id}`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n \r\n async DownloadDistributionPlan(id) {\r\n const path = `/api/merchants/DownloadDistributionPlan/${id}`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"get\",\r\n responseType: \"blob\"\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n \r\n return result;\r\n } \r\n \r\n \r\n async GetPricingReport(data){\r\n const path = `/api/merchants/PricingReport`;\r\n let result = null;\r\n await Vue.prototype.$axios({\r\n url: path,\r\n method: \"post\",\r\n data: data\r\n })\r\n .then((response) => {\r\n result = response.data;\r\n })\r\n .catch((error) => {\r\n result = error.response.data\r\n });\r\n\r\n return result;\r\n } \r\n\r\n // async GetMerchantsFeatureCollection(merchants){\r\n // const path = `/api/merchants/GetMerchantsFeatureCollection`;\r\n // let result = null;\r\n // await Vue.prototype.$axios.get(path, {\r\n // params: {\r\n // merchants: merchants\r\n // }\r\n // })\r\n // .then((response) => {\r\n // result = response.data;\r\n // })\r\n // .catch((error) => {\r\n // result = error.response.data\r\n // });\r\n\r\n // return result;\r\n // } \r\n \r\n})();\r\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-btn',{attrs:{\"small\":\"\",\"type\":\"primary\",\"color\":\"primary\",\"loading\":_vm.loading,\"width\":\"150\"},on:{\"click\":_vm.create}},[_vm._v(\" Apply filter \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n Apply filter\r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateTargetButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateTargetButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateTargetButton.vue?vue&type=template&id=92d2b1b8&\"\nimport script from \"./CreateTargetButton.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateTargetButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","/*\n* Leaflet Heatmap Overlay\n*\n* Copyright (c) 2008-2016, Patrick Wied (https://www.patrick-wied.at)\n* Dual-licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\n* and the Beerware (http://en.wikipedia.org/wiki/Beerware) license.\n*/\n;(function (name, context, factory) {\n // Supports UMD. AMD, CommonJS/Node.js and browser context\n if (typeof module !== \"undefined\" && module.exports) {\n module.exports = factory(\n require('heatmap.js'),\n require('leaflet')\n );\n } else if (typeof define === \"function\" && define.amd) {\n define(['heatmap.js', 'leaflet'], factory);\n } else {\n // browser globals\n if (typeof window.h337 === 'undefined') {\n throw new Error('heatmap.js must be loaded before the leaflet heatmap plugin');\n }\n if (typeof window.L === 'undefined') {\n throw new Error('Leaflet must be loaded before the leaflet heatmap plugin');\n }\n context[name] = factory(window.h337, window.L);\n }\n\n})(\"HeatmapOverlay\", this, function (h337, L) {\n 'use strict';\n\n // Leaflet < 0.8 compatibility\n if (typeof L.Layer === 'undefined') {\n L.Layer = L.Class;\n }\n\n var HeatmapOverlay = L.Layer.extend({\n\n initialize: function (config) {\n this.cfg = config;\n this._el = L.DomUtil.create('div', 'leaflet-zoom-hide');\n this._data = [];\n this._max = 1;\n this._min = 0;\n this.cfg.container = this._el;\n },\n\n onAdd: function (map) {\n var size = map.getSize();\n\n this._map = map;\n\n this._width = size.x;\n this._height = size.y;\n\n this._el.style.width = size.x + 'px';\n this._el.style.height = size.y + 'px';\n this._el.style.position = 'absolute';\n\n this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));\n\n map.getPanes().overlayPane.appendChild(this._el);\n\n if (!this._heatmap) {\n this._heatmap = h337.create(this.cfg);\n } \n\n // this resets the origin and redraws whenever\n // the zoom changed or the map has been moved\n map.on('moveend', this._reset, this);\n this._draw();\n },\n\n addTo: function (map) {\n map.addLayer(this);\n return this;\n },\n\n onRemove: function (map) {\n // remove layer's DOM elements and listeners\n map.getPanes().overlayPane.removeChild(this._el);\n\n map.off('moveend', this._reset, this);\n },\n _draw: function() {\n if (!this._map) { return; }\n \n var mapPane = this._map.getPanes().mapPane;\n var point = mapPane._leaflet_pos; \n\n // reposition the layer\n this._el.style[HeatmapOverlay.CSS_TRANSFORM] = 'translate(' +\n -Math.round(point.x) + 'px,' +\n -Math.round(point.y) + 'px)';\n\n this._update();\n },\n _update: function() {\n var bounds, zoom, scale;\n var generatedData = { max: this._max, min: this._min, data: [] };\n\n bounds = this._map.getBounds();\n zoom = this._map.getZoom();\n scale = Math.pow(2, zoom);\n\n if (this._data.length == 0) {\n if (this._heatmap) {\n this._heatmap.setData(generatedData);\n }\n return;\n }\n\n\n var latLngPoints = [];\n var radiusMultiplier = this.cfg.scaleRadius ? scale : 1;\n var localMax = 0;\n var localMin = 0;\n var valueField = this.cfg.valueField;\n var len = this._data.length;\n \n while (len--) {\n var entry = this._data[len];\n var value = entry[valueField];\n var latlng = entry.latlng;\n\n\n // we don't wanna render points that are not even on the map ;-)\n if (!bounds.contains(latlng)) {\n continue;\n }\n // local max is the maximum within current bounds\n localMax = Math.max(value, localMax);\n localMin = Math.min(value, localMin);\n\n var point = this._map.latLngToContainerPoint(latlng);\n var latlngPoint = { x: Math.round(point.x), y: Math.round(point.y) };\n latlngPoint[valueField] = value;\n\n var radius;\n\n if (entry.radius) {\n radius = entry.radius * radiusMultiplier;\n } else {\n radius = (this.cfg.radius || 2) * radiusMultiplier;\n }\n latlngPoint.radius = radius;\n latLngPoints.push(latlngPoint);\n }\n if (this.cfg.useLocalExtrema) {\n generatedData.max = localMax;\n generatedData.min = localMin;\n }\n\n generatedData.data = latLngPoints;\n\n this._heatmap.setData(generatedData);\n },\n setData: function(data) {\n this._max = data.max || this._max;\n this._min = data.min || this._min;\n var latField = this.cfg.latField || 'lat';\n var lngField = this.cfg.lngField || 'lng';\n var valueField = this.cfg.valueField || 'value';\n \n // transform data to latlngs\n var data = data.data;\n var len = data.length;\n var d = [];\n \n while (len--) {\n var entry = data[len];\n var latlng = new L.LatLng(entry[latField], entry[lngField]);\n var dataObj = { latlng: latlng };\n dataObj[valueField] = entry[valueField];\n if (entry.radius) {\n dataObj.radius = entry.radius;\n }\n d.push(dataObj);\n }\n this._data = d;\n \n this._draw();\n },\n // experimential... not ready.\n addData: function(pointOrArray) {\n if (pointOrArray.length > 0) {\n var len = pointOrArray.length;\n while(len--) {\n this.addData(pointOrArray[len]);\n }\n } else {\n var latField = this.cfg.latField || 'lat';\n var lngField = this.cfg.lngField || 'lng';\n var valueField = this.cfg.valueField || 'value';\n var entry = pointOrArray;\n var latlng = new L.LatLng(entry[latField], entry[lngField]);\n var dataObj = { latlng: latlng };\n \n dataObj[valueField] = entry[valueField];\n this._max = Math.max(this._max, dataObj[valueField]);\n this._min = Math.min(this._min, dataObj[valueField]);\n\n if (entry.radius) {\n dataObj.radius = entry.radius;\n }\n this._data.push(dataObj);\n this._draw();\n }\n },\n _reset: function () {\n this._origin = this._map.layerPointToLatLng(new L.Point(0, 0));\n \n var size = this._map.getSize();\n if (this._width !== size.x || this._height !== size.y) {\n this._width = size.x;\n this._height = size.y;\n\n this._el.style.width = this._width + 'px';\n this._el.style.height = this._height + 'px';\n\n this._heatmap._renderer.setDimensions(this._width, this._height);\n }\n this._draw();\n } \n });\n\n HeatmapOverlay.CSS_TRANSFORM = (function() {\n var div = document.createElement('div');\n var props = [\n 'transform',\n 'WebkitTransform',\n 'MozTransform',\n 'OTransform',\n 'msTransform'\n ];\n\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n if (div.style[prop] !== undefined) {\n return prop;\n }\n }\n return props[0];\n })();\n\n return HeatmapOverlay;\n});","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"loading\":_vm.loading,\"flat\":\"\"}},[(_vm.title)?_c('v-card-title',[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('v-card-text',[_c('v-simple-table',{staticClass:\"merchant-summary-table\",attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}}),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" Segment \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" R12 \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" YTD \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" LYTD \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" LY \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"font-size\":\"10px\"}},[_vm._v(\" Customers R12 \")])])]),_c('tbody',_vm._l((_vm.overview),function(item,i){return _c('tr',{key:i,staticStyle:{\"font-size\":\"6px\"},attrs:{\"active\":true},on:{\"click\":function($event){return _vm.toggleSelected(item)}}},[_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_c('v-simple-checkbox',{attrs:{\"ripple\":false,\"value\":_vm.isSelected(item)},on:{\"input\":function($event){return _vm.toggleSelected(item)}}})],1),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.dimensionName))]),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.r12_Formatted))]),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.ytd_Formatted))]),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.lytd_Formatted))]),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.ly_Formatted))]),_c('td',{staticStyle:{\"font-size\":\"10px\"}},[_vm._v(_vm._s(item.customersActive_Formatted))])])}),0)]},proxy:true}])})],1),_c('v-card-text',[_c('v-alert',{attrs:{\"elevation\":\"4\",\"dense\":\"\",\"color\":\"green lighten-4\"}},[_c('div',{staticClass:\"transition-swing text-caption\"},[_vm._v(\"Process selected rows\")]),_c('v-btn',{attrs:{\"color\":\"info\",\"x-small\":\"\",\"disabled\":_vm.selected.length == 0},on:{\"click\":_vm.plotOnMap}},[_vm._v(\" Plot on map \")]),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"color\":\"info\",\"x-small\":\"\",\"disabled\":_vm.selected.length == 0},on:{\"click\":_vm.exportSummary}},[_vm._v(\" Export \")])],1),_c('createtargetbutton',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"targetCreate\"}),_c('targetactionsmenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],ref:\"targetActions\"})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"info\"},on:{\"click\":_vm.dashboard}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-chart-bar\")]),_vm._v(\" Dashboard \")],1),_c('v-btn',{staticClass:\"ml-2\",attrs:{\"small\":\"\",\"color\":\"info\"},on:{\"click\":_vm.report}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-table\")]),_vm._v(\" Report \")],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n {{ title }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Segment\r\n
\r\n
\r\n R12\r\n
\r\n
\r\n YTD\r\n
\r\n
\r\n LYTD\r\n
\r\n
\r\n LY\r\n
\r\n
\r\n Customers R12\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
{{ item.dimensionName }}
\r\n
{{ item.r12_Formatted }}
\r\n
{{ item.ytd_Formatted }}
\r\n
{{ item.lytd_Formatted }}
\r\n
{{ item.ly_Formatted }}
\r\n
{{ item.customersActive_Formatted }}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Process selected rows
\r\n \r\n Plot on map\r\n \r\n \r\n Export\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n mdi-chart-bar\r\n Dashboard\r\n \r\n \r\n mdi-table\r\n Report\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Merchant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Merchant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Merchant.vue?vue&type=template&id=fcbf3f56&scoped=true&\"\nimport script from \"./Merchant.vue?vue&type=script&lang=js&\"\nexport * from \"./Merchant.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Merchant.vue?vue&type=style&index=0&id=fcbf3f56&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fcbf3f56\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VIcon,VSimpleCheckbox,VSimpleTable,VSpacer})\n","/* @preserve\n * Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com\n * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.L = {})));\n}(this, (function (exports) { 'use strict';\n\n var version = \"1.7.1\";\n\n /*\r\n * @namespace Util\r\n *\r\n * Various utility functions, used by Leaflet internally.\r\n */\r\n\r\n // @function extend(dest: Object, src?: Object): Object\r\n // Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\n function extend(dest) {\r\n \tvar i, j, len, src;\r\n\r\n \tfor (j = 1, len = arguments.length; j < len; j++) {\r\n \t\tsrc = arguments[j];\r\n \t\tfor (i in src) {\r\n \t\t\tdest[i] = src[i];\r\n \t\t}\r\n \t}\r\n \treturn dest;\r\n }\r\n\r\n // @function create(proto: Object, properties?: Object): Object\r\n // Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\n var create = Object.create || (function () {\r\n \tfunction F() {}\r\n \treturn function (proto) {\r\n \t\tF.prototype = proto;\r\n \t\treturn new F();\r\n \t};\r\n })();\r\n\r\n // @function bind(fn: Function, …): Function\r\n // Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n // Has a `L.bind()` shortcut.\r\n function bind(fn, obj) {\r\n \tvar slice = Array.prototype.slice;\r\n\r\n \tif (fn.bind) {\r\n \t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n \t}\r\n\r\n \tvar args = slice.call(arguments, 2);\r\n\r\n \treturn function () {\r\n \t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n \t};\r\n }\r\n\r\n // @property lastId: Number\r\n // Last unique ID used by [`stamp()`](#util-stamp)\r\n var lastId = 0;\r\n\r\n // @function stamp(obj: Object): Number\r\n // Returns the unique ID of an object, assigning it one if it doesn't have it.\r\n function stamp(obj) {\r\n \t/*eslint-disable */\r\n \tobj._leaflet_id = obj._leaflet_id || ++lastId;\r\n \treturn obj._leaflet_id;\r\n \t/* eslint-enable */\r\n }\r\n\r\n // @function throttle(fn: Function, time: Number, context: Object): Function\r\n // Returns a function which executes function `fn` with the given scope `context`\r\n // (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n // `fn` will be called no more than one time per given amount of `time`. The arguments\r\n // received by the bound function will be any arguments passed when binding the\r\n // function, followed by any arguments passed when invoking the bound function.\r\n // Has an `L.throttle` shortcut.\r\n function throttle(fn, time, context) {\r\n \tvar lock, args, wrapperFn, later;\r\n\r\n \tlater = function () {\r\n \t\t// reset lock and call if queued\r\n \t\tlock = false;\r\n \t\tif (args) {\r\n \t\t\twrapperFn.apply(context, args);\r\n \t\t\targs = false;\r\n \t\t}\r\n \t};\r\n\r\n \twrapperFn = function () {\r\n \t\tif (lock) {\r\n \t\t\t// called too soon, queue to call later\r\n \t\t\targs = arguments;\r\n\r\n \t\t} else {\r\n \t\t\t// call and lock until later\r\n \t\t\tfn.apply(context, arguments);\r\n \t\t\tsetTimeout(later, time);\r\n \t\t\tlock = true;\r\n \t\t}\r\n \t};\r\n\r\n \treturn wrapperFn;\r\n }\r\n\r\n // @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n // Returns the number `num` modulo `range` in such a way so it lies within\r\n // `range[0]` and `range[1]`. The returned value will be always smaller than\r\n // `range[1]` unless `includeMax` is set to `true`.\r\n function wrapNum(x, range, includeMax) {\r\n \tvar max = range[1],\r\n \t min = range[0],\r\n \t d = max - min;\r\n \treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n }\r\n\r\n // @function falseFn(): Function\r\n // Returns a function which always returns `false`.\r\n function falseFn() { return false; }\r\n\r\n // @function formatNum(num: Number, digits?: Number): Number\r\n // Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.\r\n function formatNum(num, digits) {\r\n \tvar pow = Math.pow(10, (digits === undefined ? 6 : digits));\r\n \treturn Math.round(num * pow) / pow;\r\n }\r\n\r\n // @function trim(str: String): String\r\n // Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\n function trim(str) {\r\n \treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n }\r\n\r\n // @function splitWords(str: String): String[]\r\n // Trims and splits the string on whitespace and returns the array of parts.\r\n function splitWords(str) {\r\n \treturn trim(str).split(/\\s+/);\r\n }\r\n\r\n // @function setOptions(obj: Object, options: Object): Object\r\n // Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\n function setOptions(obj, options) {\r\n \tif (!Object.prototype.hasOwnProperty.call(obj, 'options')) {\r\n \t\tobj.options = obj.options ? create(obj.options) : {};\r\n \t}\r\n \tfor (var i in options) {\r\n \t\tobj.options[i] = options[i];\r\n \t}\r\n \treturn obj.options;\r\n }\r\n\r\n // @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n // Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n // translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n // be appended at the end. If `uppercase` is `true`, the parameter names will\r\n // be uppercased (e.g. `'?A=foo&B=bar'`)\r\n function getParamString(obj, existingUrl, uppercase) {\r\n \tvar params = [];\r\n \tfor (var i in obj) {\r\n \t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n \t}\r\n \treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n }\r\n\r\n var templateRe = /\\{ *([\\w_-]+) *\\}/g;\r\n\r\n // @function template(str: String, data: Object): String\r\n // Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n // and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n // `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n // data values — they will be evaluated passing `data` as an argument.\r\n function template(str, data) {\r\n \treturn str.replace(templateRe, function (str, key) {\r\n \t\tvar value = data[key];\r\n\r\n \t\tif (value === undefined) {\r\n \t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n \t\t} else if (typeof value === 'function') {\r\n \t\t\tvalue = value(data);\r\n \t\t}\r\n \t\treturn value;\r\n \t});\r\n }\r\n\r\n // @function isArray(obj): Boolean\r\n // Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\n var isArray = Array.isArray || function (obj) {\r\n \treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n };\r\n\r\n // @function indexOf(array: Array, el: Object): Number\r\n // Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\n function indexOf(array, el) {\r\n \tfor (var i = 0; i < array.length; i++) {\r\n \t\tif (array[i] === el) { return i; }\r\n \t}\r\n \treturn -1;\r\n }\r\n\r\n // @property emptyImageUrl: String\r\n // Data URI string containing a base64-encoded empty GIF image.\r\n // Used as a hack to free memory from unused images on WebKit-powered\r\n // mobile devices (by setting image `src` to this string).\r\n var emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n // inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\n function getPrefixed(name) {\r\n \treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n }\r\n\r\n var lastTime = 0;\r\n\r\n // fallback for IE 7-8\r\n function timeoutDefer(fn) {\r\n \tvar time = +new Date(),\r\n \t timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n \tlastTime = time + timeToCall;\r\n \treturn window.setTimeout(fn, timeToCall);\r\n }\r\n\r\n var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\n var cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n \t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n // @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n // Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n // `context` if given. When `immediate` is set, `fn` is called immediately if\r\n // the browser doesn't have native support for\r\n // [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n // otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\n function requestAnimFrame(fn, context, immediate) {\r\n \tif (immediate && requestFn === timeoutDefer) {\r\n \t\tfn.call(context);\r\n \t} else {\r\n \t\treturn requestFn.call(window, bind(fn, context));\r\n \t}\r\n }\r\n\r\n // @function cancelAnimFrame(id: Number): undefined\r\n // Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\n function cancelAnimFrame(id) {\r\n \tif (id) {\r\n \t\tcancelFn.call(window, id);\r\n \t}\r\n }\n\n var Util = ({\n extend: extend,\n create: create,\n bind: bind,\n lastId: lastId,\n stamp: stamp,\n throttle: throttle,\n wrapNum: wrapNum,\n falseFn: falseFn,\n formatNum: formatNum,\n trim: trim,\n splitWords: splitWords,\n setOptions: setOptions,\n getParamString: getParamString,\n template: template,\n isArray: isArray,\n indexOf: indexOf,\n emptyImageUrl: emptyImageUrl,\n requestFn: requestFn,\n cancelFn: cancelFn,\n requestAnimFrame: requestAnimFrame,\n cancelAnimFrame: cancelAnimFrame\n });\n\n // @class Class\r\n // @aka L.Class\r\n\r\n // @section\r\n // @uninheritable\r\n\r\n // Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\n function Class() {}\r\n\r\n Class.extend = function (props) {\r\n\r\n \t// @function extend(props: Object): Function\r\n \t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n \t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n \tvar NewClass = function () {\r\n\r\n \t\t// call the constructor\r\n \t\tif (this.initialize) {\r\n \t\t\tthis.initialize.apply(this, arguments);\r\n \t\t}\r\n\r\n \t\t// call all constructor hooks\r\n \t\tthis.callInitHooks();\r\n \t};\r\n\r\n \tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n \tvar proto = create(parentProto);\r\n \tproto.constructor = NewClass;\r\n\r\n \tNewClass.prototype = proto;\r\n\r\n \t// inherit parent's statics\r\n \tfor (var i in this) {\r\n \t\tif (Object.prototype.hasOwnProperty.call(this, i) && i !== 'prototype' && i !== '__super__') {\r\n \t\t\tNewClass[i] = this[i];\r\n \t\t}\r\n \t}\r\n\r\n \t// mix static properties into the class\r\n \tif (props.statics) {\r\n \t\textend(NewClass, props.statics);\r\n \t\tdelete props.statics;\r\n \t}\r\n\r\n \t// mix includes into the prototype\r\n \tif (props.includes) {\r\n \t\tcheckDeprecatedMixinEvents(props.includes);\r\n \t\textend.apply(null, [proto].concat(props.includes));\r\n \t\tdelete props.includes;\r\n \t}\r\n\r\n \t// merge options\r\n \tif (proto.options) {\r\n \t\tprops.options = extend(create(proto.options), props.options);\r\n \t}\r\n\r\n \t// mix given properties into the prototype\r\n \textend(proto, props);\r\n\r\n \tproto._initHooks = [];\r\n\r\n \t// add method for calling all hooks\r\n \tproto.callInitHooks = function () {\r\n\r\n \t\tif (this._initHooksCalled) { return; }\r\n\r\n \t\tif (parentProto.callInitHooks) {\r\n \t\t\tparentProto.callInitHooks.call(this);\r\n \t\t}\r\n\r\n \t\tthis._initHooksCalled = true;\r\n\r\n \t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n \t\t\tproto._initHooks[i].call(this);\r\n \t\t}\r\n \t};\r\n\r\n \treturn NewClass;\r\n };\r\n\r\n\r\n // @function include(properties: Object): this\r\n // [Includes a mixin](#class-includes) into the current class.\r\n Class.include = function (props) {\r\n \textend(this.prototype, props);\r\n \treturn this;\r\n };\r\n\r\n // @function mergeOptions(options: Object): this\r\n // [Merges `options`](#class-options) into the defaults of the class.\r\n Class.mergeOptions = function (options) {\r\n \textend(this.prototype.options, options);\r\n \treturn this;\r\n };\r\n\r\n // @function addInitHook(fn: Function): this\r\n // Adds a [constructor hook](#class-constructor-hooks) to the class.\r\n Class.addInitHook = function (fn) { // (Function) || (String, args...)\r\n \tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n \tvar init = typeof fn === 'function' ? fn : function () {\r\n \t\tthis[fn].apply(this, args);\r\n \t};\r\n\r\n \tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n \tthis.prototype._initHooks.push(init);\r\n \treturn this;\r\n };\r\n\r\n function checkDeprecatedMixinEvents(includes) {\r\n \tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n \tincludes = isArray(includes) ? includes : [includes];\r\n\r\n \tfor (var i = 0; i < includes.length; i++) {\r\n \t\tif (includes[i] === L.Mixin.Events) {\r\n \t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n \t\t\t\t'this property will be removed in future releases, ' +\r\n \t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n \t\t}\r\n \t}\r\n }\n\n /*\r\n * @class Evented\r\n * @aka L.Evented\r\n * @inherits Class\r\n *\r\n * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * map.on('click', function(e) {\r\n * \talert(e.latlng);\r\n * } );\r\n * ```\r\n *\r\n * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n *\r\n * ```js\r\n * function onClick(e) { ... }\r\n *\r\n * map.on('click', onClick);\r\n * map.off('click', onClick);\r\n * ```\r\n */\r\n\r\n var Events = {\r\n \t/* @method on(type: String, fn: Function, context?: Object): this\r\n \t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n \t *\r\n \t * @alternative\r\n \t * @method on(eventMap: Object): this\r\n \t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n \t */\r\n \ton: function (types, fn, context) {\r\n\r\n \t\t// types can be a map of types/handlers\r\n \t\tif (typeof types === 'object') {\r\n \t\t\tfor (var type in types) {\r\n \t\t\t\t// we don't process space-separated events here for performance;\r\n \t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n \t\t\t\tthis._on(type, types[type], fn);\r\n \t\t\t}\r\n\r\n \t\t} else {\r\n \t\t\t// types can be a string of space-separated words\r\n \t\t\ttypes = splitWords(types);\r\n\r\n \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n \t\t\t\tthis._on(types[i], fn, context);\r\n \t\t\t}\r\n \t\t}\r\n\r\n \t\treturn this;\r\n \t},\r\n\r\n \t/* @method off(type: String, fn?: Function, context?: Object): this\r\n \t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n \t *\r\n \t * @alternative\r\n \t * @method off(eventMap: Object): this\r\n \t * Removes a set of type/listener pairs.\r\n \t *\r\n \t * @alternative\r\n \t * @method off: this\r\n \t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n \t */\r\n \toff: function (types, fn, context) {\r\n\r\n \t\tif (!types) {\r\n \t\t\t// clear all listeners if called without arguments\r\n \t\t\tdelete this._events;\r\n\r\n \t\t} else if (typeof types === 'object') {\r\n \t\t\tfor (var type in types) {\r\n \t\t\t\tthis._off(type, types[type], fn);\r\n \t\t\t}\r\n\r\n \t\t} else {\r\n \t\t\ttypes = splitWords(types);\r\n\r\n \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n \t\t\t\tthis._off(types[i], fn, context);\r\n \t\t\t}\r\n \t\t}\r\n\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// attach listener (without syntactic sugar now)\r\n \t_on: function (type, fn, context) {\r\n \t\tthis._events = this._events || {};\r\n\r\n \t\t/* get/init listeners for type */\r\n \t\tvar typeListeners = this._events[type];\r\n \t\tif (!typeListeners) {\r\n \t\t\ttypeListeners = [];\r\n \t\t\tthis._events[type] = typeListeners;\r\n \t\t}\r\n\r\n \t\tif (context === this) {\r\n \t\t\t// Less memory footprint.\r\n \t\t\tcontext = undefined;\r\n \t\t}\r\n \t\tvar newListener = {fn: fn, ctx: context},\r\n \t\t listeners = typeListeners;\r\n\r\n \t\t// check if fn already there\r\n \t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n \t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n \t\t\t\treturn;\r\n \t\t\t}\r\n \t\t}\r\n\r\n \t\tlisteners.push(newListener);\r\n \t},\r\n\r\n \t_off: function (type, fn, context) {\r\n \t\tvar listeners,\r\n \t\t i,\r\n \t\t len;\r\n\r\n \t\tif (!this._events) { return; }\r\n\r\n \t\tlisteners = this._events[type];\r\n\r\n \t\tif (!listeners) {\r\n \t\t\treturn;\r\n \t\t}\r\n\r\n \t\tif (!fn) {\r\n \t\t\t// Set all removed listeners to noop so they are not called if remove happens in fire\r\n \t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n \t\t\t\tlisteners[i].fn = falseFn;\r\n \t\t\t}\r\n \t\t\t// clear all listeners for a type if function isn't specified\r\n \t\t\tdelete this._events[type];\r\n \t\t\treturn;\r\n \t\t}\r\n\r\n \t\tif (context === this) {\r\n \t\t\tcontext = undefined;\r\n \t\t}\r\n\r\n \t\tif (listeners) {\r\n\r\n \t\t\t// find fn and remove it\r\n \t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n \t\t\t\tvar l = listeners[i];\r\n \t\t\t\tif (l.ctx !== context) { continue; }\r\n \t\t\t\tif (l.fn === fn) {\r\n\r\n \t\t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n \t\t\t\t\tl.fn = falseFn;\r\n\r\n \t\t\t\t\tif (this._firingCount) {\r\n \t\t\t\t\t\t/* copy array in case events are being fired */\r\n \t\t\t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n \t\t\t\t\t}\r\n \t\t\t\t\tlisteners.splice(i, 1);\r\n\r\n \t\t\t\t\treturn;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t},\r\n\r\n \t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n \t// Fires an event of the specified type. You can optionally provide an data\r\n \t// object — the first argument of the listener function will contain its\r\n \t// properties. The event can optionally be propagated to event parents.\r\n \tfire: function (type, data, propagate) {\r\n \t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n \t\tvar event = extend({}, data, {\r\n \t\t\ttype: type,\r\n \t\t\ttarget: this,\r\n \t\t\tsourceTarget: data && data.sourceTarget || this\r\n \t\t});\r\n\r\n \t\tif (this._events) {\r\n \t\t\tvar listeners = this._events[type];\r\n\r\n \t\t\tif (listeners) {\r\n \t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n \t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n \t\t\t\t\tvar l = listeners[i];\r\n \t\t\t\t\tl.fn.call(l.ctx || this, event);\r\n \t\t\t\t}\r\n\r\n \t\t\t\tthis._firingCount--;\r\n \t\t\t}\r\n \t\t}\r\n\r\n \t\tif (propagate) {\r\n \t\t\t// propagate the event to parents (set with addEventParent)\r\n \t\t\tthis._propagateEvent(event);\r\n \t\t}\r\n\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method listens(type: String): Boolean\r\n \t// Returns `true` if a particular event type has any listeners attached to it.\r\n \tlistens: function (type, propagate) {\r\n \t\tvar listeners = this._events && this._events[type];\r\n \t\tif (listeners && listeners.length) { return true; }\r\n\r\n \t\tif (propagate) {\r\n \t\t\t// also check parents for listeners if event propagates\r\n \t\t\tfor (var id in this._eventParents) {\r\n \t\t\t\tif (this._eventParents[id].listens(type, propagate)) { return true; }\r\n \t\t\t}\r\n \t\t}\r\n \t\treturn false;\r\n \t},\r\n\r\n \t// @method once(…): this\r\n \t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n \tonce: function (types, fn, context) {\r\n\r\n \t\tif (typeof types === 'object') {\r\n \t\t\tfor (var type in types) {\r\n \t\t\t\tthis.once(type, types[type], fn);\r\n \t\t\t}\r\n \t\t\treturn this;\r\n \t\t}\r\n\r\n \t\tvar handler = bind(function () {\r\n \t\t\tthis\r\n \t\t\t .off(types, fn, context)\r\n \t\t\t .off(types, handler, context);\r\n \t\t}, this);\r\n\r\n \t\t// add a listener that's executed once and removed after that\r\n \t\treturn this\r\n \t\t .on(types, fn, context)\r\n \t\t .on(types, handler, context);\r\n \t},\r\n\r\n \t// @method addEventParent(obj: Evented): this\r\n \t// Adds an event parent - an `Evented` that will receive propagated events\r\n \taddEventParent: function (obj) {\r\n \t\tthis._eventParents = this._eventParents || {};\r\n \t\tthis._eventParents[stamp(obj)] = obj;\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method removeEventParent(obj: Evented): this\r\n \t// Removes an event parent, so it will stop receiving propagated events\r\n \tremoveEventParent: function (obj) {\r\n \t\tif (this._eventParents) {\r\n \t\t\tdelete this._eventParents[stamp(obj)];\r\n \t\t}\r\n \t\treturn this;\r\n \t},\r\n\r\n \t_propagateEvent: function (e) {\r\n \t\tfor (var id in this._eventParents) {\r\n \t\t\tthis._eventParents[id].fire(e.type, extend({\r\n \t\t\t\tlayer: e.target,\r\n \t\t\t\tpropagatedFrom: e.target\r\n \t\t\t}, e), true);\r\n \t\t}\r\n \t}\r\n };\r\n\r\n // aliases; we should ditch those eventually\r\n\r\n // @method addEventListener(…): this\r\n // Alias to [`on(…)`](#evented-on)\r\n Events.addEventListener = Events.on;\r\n\r\n // @method removeEventListener(…): this\r\n // Alias to [`off(…)`](#evented-off)\r\n\r\n // @method clearAllEventListeners(…): this\r\n // Alias to [`off()`](#evented-off)\r\n Events.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n // @method addOneTimeEventListener(…): this\r\n // Alias to [`once(…)`](#evented-once)\r\n Events.addOneTimeEventListener = Events.once;\r\n\r\n // @method fireEvent(…): this\r\n // Alias to [`fire(…)`](#evented-fire)\r\n Events.fireEvent = Events.fire;\r\n\r\n // @method hasEventListeners(…): Boolean\r\n // Alias to [`listens(…)`](#evented-listens)\r\n Events.hasEventListeners = Events.listens;\r\n\r\n var Evented = Class.extend(Events);\n\n /*\r\n * @class Point\r\n * @aka L.Point\r\n *\r\n * Represents a point with `x` and `y` coordinates in pixels.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var point = L.point(200, 300);\r\n * ```\r\n *\r\n * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```js\r\n * map.panBy([200, 300]);\r\n * map.panBy(L.point(200, 300));\r\n * ```\r\n *\r\n * Note that `Point` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\n function Point(x, y, round) {\r\n \t// @property x: Number; The `x` coordinate of the point\r\n \tthis.x = (round ? Math.round(x) : x);\r\n \t// @property y: Number; The `y` coordinate of the point\r\n \tthis.y = (round ? Math.round(y) : y);\r\n }\r\n\r\n var trunc = Math.trunc || function (v) {\r\n \treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n };\r\n\r\n Point.prototype = {\r\n\r\n \t// @method clone(): Point\r\n \t// Returns a copy of the current point.\r\n \tclone: function () {\r\n \t\treturn new Point(this.x, this.y);\r\n \t},\r\n\r\n \t// @method add(otherPoint: Point): Point\r\n \t// Returns the result of addition of the current and the given points.\r\n \tadd: function (point) {\r\n \t\t// non-destructive, returns a new point\r\n \t\treturn this.clone()._add(toPoint(point));\r\n \t},\r\n\r\n \t_add: function (point) {\r\n \t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n \t\tthis.x += point.x;\r\n \t\tthis.y += point.y;\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method subtract(otherPoint: Point): Point\r\n \t// Returns the result of subtraction of the given point from the current.\r\n \tsubtract: function (point) {\r\n \t\treturn this.clone()._subtract(toPoint(point));\r\n \t},\r\n\r\n \t_subtract: function (point) {\r\n \t\tthis.x -= point.x;\r\n \t\tthis.y -= point.y;\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method divideBy(num: Number): Point\r\n \t// Returns the result of division of the current point by the given number.\r\n \tdivideBy: function (num) {\r\n \t\treturn this.clone()._divideBy(num);\r\n \t},\r\n\r\n \t_divideBy: function (num) {\r\n \t\tthis.x /= num;\r\n \t\tthis.y /= num;\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method multiplyBy(num: Number): Point\r\n \t// Returns the result of multiplication of the current point by the given number.\r\n \tmultiplyBy: function (num) {\r\n \t\treturn this.clone()._multiplyBy(num);\r\n \t},\r\n\r\n \t_multiplyBy: function (num) {\r\n \t\tthis.x *= num;\r\n \t\tthis.y *= num;\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method scaleBy(scale: Point): Point\r\n \t// Multiply each coordinate of the current point by each coordinate of\r\n \t// `scale`. In linear algebra terms, multiply the point by the\r\n \t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n \t// defined by `scale`.\r\n \tscaleBy: function (point) {\r\n \t\treturn new Point(this.x * point.x, this.y * point.y);\r\n \t},\r\n\r\n \t// @method unscaleBy(scale: Point): Point\r\n \t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n \t// each coordinate of `scale`.\r\n \tunscaleBy: function (point) {\r\n \t\treturn new Point(this.x / point.x, this.y / point.y);\r\n \t},\r\n\r\n \t// @method round(): Point\r\n \t// Returns a copy of the current point with rounded coordinates.\r\n \tround: function () {\r\n \t\treturn this.clone()._round();\r\n \t},\r\n\r\n \t_round: function () {\r\n \t\tthis.x = Math.round(this.x);\r\n \t\tthis.y = Math.round(this.y);\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method floor(): Point\r\n \t// Returns a copy of the current point with floored coordinates (rounded down).\r\n \tfloor: function () {\r\n \t\treturn this.clone()._floor();\r\n \t},\r\n\r\n \t_floor: function () {\r\n \t\tthis.x = Math.floor(this.x);\r\n \t\tthis.y = Math.floor(this.y);\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method ceil(): Point\r\n \t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n \tceil: function () {\r\n \t\treturn this.clone()._ceil();\r\n \t},\r\n\r\n \t_ceil: function () {\r\n \t\tthis.x = Math.ceil(this.x);\r\n \t\tthis.y = Math.ceil(this.y);\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method trunc(): Point\r\n \t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n \ttrunc: function () {\r\n \t\treturn this.clone()._trunc();\r\n \t},\r\n\r\n \t_trunc: function () {\r\n \t\tthis.x = trunc(this.x);\r\n \t\tthis.y = trunc(this.y);\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method distanceTo(otherPoint: Point): Number\r\n \t// Returns the cartesian distance between the current and the given points.\r\n \tdistanceTo: function (point) {\r\n \t\tpoint = toPoint(point);\r\n\r\n \t\tvar x = point.x - this.x,\r\n \t\t y = point.y - this.y;\r\n\r\n \t\treturn Math.sqrt(x * x + y * y);\r\n \t},\r\n\r\n \t// @method equals(otherPoint: Point): Boolean\r\n \t// Returns `true` if the given point has the same coordinates.\r\n \tequals: function (point) {\r\n \t\tpoint = toPoint(point);\r\n\r\n \t\treturn point.x === this.x &&\r\n \t\t point.y === this.y;\r\n \t},\r\n\r\n \t// @method contains(otherPoint: Point): Boolean\r\n \t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n \tcontains: function (point) {\r\n \t\tpoint = toPoint(point);\r\n\r\n \t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n \t\t Math.abs(point.y) <= Math.abs(this.y);\r\n \t},\r\n\r\n \t// @method toString(): String\r\n \t// Returns a string representation of the point for debugging purposes.\r\n \ttoString: function () {\r\n \t\treturn 'Point(' +\r\n \t\t formatNum(this.x) + ', ' +\r\n \t\t formatNum(this.y) + ')';\r\n \t}\r\n };\r\n\r\n // @factory L.point(x: Number, y: Number, round?: Boolean)\r\n // Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n // @alternative\r\n // @factory L.point(coords: Number[])\r\n // Expects an array of the form `[x, y]` instead.\r\n\r\n // @alternative\r\n // @factory L.point(coords: Object)\r\n // Expects a plain object of the form `{x: Number, y: Number}` instead.\r\n function toPoint(x, y, round) {\r\n \tif (x instanceof Point) {\r\n \t\treturn x;\r\n \t}\r\n \tif (isArray(x)) {\r\n \t\treturn new Point(x[0], x[1]);\r\n \t}\r\n \tif (x === undefined || x === null) {\r\n \t\treturn x;\r\n \t}\r\n \tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n \t\treturn new Point(x.x, x.y);\r\n \t}\r\n \treturn new Point(x, y, round);\r\n }\n\n /*\r\n * @class Bounds\r\n * @aka L.Bounds\r\n *\r\n * Represents a rectangular area in pixel coordinates.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var p1 = L.point(10, 10),\r\n * p2 = L.point(40, 60),\r\n * bounds = L.bounds(p1, p2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * otherBounds.intersects([[10, 10], [40, 60]]);\r\n * ```\r\n *\r\n * Note that `Bounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\n function Bounds(a, b) {\r\n \tif (!a) { return; }\r\n\r\n \tvar points = b ? [a, b] : a;\r\n\r\n \tfor (var i = 0, len = points.length; i < len; i++) {\r\n \t\tthis.extend(points[i]);\r\n \t}\r\n }\r\n\r\n Bounds.prototype = {\r\n \t// @method extend(point: Point): this\r\n \t// Extends the bounds to contain the given point.\r\n \textend: function (point) { // (Point)\r\n \t\tpoint = toPoint(point);\r\n\r\n \t\t// @property min: Point\r\n \t\t// The top left corner of the rectangle.\r\n \t\t// @property max: Point\r\n \t\t// The bottom right corner of the rectangle.\r\n \t\tif (!this.min && !this.max) {\r\n \t\t\tthis.min = point.clone();\r\n \t\t\tthis.max = point.clone();\r\n \t\t} else {\r\n \t\t\tthis.min.x = Math.min(point.x, this.min.x);\r\n \t\t\tthis.max.x = Math.max(point.x, this.max.x);\r\n \t\t\tthis.min.y = Math.min(point.y, this.min.y);\r\n \t\t\tthis.max.y = Math.max(point.y, this.max.y);\r\n \t\t}\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method getCenter(round?: Boolean): Point\r\n \t// Returns the center point of the bounds.\r\n \tgetCenter: function (round) {\r\n \t\treturn new Point(\r\n \t\t (this.min.x + this.max.x) / 2,\r\n \t\t (this.min.y + this.max.y) / 2, round);\r\n \t},\r\n\r\n \t// @method getBottomLeft(): Point\r\n \t// Returns the bottom-left point of the bounds.\r\n \tgetBottomLeft: function () {\r\n \t\treturn new Point(this.min.x, this.max.y);\r\n \t},\r\n\r\n \t// @method getTopRight(): Point\r\n \t// Returns the top-right point of the bounds.\r\n \tgetTopRight: function () { // -> Point\r\n \t\treturn new Point(this.max.x, this.min.y);\r\n \t},\r\n\r\n \t// @method getTopLeft(): Point\r\n \t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n \tgetTopLeft: function () {\r\n \t\treturn this.min; // left, top\r\n \t},\r\n\r\n \t// @method getBottomRight(): Point\r\n \t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n \tgetBottomRight: function () {\r\n \t\treturn this.max; // right, bottom\r\n \t},\r\n\r\n \t// @method getSize(): Point\r\n \t// Returns the size of the given bounds\r\n \tgetSize: function () {\r\n \t\treturn this.max.subtract(this.min);\r\n \t},\r\n\r\n \t// @method contains(otherBounds: Bounds): Boolean\r\n \t// Returns `true` if the rectangle contains the given one.\r\n \t// @alternative\r\n \t// @method contains(point: Point): Boolean\r\n \t// Returns `true` if the rectangle contains the given point.\r\n \tcontains: function (obj) {\r\n \t\tvar min, max;\r\n\r\n \t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n \t\t\tobj = toPoint(obj);\r\n \t\t} else {\r\n \t\t\tobj = toBounds(obj);\r\n \t\t}\r\n\r\n \t\tif (obj instanceof Bounds) {\r\n \t\t\tmin = obj.min;\r\n \t\t\tmax = obj.max;\r\n \t\t} else {\r\n \t\t\tmin = max = obj;\r\n \t\t}\r\n\r\n \t\treturn (min.x >= this.min.x) &&\r\n \t\t (max.x <= this.max.x) &&\r\n \t\t (min.y >= this.min.y) &&\r\n \t\t (max.y <= this.max.y);\r\n \t},\r\n\r\n \t// @method intersects(otherBounds: Bounds): Boolean\r\n \t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n \t// intersect if they have at least one point in common.\r\n \tintersects: function (bounds) { // (Bounds) -> Boolean\r\n \t\tbounds = toBounds(bounds);\r\n\r\n \t\tvar min = this.min,\r\n \t\t max = this.max,\r\n \t\t min2 = bounds.min,\r\n \t\t max2 = bounds.max,\r\n \t\t xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n \t\t yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n \t\treturn xIntersects && yIntersects;\r\n \t},\r\n\r\n \t// @method overlaps(otherBounds: Bounds): Boolean\r\n \t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n \t// overlap if their intersection is an area.\r\n \toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n \t\tbounds = toBounds(bounds);\r\n\r\n \t\tvar min = this.min,\r\n \t\t max = this.max,\r\n \t\t min2 = bounds.min,\r\n \t\t max2 = bounds.max,\r\n \t\t xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n \t\t yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n \t\treturn xOverlaps && yOverlaps;\r\n \t},\r\n\r\n \tisValid: function () {\r\n \t\treturn !!(this.min && this.max);\r\n \t}\r\n };\r\n\r\n\r\n // @factory L.bounds(corner1: Point, corner2: Point)\r\n // Creates a Bounds object from two corners coordinate pairs.\r\n // @alternative\r\n // @factory L.bounds(points: Point[])\r\n // Creates a Bounds object from the given array of points.\r\n function toBounds(a, b) {\r\n \tif (!a || a instanceof Bounds) {\r\n \t\treturn a;\r\n \t}\r\n \treturn new Bounds(a, b);\r\n }\n\n /*\r\n * @class LatLngBounds\r\n * @aka L.LatLngBounds\r\n *\r\n * Represents a rectangular geographical area on a map.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var corner1 = L.latLng(40.712, -74.227),\r\n * corner2 = L.latLng(40.774, -74.125),\r\n * bounds = L.latLngBounds(corner1, corner2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * map.fitBounds([\r\n * \t[40.712, -74.227],\r\n * \t[40.774, -74.125]\r\n * ]);\r\n * ```\r\n *\r\n * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n *\r\n * Note that `LatLngBounds` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\n function LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n \tif (!corner1) { return; }\r\n\r\n \tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n \tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n \t\tthis.extend(latlngs[i]);\r\n \t}\r\n }\r\n\r\n LatLngBounds.prototype = {\r\n\r\n \t// @method extend(latlng: LatLng): this\r\n \t// Extend the bounds to contain the given point\r\n\r\n \t// @alternative\r\n \t// @method extend(otherBounds: LatLngBounds): this\r\n \t// Extend the bounds to contain the given bounds\r\n \textend: function (obj) {\r\n \t\tvar sw = this._southWest,\r\n \t\t ne = this._northEast,\r\n \t\t sw2, ne2;\r\n\r\n \t\tif (obj instanceof LatLng) {\r\n \t\t\tsw2 = obj;\r\n \t\t\tne2 = obj;\r\n\r\n \t\t} else if (obj instanceof LatLngBounds) {\r\n \t\t\tsw2 = obj._southWest;\r\n \t\t\tne2 = obj._northEast;\r\n\r\n \t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n \t\t} else {\r\n \t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n \t\t}\r\n\r\n \t\tif (!sw && !ne) {\r\n \t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n \t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n \t\t} else {\r\n \t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n \t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n \t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n \t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n \t\t}\r\n\r\n \t\treturn this;\r\n \t},\r\n\r\n \t// @method pad(bufferRatio: Number): LatLngBounds\r\n \t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n \t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n \t// Negative values will retract the bounds.\r\n \tpad: function (bufferRatio) {\r\n \t\tvar sw = this._southWest,\r\n \t\t ne = this._northEast,\r\n \t\t heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n \t\t widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n \t\treturn new LatLngBounds(\r\n \t\t new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n \t\t new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n \t},\r\n\r\n \t// @method getCenter(): LatLng\r\n \t// Returns the center point of the bounds.\r\n \tgetCenter: function () {\r\n \t\treturn new LatLng(\r\n \t\t (this._southWest.lat + this._northEast.lat) / 2,\r\n \t\t (this._southWest.lng + this._northEast.lng) / 2);\r\n \t},\r\n\r\n \t// @method getSouthWest(): LatLng\r\n \t// Returns the south-west point of the bounds.\r\n \tgetSouthWest: function () {\r\n \t\treturn this._southWest;\r\n \t},\r\n\r\n \t// @method getNorthEast(): LatLng\r\n \t// Returns the north-east point of the bounds.\r\n \tgetNorthEast: function () {\r\n \t\treturn this._northEast;\r\n \t},\r\n\r\n \t// @method getNorthWest(): LatLng\r\n \t// Returns the north-west point of the bounds.\r\n \tgetNorthWest: function () {\r\n \t\treturn new LatLng(this.getNorth(), this.getWest());\r\n \t},\r\n\r\n \t// @method getSouthEast(): LatLng\r\n \t// Returns the south-east point of the bounds.\r\n \tgetSouthEast: function () {\r\n \t\treturn new LatLng(this.getSouth(), this.getEast());\r\n \t},\r\n\r\n \t// @method getWest(): Number\r\n \t// Returns the west longitude of the bounds\r\n \tgetWest: function () {\r\n \t\treturn this._southWest.lng;\r\n \t},\r\n\r\n \t// @method getSouth(): Number\r\n \t// Returns the south latitude of the bounds\r\n \tgetSouth: function () {\r\n \t\treturn this._southWest.lat;\r\n \t},\r\n\r\n \t// @method getEast(): Number\r\n \t// Returns the east longitude of the bounds\r\n \tgetEast: function () {\r\n \t\treturn this._northEast.lng;\r\n \t},\r\n\r\n \t// @method getNorth(): Number\r\n \t// Returns the north latitude of the bounds\r\n \tgetNorth: function () {\r\n \t\treturn this._northEast.lat;\r\n \t},\r\n\r\n \t// @method contains(otherBounds: LatLngBounds): Boolean\r\n \t// Returns `true` if the rectangle contains the given one.\r\n\r\n \t// @alternative\r\n \t// @method contains (latlng: LatLng): Boolean\r\n \t// Returns `true` if the rectangle contains the given point.\r\n \tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n \t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n \t\t\tobj = toLatLng(obj);\r\n \t\t} else {\r\n \t\t\tobj = toLatLngBounds(obj);\r\n \t\t}\r\n\r\n \t\tvar sw = this._southWest,\r\n \t\t ne = this._northEast,\r\n \t\t sw2, ne2;\r\n\r\n \t\tif (obj instanceof LatLngBounds) {\r\n \t\t\tsw2 = obj.getSouthWest();\r\n \t\t\tne2 = obj.getNorthEast();\r\n \t\t} else {\r\n \t\t\tsw2 = ne2 = obj;\r\n \t\t}\r\n\r\n \t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n \t\t (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n \t},\r\n\r\n \t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n \t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n \tintersects: function (bounds) {\r\n \t\tbounds = toLatLngBounds(bounds);\r\n\r\n \t\tvar sw = this._southWest,\r\n \t\t ne = this._northEast,\r\n \t\t sw2 = bounds.getSouthWest(),\r\n \t\t ne2 = bounds.getNorthEast(),\r\n\r\n \t\t latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n \t\t lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n \t\treturn latIntersects && lngIntersects;\r\n \t},\r\n\r\n \t// @method overlaps(otherBounds: LatLngBounds): Boolean\r\n \t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n \toverlaps: function (bounds) {\r\n \t\tbounds = toLatLngBounds(bounds);\r\n\r\n \t\tvar sw = this._southWest,\r\n \t\t ne = this._northEast,\r\n \t\t sw2 = bounds.getSouthWest(),\r\n \t\t ne2 = bounds.getNorthEast(),\r\n\r\n \t\t latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n \t\t lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n \t\treturn latOverlaps && lngOverlaps;\r\n \t},\r\n\r\n \t// @method toBBoxString(): String\r\n \t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n \ttoBBoxString: function () {\r\n \t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n \t},\r\n\r\n \t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n \t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n \tequals: function (bounds, maxMargin) {\r\n \t\tif (!bounds) { return false; }\r\n\r\n \t\tbounds = toLatLngBounds(bounds);\r\n\r\n \t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n \t\t this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n \t},\r\n\r\n \t// @method isValid(): Boolean\r\n \t// Returns `true` if the bounds are properly initialized.\r\n \tisValid: function () {\r\n \t\treturn !!(this._southWest && this._northEast);\r\n \t}\r\n };\r\n\r\n // TODO International date line?\r\n\r\n // @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n // Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n // @alternative\r\n // @factory L.latLngBounds(latlngs: LatLng[])\r\n // Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\n function toLatLngBounds(a, b) {\r\n \tif (a instanceof LatLngBounds) {\r\n \t\treturn a;\r\n \t}\r\n \treturn new LatLngBounds(a, b);\r\n }\n\n /* @class LatLng\r\n * @aka L.LatLng\r\n *\r\n * Represents a geographical point with a certain latitude and longitude.\r\n *\r\n * @example\r\n *\r\n * ```\r\n * var latlng = L.latLng(50.5, 30.5);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```\r\n * map.panTo([50, 30]);\r\n * map.panTo({lon: 30, lat: 50});\r\n * map.panTo({lat: 50, lng: 30});\r\n * map.panTo(L.latLng(50, 30));\r\n * ```\r\n *\r\n * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\n function LatLng(lat, lng, alt) {\r\n \tif (isNaN(lat) || isNaN(lng)) {\r\n \t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n \t}\r\n\r\n \t// @property lat: Number\r\n \t// Latitude in degrees\r\n \tthis.lat = +lat;\r\n\r\n \t// @property lng: Number\r\n \t// Longitude in degrees\r\n \tthis.lng = +lng;\r\n\r\n \t// @property alt: Number\r\n \t// Altitude in meters (optional)\r\n \tif (alt !== undefined) {\r\n \t\tthis.alt = +alt;\r\n \t}\r\n }\r\n\r\n LatLng.prototype = {\r\n \t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n \t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n \tequals: function (obj, maxMargin) {\r\n \t\tif (!obj) { return false; }\r\n\r\n \t\tobj = toLatLng(obj);\r\n\r\n \t\tvar margin = Math.max(\r\n \t\t Math.abs(this.lat - obj.lat),\r\n \t\t Math.abs(this.lng - obj.lng));\r\n\r\n \t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n \t},\r\n\r\n \t// @method toString(): String\r\n \t// Returns a string representation of the point (for debugging purposes).\r\n \ttoString: function (precision) {\r\n \t\treturn 'LatLng(' +\r\n \t\t formatNum(this.lat, precision) + ', ' +\r\n \t\t formatNum(this.lng, precision) + ')';\r\n \t},\r\n\r\n \t// @method distanceTo(otherLatLng: LatLng): Number\r\n \t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n \tdistanceTo: function (other) {\r\n \t\treturn Earth.distance(this, toLatLng(other));\r\n \t},\r\n\r\n \t// @method wrap(): LatLng\r\n \t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n \twrap: function () {\r\n \t\treturn Earth.wrapLatLng(this);\r\n \t},\r\n\r\n \t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n \t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n \ttoBounds: function (sizeInMeters) {\r\n \t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n \t\t lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n \t\treturn toLatLngBounds(\r\n \t\t [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n \t\t [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n \t},\r\n\r\n \tclone: function () {\r\n \t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n \t}\r\n };\r\n\r\n\r\n\r\n // @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n // Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n // @alternative\r\n // @factory L.latLng(coords: Array): LatLng\r\n // Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n // @alternative\r\n // @factory L.latLng(coords: Object): LatLng\r\n // Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\n function toLatLng(a, b, c) {\r\n \tif (a instanceof LatLng) {\r\n \t\treturn a;\r\n \t}\r\n \tif (isArray(a) && typeof a[0] !== 'object') {\r\n \t\tif (a.length === 3) {\r\n \t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n \t\t}\r\n \t\tif (a.length === 2) {\r\n \t\t\treturn new LatLng(a[0], a[1]);\r\n \t\t}\r\n \t\treturn null;\r\n \t}\r\n \tif (a === undefined || a === null) {\r\n \t\treturn a;\r\n \t}\r\n \tif (typeof a === 'object' && 'lat' in a) {\r\n \t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n \t}\r\n \tif (b === undefined) {\r\n \t\treturn null;\r\n \t}\r\n \treturn new LatLng(a, b, c);\r\n }\n\n /*\r\n * @namespace CRS\r\n * @crs L.CRS.Base\r\n * Object that defines coordinate reference systems for projecting\r\n * geographical points into pixel (screen) coordinates and back (and to\r\n * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system).\r\n *\r\n * Leaflet defines the most usual CRSs by default. If you want to use a\r\n * CRS not defined by default, take a look at the\r\n * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n *\r\n * Note that the CRS instances do not inherit from Leaflet's `Class` object,\r\n * and can't be instantiated. Also, new classes can't inherit from them,\r\n * and methods can't be added to them with the `include` function.\r\n */\r\n\r\n var CRS = {\r\n \t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n \t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n \tlatLngToPoint: function (latlng, zoom) {\r\n \t\tvar projectedPoint = this.projection.project(latlng),\r\n \t\t scale = this.scale(zoom);\r\n\r\n \t\treturn this.transformation._transform(projectedPoint, scale);\r\n \t},\r\n\r\n \t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n \t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n \t// zoom into geographical coordinates.\r\n \tpointToLatLng: function (point, zoom) {\r\n \t\tvar scale = this.scale(zoom),\r\n \t\t untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n \t\treturn this.projection.unproject(untransformedPoint);\r\n \t},\r\n\r\n \t// @method project(latlng: LatLng): Point\r\n \t// Projects geographical coordinates into coordinates in units accepted for\r\n \t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n \tproject: function (latlng) {\r\n \t\treturn this.projection.project(latlng);\r\n \t},\r\n\r\n \t// @method unproject(point: Point): LatLng\r\n \t// Given a projected coordinate returns the corresponding LatLng.\r\n \t// The inverse of `project`.\r\n \tunproject: function (point) {\r\n \t\treturn this.projection.unproject(point);\r\n \t},\r\n\r\n \t// @method scale(zoom: Number): Number\r\n \t// Returns the scale used when transforming projected coordinates into\r\n \t// pixel coordinates for a particular zoom. For example, it returns\r\n \t// `256 * 2^zoom` for Mercator-based CRS.\r\n \tscale: function (zoom) {\r\n \t\treturn 256 * Math.pow(2, zoom);\r\n \t},\r\n\r\n \t// @method zoom(scale: Number): Number\r\n \t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n \t// factor of `scale`.\r\n \tzoom: function (scale) {\r\n \t\treturn Math.log(scale / 256) / Math.LN2;\r\n \t},\r\n\r\n \t// @method getProjectedBounds(zoom: Number): Bounds\r\n \t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n \tgetProjectedBounds: function (zoom) {\r\n \t\tif (this.infinite) { return null; }\r\n\r\n \t\tvar b = this.projection.bounds,\r\n \t\t s = this.scale(zoom),\r\n \t\t min = this.transformation.transform(b.min, s),\r\n \t\t max = this.transformation.transform(b.max, s);\r\n\r\n \t\treturn new Bounds(min, max);\r\n \t},\r\n\r\n \t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n \t// Returns the distance between two geographical coordinates.\r\n\r\n \t// @property code: String\r\n \t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n \t//\r\n \t// @property wrapLng: Number[]\r\n \t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n \t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n \t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n \t//\r\n \t// @property wrapLat: Number[]\r\n \t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n \t// wrapLng: [min, max],\r\n \t// wrapLat: [min, max],\r\n\r\n \t// @property infinite: Boolean\r\n \t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n \tinfinite: false,\r\n\r\n \t// @method wrapLatLng(latlng: LatLng): LatLng\r\n \t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n \t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n \twrapLatLng: function (latlng) {\r\n \t\tvar lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n \t\t lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n \t\t alt = latlng.alt;\r\n\r\n \t\treturn new LatLng(lat, lng, alt);\r\n \t},\r\n\r\n \t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n \t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n \t// that its center is within the CRS's bounds.\r\n \t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n \twrapLatLngBounds: function (bounds) {\r\n \t\tvar center = bounds.getCenter(),\r\n \t\t newCenter = this.wrapLatLng(center),\r\n \t\t latShift = center.lat - newCenter.lat,\r\n \t\t lngShift = center.lng - newCenter.lng;\r\n\r\n \t\tif (latShift === 0 && lngShift === 0) {\r\n \t\t\treturn bounds;\r\n \t\t}\r\n\r\n \t\tvar sw = bounds.getSouthWest(),\r\n \t\t ne = bounds.getNorthEast(),\r\n \t\t newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n \t\t newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n \t\treturn new LatLngBounds(newSw, newNe);\r\n \t}\r\n };\n\n /*\n * @namespace CRS\n * @crs L.CRS.Earth\n *\n * Serves as the base for CRS that are global such that they cover the earth.\n * Can only be used as the base for other CRS and cannot be used directly,\n * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n * meters.\n */\n\n var Earth = extend({}, CRS, {\n \twrapLng: [-180, 180],\n\n \t// Mean Earth Radius, as recommended for use by\n \t// the International Union of Geodesy and Geophysics,\n \t// see http://rosettacode.org/wiki/Haversine_formula\n \tR: 6371000,\n\n \t// distance between two geographical points using spherical law of cosines approximation\n \tdistance: function (latlng1, latlng2) {\n \t\tvar rad = Math.PI / 180,\n \t\t lat1 = latlng1.lat * rad,\n \t\t lat2 = latlng2.lat * rad,\n \t\t sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n \t\t sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n \t\t a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n \t\t c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n \t\treturn this.R * c;\n \t}\n });\n\n /*\r\n * @namespace Projection\r\n * @projection L.Projection.SphericalMercator\r\n *\r\n * Spherical Mercator projection — the most common projection for online maps,\r\n * used by almost all free and commercial tile providers. Assumes that Earth is\r\n * a sphere. Used by the `EPSG:3857` CRS.\r\n */\r\n\r\n var earthRadius = 6378137;\r\n\r\n var SphericalMercator = {\r\n\r\n \tR: earthRadius,\r\n \tMAX_LATITUDE: 85.0511287798,\r\n\r\n \tproject: function (latlng) {\r\n \t\tvar d = Math.PI / 180,\r\n \t\t max = this.MAX_LATITUDE,\r\n \t\t lat = Math.max(Math.min(max, latlng.lat), -max),\r\n \t\t sin = Math.sin(lat * d);\r\n\r\n \t\treturn new Point(\r\n \t\t\tthis.R * latlng.lng * d,\r\n \t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n \t},\r\n\r\n \tunproject: function (point) {\r\n \t\tvar d = 180 / Math.PI;\r\n\r\n \t\treturn new LatLng(\r\n \t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n \t\t\tpoint.x * d / this.R);\r\n \t},\r\n\r\n \tbounds: (function () {\r\n \t\tvar d = earthRadius * Math.PI;\r\n \t\treturn new Bounds([-d, -d], [d, d]);\r\n \t})()\r\n };\n\n /*\r\n * @class Transformation\r\n * @aka L.Transformation\r\n *\r\n * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n * the reverse. Used by Leaflet in its projections code.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var transformation = L.transformation(2, 5, -1, 10),\r\n * \tp = L.point(1, 2),\r\n * \tp2 = transformation.transform(p), // L.point(7, 8)\r\n * \tp3 = transformation.untransform(p2); // L.point(1, 2)\r\n * ```\r\n */\r\n\r\n\r\n // factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n // Creates a `Transformation` object with the given coefficients.\r\n function Transformation(a, b, c, d) {\r\n \tif (isArray(a)) {\r\n \t\t// use array properties\r\n \t\tthis._a = a[0];\r\n \t\tthis._b = a[1];\r\n \t\tthis._c = a[2];\r\n \t\tthis._d = a[3];\r\n \t\treturn;\r\n \t}\r\n \tthis._a = a;\r\n \tthis._b = b;\r\n \tthis._c = c;\r\n \tthis._d = d;\r\n }\r\n\r\n Transformation.prototype = {\r\n \t// @method transform(point: Point, scale?: Number): Point\r\n \t// Returns a transformed point, optionally multiplied by the given scale.\r\n \t// Only accepts actual `L.Point` instances, not arrays.\r\n \ttransform: function (point, scale) { // (Point, Number) -> Point\r\n \t\treturn this._transform(point.clone(), scale);\r\n \t},\r\n\r\n \t// destructive transform (faster)\r\n \t_transform: function (point, scale) {\r\n \t\tscale = scale || 1;\r\n \t\tpoint.x = scale * (this._a * point.x + this._b);\r\n \t\tpoint.y = scale * (this._c * point.y + this._d);\r\n \t\treturn point;\r\n \t},\r\n\r\n \t// @method untransform(point: Point, scale?: Number): Point\r\n \t// Returns the reverse transformation of the given point, optionally divided\r\n \t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n \tuntransform: function (point, scale) {\r\n \t\tscale = scale || 1;\r\n \t\treturn new Point(\r\n \t\t (point.x / scale - this._b) / this._a,\r\n \t\t (point.y / scale - this._d) / this._c);\r\n \t}\r\n };\r\n\r\n // factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n // @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n // Instantiates a Transformation object with the given coefficients.\r\n\r\n // @alternative\r\n // @factory L.transformation(coefficients: Array): Transformation\r\n // Expects an coefficients array of the form\r\n // `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\n function toTransformation(a, b, c, d) {\r\n \treturn new Transformation(a, b, c, d);\r\n }\n\n /*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3857\r\n *\r\n * The most common CRS for online maps, used by almost all free and commercial\r\n * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n * Map's `crs` option.\r\n */\r\n\r\n var EPSG3857 = extend({}, Earth, {\r\n \tcode: 'EPSG:3857',\r\n \tprojection: SphericalMercator,\r\n\r\n \ttransformation: (function () {\r\n \t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n \t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n \t}())\r\n });\r\n\r\n var EPSG900913 = extend({}, EPSG3857, {\r\n \tcode: 'EPSG:900913'\r\n });\n\n // @namespace SVG; @section\n // There are several static functions which can be called without instantiating L.SVG:\n\n // @function create(name: String): SVGElement\n // Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n // corresponding to the class name passed. For example, using 'line' will return\n // an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\n function svgCreate(name) {\n \treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n }\n\n // @function pointsToPath(rings: Point[], closed: Boolean): String\n // Generates a SVG path string for multiple rings, with each ring turning\n // into \"M..L..L..\" instructions\n function pointsToPath(rings, closed) {\n \tvar str = '',\n \ti, j, len, len2, points, p;\n\n \tfor (i = 0, len = rings.length; i < len; i++) {\n \t\tpoints = rings[i];\n\n \t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n \t\t\tp = points[j];\n \t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n \t\t}\n\n \t\t// closes the ring for polygons; \"x\" is VML syntax\n \t\tstr += closed ? (svg ? 'z' : 'x') : '';\n \t}\n\n \t// SVG complains about empty path strings\n \treturn str || 'M0 0';\n }\n\n /*\r\n * @namespace Browser\r\n * @aka L.Browser\r\n *\r\n * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * if (L.Browser.ielt9) {\r\n * alert('Upgrade your browser, dude!');\r\n * }\r\n * ```\r\n */\r\n\r\n var style$1 = document.documentElement.style;\r\n\r\n // @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\n var ie = 'ActiveXObject' in window;\r\n\r\n // @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\n var ielt9 = ie && !document.addEventListener;\r\n\r\n // @property edge: Boolean; `true` for the Edge web browser.\r\n var edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n // @property webkit: Boolean;\r\n // `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\n var webkit = userAgentContains('webkit');\r\n\r\n // @property android: Boolean\r\n // `true` for any browser running on an Android platform.\r\n var android = userAgentContains('android');\r\n\r\n // @property android23: Boolean; `true` for browsers running on Android 2 or Android 3.\r\n var android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n /* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\n var webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n // @property androidStock: Boolean; `true` for the Android stock browser (i.e. not Chrome)\r\n var androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n // @property opera: Boolean; `true` for the Opera browser\r\n var opera = !!window.opera;\r\n\r\n // @property chrome: Boolean; `true` for the Chrome browser.\r\n var chrome = !edge && userAgentContains('chrome');\r\n\r\n // @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\n var gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n // @property safari: Boolean; `true` for the Safari browser.\r\n var safari = !chrome && userAgentContains('safari');\r\n\r\n var phantom = userAgentContains('phantom');\r\n\r\n // @property opera12: Boolean\r\n // `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\n var opera12 = 'OTransition' in style$1;\r\n\r\n // @property win: Boolean; `true` when the browser is running in a Windows platform\r\n var win = navigator.platform.indexOf('Win') === 0;\r\n\r\n // @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\n var ie3d = ie && ('transition' in style$1);\r\n\r\n // @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\n var webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n // @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\n var gecko3d = 'MozPerspective' in style$1;\r\n\r\n // @property any3d: Boolean\r\n // `true` for all browsers supporting CSS transforms.\r\n var any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n // @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\n var mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n // @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\n var mobileWebkit = mobile && webkit;\r\n\r\n // @property mobileWebkit3d: Boolean\r\n // `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\n var mobileWebkit3d = mobile && webkit3d;\r\n\r\n // @property msPointer: Boolean\r\n // `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\n var msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n // @property pointer: Boolean\r\n // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\n var pointer = !!(window.PointerEvent || msPointer);\r\n\r\n // @property touch: Boolean\r\n // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n // This does not necessarily mean that the browser is running in a computer with\r\n // a touchscreen, it only means that the browser is capable of understanding\r\n // touch events.\r\n var touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window ||\r\n \t\t(window.DocumentTouch && document instanceof window.DocumentTouch));\r\n\r\n // @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\n var mobileOpera = mobile && opera;\r\n\r\n // @property mobileGecko: Boolean\r\n // `true` for gecko-based browsers running in a mobile device.\r\n var mobileGecko = mobile && gecko;\r\n\r\n // @property retina: Boolean\r\n // `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\n var retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n // @property passiveEvents: Boolean\r\n // `true` for browsers that support passive events.\r\n var passiveEvents = (function () {\r\n \tvar supportsPassiveOption = false;\r\n \ttry {\r\n \t\tvar opts = Object.defineProperty({}, 'passive', {\r\n \t\t\tget: function () { // eslint-disable-line getter-return\r\n \t\t\t\tsupportsPassiveOption = true;\r\n \t\t\t}\r\n \t\t});\r\n \t\twindow.addEventListener('testPassiveEventSupport', falseFn, opts);\r\n \t\twindow.removeEventListener('testPassiveEventSupport', falseFn, opts);\r\n \t} catch (e) {\r\n \t\t// Errors can safely be ignored since this is only a browser support test.\r\n \t}\r\n \treturn supportsPassiveOption;\r\n }());\r\n\r\n // @property canvas: Boolean\r\n // `true` when the browser supports [`