1function inherits(a,c){function b(){}b.prototype=c.prototype;a.superClass_=c.prototype;a.prototype=new b;a.prototype.constructor=a} function MarkerLabel_(a,c,b){this.marker_=a;this.handCursorURL_=a.handCursorURL;this.labelDiv_=document.createElement("div");this.labelDiv_.style.cssText="position: absolute; overflow: hidden;";this.eventDiv_=document.createElement("div");this.eventDiv_.style.cssText=this.labelDiv_.style.cssText;this.eventDiv_.setAttribute("onselectstart","return false;");this.eventDiv_.setAttribute("ondragstart","return false;");this.crossDiv_=MarkerLabel_.getSharedCross(c)}inherits(MarkerLabel_,google.maps.OverlayView); MarkerLabel_.getSharedCross=function(a){var c;"undefined"===typeof MarkerLabel_.getSharedCross.crossDiv&&(c=document.createElement("img"),c.style.cssText="position: absolute; z-index: 1000002; display: none;",c.style.marginLeft="-8px",c.style.marginTop="-9px",c.src=a,MarkerLabel_.getSharedCross.crossDiv=c);return MarkerLabel_.getSharedCross.crossDiv}; MarkerLabel_.prototype.onAdd=function(){var a=this,c=!1,b=!1,d,e,f,m,k,n,h,g="url("+this.handCursorURL_+")",p=function(a){a.preventDefault&&a.preventDefault();a.cancelBubble=!0;a.stopPropagation&&a.stopPropagation()},q=function(){a.marker_.setAnimation(null)};this.getPanes().overlayImage.appendChild(this.labelDiv_);this.getPanes().overlayMouseTarget.appendChild(this.eventDiv_);"undefined"===typeof MarkerLabel_.getSharedCross.processed&&(this.getPanes().overlayImage.appendChild(this.crossDiv_),MarkerLabel_.getSharedCross.processed= !0);this.listeners_=[google.maps.event.addDomListener(this.eventDiv_,"mouseover",function(b){if(a.marker_.getDraggable()||a.marker_.getClickable())this.style.cursor="pointer",google.maps.event.trigger(a.marker_,"mouseover",b)}),google.maps.event.addDomListener(this.eventDiv_,"mouseout",function(c){!a.marker_.getDraggable()&&!a.marker_.getClickable()||b||(this.style.cursor=a.marker_.getCursor(),google.maps.event.trigger(a.marker_,"mouseout",c))}),google.maps.event.addDomListener(this.eventDiv_,"mousedown", function(d){b=!1;a.marker_.getDraggable()&&(c=!0,this.style.cursor=g);if(a.marker_.getDraggable()||a.marker_.getClickable())google.maps.event.trigger(a.marker_,"mousedown",d),p(d)}),google.maps.event.addDomListener(document,"mouseup",function(e){var f;c&&(c=!1,a.eventDiv_.style.cursor="pointer",google.maps.event.trigger(a.marker_,"mouseup",e));if(b){if(k){f=a.getProjection().fromLatLngToDivPixel(a.marker_.getPosition());f.y+=20;a.marker_.setPosition(a.getProjection().fromDivPixelToLatLng(f));try{a.marker_.setAnimation(google.maps.Animation.BOUNCE), setTimeout(q,1406)}catch(h){}}a.crossDiv_.style.display="none";a.marker_.setZIndex(d);m=!0;b=!1;e.latLng=a.marker_.getPosition();google.maps.event.trigger(a.marker_,"dragend",e)}}),google.maps.event.addListener(a.marker_.getMap(),"mousemove",function(l){var g;c&&(b?(l.latLng=new google.maps.LatLng(l.latLng.lat()-e,l.latLng.lng()-f),g=a.getProjection().fromLatLngToDivPixel(l.latLng),k&&(a.crossDiv_.style.left=g.x+"px",a.crossDiv_.style.top=g.y+"px",a.crossDiv_.style.display="",g.y-=20),a.marker_.setPosition(a.getProjection().fromDivPixelToLatLng(g)), k&&(a.eventDiv_.style.top=g.y+20+"px"),google.maps.event.trigger(a.marker_,"drag",l)):(e=l.latLng.lat()-a.marker_.getPosition().lat(),f=l.latLng.lng()-a.marker_.getPosition().lng(),d=a.marker_.getZIndex(),n=a.marker_.getPosition(),h=a.marker_.getMap().getCenter(),k=a.marker_.get("raiseOnDrag"),b=!0,a.marker_.setZIndex(1E6),l.latLng=a.marker_.getPosition(),google.maps.event.trigger(a.marker_,"dragstart",l)))}),google.maps.event.addDomListener(document,"keydown",function(c){b&&27===c.keyCode&&(k=!1, a.marker_.setPosition(n),a.marker_.getMap().setCenter(h),google.maps.event.trigger(document,"mouseup",c))}),google.maps.event.addDomListener(this.eventDiv_,"click",function(b){if(a.marker_.getDraggable()||a.marker_.getClickable())m?m=!1:(google.maps.event.trigger(a.marker_,"click",b),p(b))}),google.maps.event.addDomListener(this.eventDiv_,"dblclick",function(b){if(a.marker_.getDraggable()||a.marker_.getClickable())google.maps.event.trigger(a.marker_,"dblclick",b),p(b)}),google.maps.event.addListener(this.marker_, "dragstart",function(a){b||(k=this.get("raiseOnDrag"))}),google.maps.event.addListener(this.marker_,"drag",function(c){!b&&k&&
1(a.setPosition(20),a.labelDiv_.style.zIndex=1E6+(this.get("labelInBackground")?-1:1))}),google.maps.event.addListener(this.marker_,"dragend",function(c){b||k&&a.setPosition(0)}),google.maps.event.addListener(this.marker_,"position_changed",function(){a.setPosition()}),google.maps.event.addListener(this.marker_,"zindex_changed",function(){a.setZIndex()}),google.maps.event.addListener(this.marker_, "visible_changed",function(){a.setVisible()}),google.maps.event.addListener(this.marker_,"labelvisible_changed",function(){a.setVisible()}),google.maps.event.addListener(this.marker_,"title_changed",function(){a.setTitle()}),google.maps.event.addListener(this.marker_,"labelcontent_changed",function(){a.setContent()}),google.maps.event.addListener(this.marker_,"labelanchor_changed",function(){a.setAnchor()}),google.maps.event.addListener(this.marker_,"labelclass_changed",function(){a.setStyles()}), google.maps.event.addListener(this.marker_,"labelstyle_changed",function(){a.setStyles()})]};MarkerLabel_.prototype.onRemove=function(){var a;this.labelDiv_.parentNode.removeChild(this.labelDiv_);this.eventDiv_.parentNode.removeChild(this.eventDiv_);for(a=0;a<this.listeners_.length;a++)google.maps.event.removeListener(this.listeners_[a])};MarkerLabel_.prototype.draw=function(){this.setContent();this.setTitle();this.setStyles()}; MarkerLabel_.prototype.setContent=function(){var a=this.marker_.get("labelContent");"undefined"===typeof a.nodeType?(this.labelDiv_.innerHTML=a,this.eventDiv_.innerHTML=this.labelDiv_.innerHTML):(this.labelDiv_.innerHTML="",this.labelDiv_.appendChild(a),a=a.cloneNode(!0),this.eventDiv_.innerHTML="",this.eventDiv_.appendChild(a))};MarkerLabel_.prototype.setTitle=function(){this.eventDiv_.title=this.marker_.getTitle()||""}; MarkerLabel_.prototype.setStyles=function(){var a,c;this.labelDiv_.className=this.marker_.get("labelClass");this.eventDiv_.className=this.labelDiv_.className;this.labelDiv_.style.cssText="";this.eventDiv_.style.cssText="";c=this.marker_.get("labelStyle");for(a in c)c.hasOwnProperty(a)&&(this.labelDiv_.style[a]=c[a],this.eventDiv_.style[a]=c[a]);this.setMandatoryStyles()}; MarkerLabel_.prototype.setMandatoryStyles=function(){this.labelDiv_.style.position="absolute";this.labelDiv_.style.overflow="hidden";"undefined"!==typeof this.labelDiv_.style.opacity&&""!==this.labelDiv_.style.opacity&&(this.labelDiv_.style.MsFilter='"progid:DXImageTransform.Microsoft.Alpha(opacity='+100*this.labelDiv_.style.opacity+')"',this.labelDiv_.style.filter="alpha(opacity="+100*this.labelDiv_.style.opacity+")");this.eventDiv_.style.position=this.labelDiv_.style.position;this.eventDiv_.style.overflow= this.labelDiv_.style.overflow;this.eventDiv_.style.opacity=.01;this.eventDiv_.style.MsFilter='"progid:DXImageTransform.Microsoft.Alpha(opacity=1)"';this.eventDiv_.style.filter="alpha(opacity=1)";this.setAnchor();this.setPosition();this.setVisible()};MarkerLabel_.prototype.setAnchor=function(){var a=this.marker_.get("labelAnchor");this.labelDiv_.style.marginLeft=-a.x+"px";this.labelDiv_.style.marginTop=-a.y+"px";this.eventDiv_.style.marginLeft=-a.x+"px";this.eventDiv_.style.marginTop=-a.y+"px"}; MarkerLabel_.prototype.setPosition=function(a){var c=this.getProjection().fromLatLngToDivPixel(this.marker_.getPosition());"undefined"===typeof a&&(a=0);this.labelDiv_.style.left=Math.round(c.x)+"px";this.labelDiv_.style.top=Math.round(c.y-a)+"px";this.eventDiv_.style.left=this.labelDiv_.style.left;this.eventDiv_.style.top=this.labelDiv_.style.top;this.setZIndex()}; MarkerLabel_.prototype.setZIndex=function(){var a=this.marker_.get("labelInBackground")?-1:1;"undefined"===typeof this.marker_.getZIndex()?this.labelDiv_.style.zIndex=parseInt(this.labelDiv_.style.top,10)+a:this.labelDiv_.style.zIndex=this.marker_.getZIndex()+a;this.eventDiv_.style.zIndex=this.labelDiv_.style.zIndex}; MarkerLabel_.prototype.setVisible=function(){this.marker_.get("labelVisible")?this.labelDiv_.style.display=this.marker_.getVisible()?"block":"none":this.labelDiv_.style.display="none";this.eventDiv_.style.display=this.labelDiv_.style.display}; function MarkerWithLabel(a){a=a||{};a.labelContent=a.labelContent||"";a.labelAnchor=a.labelAnchor||new google.maps.Point(0,0);a.labelClass=a.labelClass||"markerLabels";a.labelStyle=a.labelStyle||{};
1a.labelInBackground=a.labelInBackground||!1;"undefined"===typeof a.labelVisible&&(a.labelVisible=!0);"undefined"===typeof a.raiseOnDrag&&(a.raiseOnDrag=!0);"undefined"===typeof a.clickable&&(a.clickable=!0);"undefined"===typeof a.draggable&&(a.draggable=!1);"undefined"===typeof a.optimized&&(a.optimized= !1);a.crossImage=a.crossImage||"http"+("https:"===document.location.protocol?"s":"")+"://maps.gstatic.com/intl/en_us/mapfiles/drag_cross_67_16.png";a.handCursor=a.handCursor||"http"+("https:"===document.location.protocol?"s":"")+"://maps.gstatic.com/intl/en_us/mapfiles/closedhand_8_8.cur";a.optimized=!1;this.label=new MarkerLabel_(this,a.crossImage,a.handCursor);google.maps.Marker.apply(this,arguments)}inherits(MarkerWithLabel,google.maps.Marker); MarkerWithLabel.prototype.setMap=function(a){google.maps.Marker.prototype.setMap.apply(this,arguments);this.label.setMap(a)};function MarkerManager(a,c){var b=this;b.map_=a;b.mapZoom_=a.getZoom();b.projectionHelper_=new ProjectionHelperOverlay(a);google.maps.event.addListener(b.projectionHelper_,"ready",function(){b.projection_=this.getProjection();b.initialize(a,c)})} MarkerManager.prototype.initialize=function(a,c){var b=this;c=c||{};b.tileSize_=MarkerManager.DEFAULT_TILE_SIZE_;var d=a.mapTypes,e=1,f;for(f in d)if(d.hasOwnProperty(f)&&d.get(f)&&"number"===d.get(f).maxZoom){var m=a.mapTypes.get(f).maxZoom;m>e&&(e=m)}b.maxZoom_=c.maxZoom||19;b.trackMarkers_=c.trackMarkers;b.show_=c.show||!0;d="number"===typeof c.borderPadding?c.borderPadding:MarkerManager.DEFAULT_BORDER_PADDING_;b.swPadding_=new google.maps.Size(-d,d);b.nePadding_=new google.maps.Size(d,-d);b.borderPadding_= d;b.gridWidth_={};b.grid_={};b.grid_[b.maxZoom_]={};b.numMarkers_={};b.numMarkers_[b.maxZoom_]=0;google.maps.event.addListener(a,"dragend",function(){b.onMapMoveEnd_()});google.maps.event.addListener(a,"idle",function(){b.onMapMoveEnd_()});google.maps.event.addListener(a,"zoom_changed",function(){b.onMapMoveEnd_()});b.removeOverlay_=function(a){a.setMap(null);b.shownMarkers_--};b.addOverlay_=function(a){b.show_&&(a.setMap(b.map_),b.shownMarkers_++)};b.resetManager_();b.shownMarkers_=0;b.shownBounds_= b.getMapGridBounds_();google.maps.event.trigger(b,"loaded")};MarkerManager.DEFAULT_TILE_SIZE_=1024;MarkerManager.DEFAULT_BORDER_PADDING_=100;MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE=256;MarkerManager.prototype.resetManager_=function(){for(var a=MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE,c=0;c<=this.maxZoom_;++c)this.grid_[c]={},this.numMarkers_[c]=0,this.gridWidth_[c]=Math.ceil(a/this.tileSize_),a<<=1}; MarkerManager.prototype.clearMarkers=function(){this.processAll_(this.shownBounds_,this.removeOverlay_);this.resetManager_()};MarkerManager.prototype.getTilePoint_=function(a,c,b){a=this.projectionHelper_.LatLngToPixel(a,c);return new google.maps.Point(Math.floor((a.x+b.width)/this.tileSize_),Math.floor((a.y+b.height)/this.tileSize_))}; MarkerManager.prototype.addMarkerBatch_=function(a,c,b){var d=this,e=a.getPosition();a.MarkerManager_minZoom=c;this.trackMarkers_&&google.maps.event.addListener(a,"changed",function(a,b,c){d.onMarkerMoved_(a,b,c)});for(e=this.getTilePoint_(e,b,new google.maps.Size(0,0,0,0));b>=c;b--)this.getGridCellCreate_(e.x,e.y,b).push(a),e.x>>=1,e.y>>=1}; MarkerManager.prototype.isGridPointVisible_=function(a){var c=this.shownBounds_.minY<=a.y&&a.y<=this.shownBounds_.maxY,b=this.shownBounds_.minX,d=b<=a.x&&a.x<=this.shownBounds_.maxX;!d&&0>b&&(d=this.gridWidth_[this.shownBounds_.z],d=b+d<=a.x&&a.x<=d-1);return c&&d}; MarkerManager.prototype.onMarkerMoved_=function(a,c,b){var d=this.maxZoom_,e=!1;c=this.getTilePoint_(c,d,new google.maps.Size(0,0,0,0));for(b=this.getTilePoint_(b,d,new google.maps.Size(0,0,0,0));0<=d&&(c.x!==b.x||c.y!==b.y);){var f=this.getGridCellNoCreate_(c.x,c.y,d);f&&this.removeFromArray_(f,a)&&this.getGridCellCreate_(b.x,b.y,d).push(a);d===this.mapZoom_&&(this.isGridPointVisible_(c)?this.isGridPointVisible_(b)||(this.removeOverlay_(a),e=!0):this.isGridPointVisible_(b)&&(this.addOverlay_(a), e=!0));c.x>>=1;c.y>>=1;b.x>>=1;b.y>>=1;--d}e&&this.notifyListeners_()};MarkerManager.prototype.removeMarker=function(a){for(var c=this.maxZoom_,b=!1,d=a.getPosition(),d=this.getTilePoint_(d,c,new google.maps.Size(0,0,0,0));0<=c;){var e=this.getGridCellNoCreate_(d.x,d.y,c);e&&this.removeFromArray_(e,a);c===this.mapZoom_&&this.isGridPointVisible_(d)&&(this.removeOverlay_(a),b=!0);d.x>>=1;d.y>>=1;--c}b&&this.notifyListeners_();this.numMarkers_[a.MarkerManager_minZoom]--}; MarkerManager.prototype.addMarkers=function(a,c,b){b=this.getOptMaxZoom_(b);for(var d=a.length-1;0<=d;d--)this.addMarkerBatch_(a[d],c,b);this.numMarkers_[c]+=a.length};MarkerManager.prototype.getOptMaxZoom_=function(a){return a||this.maxZoom_};MarkerManager.prototype.getMarkerCount=function(a){for(var c=0,b=0;b<=a;b++)c+=this.numMarkers_[b];return c}; MarkerManager.prototype.getMarker=function(a,c,b){var d=new google.maps.LatLng(a,c),e=this.getTilePoint_(d,b,new google.maps.Size(0,0,0,0)),d=new google.maps.Marker({position:d});b=this.getGridCellNoCreate_(e.x,e.y,b);if(void 0!==b)for(e=0;e<b.length;e++)a===b[e].getPosition().lat()&&c===b[e].getPosition().lng()&&(d=b[e]);return d}; MarkerManager.prototype.addMarker=function(a,c,b){b=this.getOptMaxZoom_(b);this.addMarkerBatch_(a,c,b);var d=this.getTilePoint_(a.getPosition(),this.mapZoom_,new google.maps.Size(0,0,0,0));this.isGridPointVisible_(d)&&c<=this.shownBounds_.z&&this.shownBounds_.z<=b&&(this.addOverlay_(a),this.notifyListeners_());this.numMarkers_[c]++};function GridBounds(a){this.minX=Math.min(a[0].x,a[1].x);this.maxX=Math.max(a[0].x,a[1].x);this.minY=Math.min(a[0].y,a[1].y);this.maxY=Math.max(a[0].y,a[1].y)} GridBounds.prototype.equals=function(a){return this.maxX===a.maxX&&this.maxY===a.maxY&&this.minX===a.minX&&this.minY===a.minY?!0:!1};GridBounds.prototype.containsPoint=function(a){return this.minX<=a.x&&this.maxX>=a.x&&this.minY<=a.y&&this.maxY>=a.y};MarkerManager.prototype.getGridCellCreate_=function(a,c,b){var d=this.grid_[b];0>a&&(a+=this.gridWidth_[b]);b=d[a];return b?(a=b[c])?a:b[c]=[]:(b=d[a]=[],b[c]=[])}; MarkerManager.prototype.getGridCellNoCreate_=function(a,c,b){var d=this.grid_[b];0>a&&(a+=this.gridWidth_[b]);return(a=d[a])?a[c]:void 0};MarkerManager.prototype.getGridBounds_=function(a,c,b,d){c=Math.min(c,this.maxZoom_);
1var e=a.getSouthWest();a=a.getNorthEast();b=this.getTilePoint_(e,c,b);d=this.getTilePoint_(a,c,d);var f=this.gridWidth_[c];if(a.lng()<e.lng()||d.x<b.x)b.x-=f;d.x-b.x+1>=f&&(b.x=0,d.x=f-1);e=new GridBounds([b,d]);e.z=c;return e}; MarkerManager.prototype.getMapGridBounds_=function(){return this.getGridBounds_(this.map_.getBounds(),this.mapZoom_,this.swPadding_,this.nePadding_)};MarkerManager.prototype.onMapMoveEnd_=function(){this.objectSetTimeout_(this,this.updateMarkers_,0)};MarkerManager.prototype.objectSetTimeout_=function(a,c,b){return window.setTimeout(function(){c.call(a)},b)};MarkerManager.prototype.visible=function(){return this.show_?!0:!1};MarkerManager.prototype.isHidden=function(){return!this.show_}; MarkerManager.prototype.show=function(){this.show_=!0;this.refresh()};MarkerManager.prototype.hide=function(){this.show_=!1;this.refresh()};MarkerManager.prototype.toggle=function(){this.show_=!this.show_;this.refresh()};MarkerManager.prototype.refresh=function(){0<this.shownMarkers_&&this.processAll_(this.shownBounds_,this.removeOverlay_);this.show_&&this.processAll_(this.shownBounds_,this.addOverlay_);this.notifyListeners_()}; MarkerManager.prototype.updateMarkers_=function(){this.mapZoom_=this.map_.getZoom();var a=this.getMapGridBounds_();a.equals(this.shownBounds_)&&a.z===this.shownBounds_.z||(a.z!==this.shownBounds_.z?(this.processAll_(this.shownBounds_,this.removeOverlay_),this.show_&&this.processAll_(a,this.addOverlay_)):(this.rectangleDiff_(this.shownBounds_,a,this.removeCellMarkers_),this.show_&&this.rectangleDiff_(a,this.shownBounds_,this.addCellMarkers_)),this.shownBounds_=a,this.notifyListeners_())}; MarkerManager.prototype.notifyListeners_=function(){google.maps.event.trigger(this,"changed",this.shownBounds_,this.shownMarkers_)};MarkerManager.prototype.processAll_=function(a,c){for(var b=a.minX;b<=a.maxX;b++)for(var d=a.minY;d<=a.maxY;d++)this.processCellMarkers_(b,d,a.z,c)};MarkerManager.prototype.processCellMarkers_=function(a,c,b,d){if(a=this.getGridCellNoCreate_(a,c,b))for(c=a.length-1;0<=c;c--)d(a[c])}; MarkerManager.prototype.removeCellMarkers_=function(a,c,b){this.processCellMarkers_(a,c,b,this.removeOverlay_)};MarkerManager.prototype.addCellMarkers_=function(a,c,b){this.processCellMarkers_(a,c,b,this.addOverlay_)};MarkerManager.prototype.rectangleDiff_=function(a,c,b){var d=this;d.rectangleDiffCoords_(a,c,function(c,f){b.apply(d,[c,f,a.z])})}; MarkerManager.prototype.rectangleDiffCoords_=function(a,c,b){var d=a.minX,e=a.minY,f=a.maxX;a=a.maxY;var m=c.minX,k=c.minY,n=c.maxX;c=c.maxY;var h,g;for(h=d;h<=f;h++){for(g=e;g<=a&&g<k;g++)b(h,g);for(g=Math.max(c+1,e);g<=a;g++)b(h,g)}for(g=Math.max(e,k);g<=Math.min(a,c);g++){for(h=Math.min(f+1,m)-1;h>=d;h--)b(h,g);for(h=Math.max(d,n+1);h<=f;h++)b(h,g)}};MarkerManager.prototype.removeFromArray_=function(a,c,b){for(var d=0,e=0;e<a.length;++e)if(a[e]===c||b&&a[e]===c)a.splice(e--,1),d++;return d}; function ProjectionHelperOverlay(a){this.setMap(a);this._map=a;this._X0=this._Y0=this._X1=this._Y1=this._zoom=-1}ProjectionHelperOverlay.prototype=new google.maps.OverlayView;ProjectionHelperOverlay.prototype.LngToX_=function(a){return 1+a/180};ProjectionHelperOverlay.prototype.LatToY_=function(a){a=Math.sin(a*Math.PI/180);return 1-.5/Math.PI*Math.log((1+a)/(1-a))}; ProjectionHelperOverlay.prototype.LatLngToPixel=function(a,c){this.getProjection().fromLatLngToDivPixel(a);return{x:~~(.5+this.LngToX_(a.lng())*(2<<c+6)),y:~~(.5+this.LatToY_(a.lat())*(2<<c+6))}};ProjectionHelperOverlay.prototype.draw=function(){this.ready||(this.ready=!0,google.maps.event.trigger(this,"ready"))};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.