{"version":3,"sources":["assets sync /^/.//.*$","assets/placeholder.png","assets/pano/Bourque_Arena_1078.jpg","assets/loader.gif","assets/pano/nextDestination.png","assets/pano/panoMarker.png","assets/91ÖØ¿Ú.svg","assets/infoModalArrow.png","assets/View360.png","assets/google_jump.png","assets/wayfinding/map_pin_buildings.svg","assets/wayfinding/map_pin_waypoints.svg","assets/assets_bg.png","assets/buildings/bourque-arena/bourque_center_area_1.jpg","assets/buildings/bourque-arena/bourque_center_area_2.jpg","assets/buildings/bourque-arena/bourque_center_area_3.jpg","assets/buildings/callahan-center/callahan_center_area_1.jpg","assets/buildings/callahan-center/callahan_center_area_1_thumb.jpg","assets/buildings/callahan-center/callahan_center_area_2.jpg","assets/buildings/callahan-center/callahan_center_area_3.jpg","assets/buildings/callahan-center/callahan_center_area_4.jpg","assets/buildings/callahan-center/callahan_center_area_4_thumb.jpg","assets/buildings/callahan-center/callahan_center_area_5.jpg","assets/buildings/callahan-center/callahan_center_area_6.jpg","assets/buildings/callahan-center/callahan_center_area_6_thumb.jpg","assets/buildings/center-for-belonging/center_for_belonging_area_1.jpg","assets/buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg","assets/buildings/center-for-belonging/center_for_belonging_area_2.jpg","assets/buildings/center-for-belonging/center_for_belonging_area_2_thumb.jpg","assets/buildings/center-for-belonging/center_for_belonging_area_3.jpeg","assets/buildings/center-for-belonging/center_for_belonging_area_3_thumb.jpg","assets/buildings/frates-hall/frates_hall_area_1.jpg","assets/buildings/frates-hall/frates_hall_area_2.jpg","assets/buildings/frates-hall/frates_hall_area_3.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_1.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_1_thumb.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_2.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_3.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_4.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_5.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_5_thumb.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_6.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_7.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_7_thumb.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_8.jpg","assets/buildings/gerrish-school/gerrish_school_of_business_area_8_thumb.jpg","assets/buildings/gullys/gullys_area_1.jpg","assets/buildings/gullys/gullys_area_1_thumb.jpg","assets/buildings/gullys/gullys_area_2.jpg","assets/buildings/gullys/gullys_area_3.jpg","assets/buildings/halle-library/halle_library_area_1.jpg","assets/buildings/halle-library/halle_library_area_1_thumb.jpg","assets/buildings/halle-library/halle_library_area_2.jpg","assets/buildings/halle-library/halle_library_area_3.jpg","assets/buildings/halle-library/halle_library_area_4.jpg","assets/buildings/halle-library/halle_library_area_5.jpg","assets/buildings/halle-library/halle_library_area_5_thumb.jpg","assets/buildings/halle-library/halle_library_area_6.jpg","assets/buildings/halle-library/halle_library_area_6_thumb.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_1.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_1_thumb.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_2.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_2_thumb.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_3.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_3_thumb.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_4.jpg","assets/buildings/hempstead-commons/hempstead-commons_area_4_thumb.jpg","assets/buildings/judgeScienceCenter/gerrish_school_of_business_area_2.jpg","assets/buildings/judgeScienceCenter/judge_science_center_area_0.jpg","assets/buildings/judgeScienceCenter/judge_science_center_area_1.jpg","assets/buildings/judgeScienceCenter/judge_science_center_area_2.jpg","assets/buildings/judgeScienceCenter/judge_science_center_area_2_thumb.jpg","assets/buildings/manninen-center/manninen_center_area_1.jpg","assets/buildings/manninen-center/manninen_center_area_10.jpg","assets/buildings/manninen-center/manninen_center_area_11.jpg","assets/buildings/manninen-center/manninen_center_area_12.jpg","assets/buildings/manninen-center/manninen_center_area_12_thumb.jpg","assets/buildings/manninen-center/manninen_center_area_1_thumb.jpg","assets/buildings/manninen-center/manninen_center_area_2.jpg","assets/buildings/manninen-center/manninen_center_area_3.jpg","assets/buildings/manninen-center/manninen_center_area_3_thumb.jpg","assets/buildings/manninen-center/manninen_center_area_4.jpg","assets/buildings/manninen-center/manninen_center_area_5.jpg","assets/buildings/manninen-center/manninen_center_area_5_thumb.jpg","assets/buildings/manninen-center/manninen_center_area_8.jpg","assets/buildings/manninen-center/manninen_center_area_9.jpg","assets/buildings/manninen-center/wax_academic_center_area_3.jpg","assets/buildings/manninen-center/wax_academic_center_area_3_thumb.jpg","assets/buildings/nursing/nursing_area_1.jpg","assets/buildings/nursing/nursing_area_10.jpg","assets/buildings/nursing/nursing_area_10_thumb.jpg","assets/buildings/nursing/nursing_area_11.jpg","assets/buildings/nursing/nursing_area_11_thumb.jpg","assets/buildings/nursing/nursing_area_12.jpg","assets/buildings/nursing/nursing_area_1_thumb.jpg","assets/buildings/nursing/nursing_area_2.jpg","assets/buildings/nursing/nursing_area_3.jpg","assets/buildings/nursing/nursing_area_3_thumb.jpg","assets/buildings/nursing/nursing_area_4.jpg","assets/buildings/nursing/nursing_area_5.jpg","assets/buildings/nursing/nursing_area_6.jpg","assets/buildings/nursing/nursing_area_6_thumb.jpg","assets/buildings/nursing/nursing_area_7.jpg","assets/buildings/nursing/nursing_area_7_thumb.jpg","assets/buildings/nursing/nursing_area_8.jpg","assets/buildings/nursing/nursing_area_8_thumb.jpg","assets/buildings/nursing/nursing_area_9.jpg","assets/buildings/nursing/nursing_area_9_thumb.jpg","assets/buildings/nursing/sport_science_area_1.jpg","assets/buildings/nursing/sport_science_area_1_thumb.jpg","assets/buildings/nursing/sport_science_area_2.jpg","assets/buildings/nursing/sport_science_area_2_thumb.jpg","assets/buildings/nursing/sport_science_area_3.jpg","assets/buildings/nursing/sport_science_area_3_thumb.jpg","assets/buildings/post-center/post_center_area_1.jpg","assets/buildings/post-center/post_center_area_10.jpg","assets/buildings/post-center/post_center_area_11.jpg","assets/buildings/post-center/post_center_area_12.jpg","assets/buildings/post-center/post_center_area_12_thumb.jpg","assets/buildings/post-center/post_center_area_1_thumb.jpg","assets/buildings/post-center/post_center_area_2.jpg","assets/buildings/post-center/post_center_area_3.jpg","assets/buildings/post-center/post_center_area_3_thumb.jpg","assets/buildings/post-center/post_center_area_4.jpg","assets/buildings/post-center/post_center_area_4_thumb.jpg","assets/buildings/post-center/post_center_area_5.jpg","assets/buildings/post-center/post_center_area_5_thumb.jpg","assets/buildings/post-center/post_center_area_6.jpg","assets/buildings/post-center/post_center_area_6_thumb.jpg","assets/buildings/post-center/post_center_area_7.jpg","assets/buildings/post-center/post_center_area_8.jpg","assets/buildings/post-center/post_center_area_9.jpg","assets/buildings/reynolds-hall/reynolds_hall_area_1.jpg","assets/buildings/standish-hall/standish_hall_area_1.jpg","assets/buildings/standish-hall/standish_hall_area_2.jpg","assets/buildings/standish-hall/standish_hall_area_3.jpg","assets/buildings/standish-hall/standish_hall_area_3_thumb.jpg","assets/buildings/standish-hall/standish_hall_area_4.jpg","assets/buildings/standish-hall/standish_hall_area_5.jpg","assets/buildings/wax-center/wax_academic_center_area_1.jpg","assets/buildings/wax-center/wax_academic_center_area_2.jpg","assets/buildings/wax-center/wax_academic_center_area_2_thumb.jpg","assets/buildings/wax-center/wax_academic_center_area_3.jpg","assets/buildings/wax-center/wax_academic_center_area_3_thumb.jpg","assets/buildings/wax-center/wax_academic_center_area_5.jpg","assets/buildings/wax-center/wax_academic_center_area_6.jpg","assets/buildings/wax-center/wax_academic_center_area_7.jpg","assets/buildings/wax-center/wax_academic_center_area_7_thumb.jpg","assets/buildings/wax-center/wax_academic_center_area_8.jpg","assets/buildings/wax-center/wax_academic_center_area_8_thumb.jpg","assets/buildings/wax-center/wax_academic_center_area_9.jpg","assets/buildings/wax-center/wax_academic_center_area_9_thumb.jpg","assets/buildings/wax-center/wax_academic_center_new_building_int.jpg","assets/fonts/utopiastd-bold.otf","assets/home-bg.png","assets/minus.svg","assets/pano/CallahanCenter.png","assets/pano/college_hall_1.jpg","assets/pano/mingo_beach_1.jpg","assets/pano/softball_complex_1.jpg","assets/pano/the_lodge_1.jpg","assets/plus.svg","assets/points-1.png","assets/wayfinding/pegman.png","assets/waypoints/bayview/bayview_hotspot_1.jpg","assets/waypoints/callahan-center/callahan-center_pano.jpg","assets/waypoints/chapel/Chapel_1126.jpg","assets/waypoints/chapel/chapel_area_1.jpg","assets/waypoints/chapel/chapel_area_1_thumb.jpg","assets/waypoints/chapel/chapel_area_2.jpg","assets/waypoints/chapel/chapel_area_2_thumb.jpg","assets/waypoints/chapel/chapel_hotspot_1.jpg","assets/waypoints/chapel/chapel_hotspot_2.jpg","assets/waypoints/college-hall/college_hall_hotspot_1.jpg","assets/waypoints/college-hall/college_hall_hotspot_2.jpg","assets/waypoints/college-hall/college_hall_hotspot_3.jpg","assets/waypoints/college-hall/college_hall_hotspot_3_thumb.jpg","assets/waypoints/college-hall/college_hall_pano.jpg","assets/waypoints/college-hall/college_hall_pano_thumb.jpg","assets/waypoints/first-year/first_year_quad.jpg","assets/waypoints/first-year/first_year_quad_thumb.jpg","assets/waypoints/frontGate/Front_Gate167.jpg","assets/waypoints/frontGate/front-gate_pano.jpg","assets/waypoints/gerrish-school-of-business/gerrish-school_pano.jpg","assets/waypoints/gerrish-school-of-business/gerrish-school_thumb.jpg","assets/waypoints/ginger-judge/ginger-judge_thumb.jpg","assets/waypoints/ginger-judge/ginger-jusge_pano.jpg","assets/waypoints/halle-library/halle-library_pano.jpg","assets/waypoints/hamilton/hamilton_wenham_hotspot_1.jpg","assets/waypoints/hamilton/hamilton_wenham_hotspot_2.jpg","assets/waypoints/hempstead-stadium/hempstead_stadium_hotspot_1.jpg","assets/waypoints/hempstead-stadium/hempstead_stadium_hotspot_2.jpg","assets/waypoints/lakes/lakes_amphitheater_hotspot_1.jpg","assets/waypoints/lakes/lakes_amphitheater_hotspot_2.jpg","assets/waypoints/lodge/lodge_hotspot_1.jpg","assets/waypoints/lodge/lodge_hotspot_2.jpg","assets/waypoints/lodge/lodge_hotspot_3.jpg","assets/waypoints/lodge/the_lodge_pano.jpg","assets/waypoints/lodge/the_lodge_pano_thumb.jpg","assets/waypoints/manninen-center-of-arts/manninen-center_pano.jpg","assets/waypoints/marblehead/marblehead_hotspot_1.jpg","assets/waypoints/mingo-beach/mingo_beach_pano.jpg","assets/waypoints/mingo-beach/mingo_beach_pano_thumb.jpg","assets/waypoints/mingo-beach/mingobeach_hotspot_1.jpg","assets/waypoints/mingo-beach/mingobeach_hotspot_2.jpg","assets/waypoints/mingo-beach/mingobeach_hotspot_3.jpg","assets/waypoints/mingo-beach/mingobeach_hotspot_4.jpg","assets/waypoints/misselwood/misselwood_hotspot_1.jpg","assets/waypoints/misselwood/misselwood_hotspot_2.jpg","assets/waypoints/misselwood/misselwood_hotspot_3.jpg","assets/waypoints/misselwood/misselwood_related_1.jpg","assets/waypoints/misselwood/misselwood_related_2.jpg","assets/waypoints/north-field/northfield_basepoint.jpg","assets/waypoints/north-field/northfield_basepoint_thumb.jpg","assets/waypoints/north-field/northfield_hotspot_1.jpg","assets/waypoints/north-field/northfield_hotspot_2.jpg","assets/waypoints/nursing/nursing_pano.jpg","assets/waypoints/nursing/nursing_thumb.jpg","assets/waypoints/post-sport/post-sport_pano.jpg","assets/waypoints/public-safety/public_safety_hotspot_1.jpg","assets/waypoints/public-safety/public_safety_hotspot_2.jpg","assets/waypoints/softball/softball_basepoint.jpg","assets/waypoints/softball/softball_basepoint_thumb.jpg","assets/waypoints/softball/softball_complex_hotspot_1.jpg","assets/waypoints/stone-ridge/stoneridge_hotspot_1.jpg","assets/waypoints/tupper/Tupper_Lawn157.jpg","assets/waypoints/tupper/Tupper_Lawn158.jpg","assets/waypoints/tupper/Tupper_Lawn159.jpg","assets/waypoints/tupper/Tupper_Lawn160.jpg","assets/waypoints/tupper/tupperlawn_hotspot_1.jpg","assets/waypoints/wax-acacemic-center/wax-acacemic-center_pano.jpg","assets/waypoints/wax-acacemic-center/wax-acacemic-center_thumb.jpg","common/models/WayPoints.tsx","content/svgIcons.tsx","context/menu-context.ts","components/common/sidebar/sidebar.tsx","common/utils/LoadingService.tsx","common/models/Menu.tsx","common/base-classes/BaseComponent.tsx","components/fly-menu/fly-menu-external-links.tsx","components/fly-menu/fly-menu-items.tsx","components/fly-menu/fly-menu.tsx","common/models/Category.tsx","content/menuData.tsx","common/models/Media.ts","components/common/layout/layout.tsx","components/loader/loader.tsx","components/action-btns/action-btns.tsx","content/buildingsData.ts","content/waypointsData-newTours.tsx","content/waypointsData.tsx","content/wayfindingMarkers.ts","common/utils/StoreLastDestination.ts","pages/Wayfinding.tsx","common/utils/ToggleModalClasses.ts","components/gallery/pano-details-helper.tsx","components/webgl-panorama/webgl-controls.tsx","context/webgl-context.ts","context/hotspots-context.ts","components/webgl-panorama/webgl-panorama.tsx","components/gallery/details-item.tsx","components/modals/building-details-modal.tsx","pages/NoMatch.tsx","components/gallery/gallery-item-subtle.tsx","components/gallery/gallery-item.tsx","common/services/data-service.ts","common/services/thumbnails-service.ts","common/utils/QueryParams.ts","pages/Gallery.tsx","components/modals/marker-modal.tsx","components/street-view/destination-controls.tsx","components/street-view/street-view.tsx","components/related-points/related-points-settings.ts","components/related-points/related-points-slide.tsx","components/related-points/related-points.tsx","pages/CampusTour.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","CampusTourKeys","Tour","width","height","className","fill","xmlns","viewBox","d","Wayfinding","YourPath","ArtsCenter","Athletics","StudentsCenter","Exit","NotFound","aria-hidden","focusable","data-prefix","data-icon","role","View360","Camera","Gallery","Stop","Play","BuildingTourKeys","campusTourPoints","slug","frontGate","policeBuilding","callahanCenter","centerForBelonging","gerrishSchool","gingerJudge","hempsteadStadium","postSportScience","nursing","waxAcacemic","dianeLibrary","centerForArts","theLodge","firstYearQuad","misselwood","collegeHall","mingoBeach","stoneridge","marblehead","bayview","northField","MenuContext","React","createContext","Sidebar","context","useContext","showMenu","closeMenu","handleMenuChanges","state","preventDefault","linkClassNames","style","maxHeight","forceVisible","to","onMouseOver","src","Logo","alt","activeClassName","onClick","isActive","match","location","url","artsCenter","athletics","some","i","pathname","includes","Date","getFullYear","LoadIndicatorService","observers","this","f","push","status","forEach","observer","instance","MenuTypes","BaseComponent","props","loadIndicator","LoadingService","getInstance","showLoading","show","notify","getInitialState","Component","FlyMenuExternalLinks","href","target","rel","FlyMenuItems","links","onClose","menuType","baseUrl","path","student","campus","link","showInFly","inlineItems","key","title","externalLink","item","exact","FlyMenu","isOpen","data","activeMenu","onMouseLeave","description","menuItems","contextType","Categories","MediaTypes","flyMenuData","categoryName","scienceAndtechnology","business","communications","education","sport","studentLife","visualAndArts","manninenCenterForArts","halleLibrarya","waxAcademicCenter","hempsteadCommons","businessSchool","judgeCenter","postCenter","bourqueArena","nursingBuilding","fratesHall","reynoldsHall","stadishHall","gullys","uncategorized","Layout","children","useState","isOpenFlyMenu","setFlyMenu","setMenuItems","setActiveMenu","Provider","value","TransitionGroup","length","Loader","LoaderIcon","ActionBtns","aria-label","assets","mediaType","webgl","imageName","thumbNail","subtitle","img","basePath","category","panoConfiguration","lat","lng","pov","zoom","heading","pitch","youtube","videoUrl","video","cameraConfig","startPoint","panoImage","require","markerScale","newToursData","scaleX","panoMarkers","ignoreBasePath","x","y","z","relatedPoints","ignoreOnGallery","wayPointKey","amphitheater","hotspotNum","panoImageThumb","pano","googlePanoImgLink","panoId","tupperLawn","softballComplex","hamilton","panoOptions","fullscreenControl","addressControl","motionTracking","visible","linksControl","enableCloseButton","standAlone","showRoadLabels","zoomControl","clickToGo","mapContainerStyle","buildingIcon","waypointIcon","markerType","getMarkerImg","assetIdx","type","h","current","buildingData","imagePath","waypointsData","process","buildingMarkers","image","iconPath","waypointMarkers","syncLastDest","keyName","localStorage","setItem","res","getItem","mergeMarkers","handleMarkerClick","history","handleMouseEvent","idx","setState","showInfoModal","infoModalIdx","showActiveInfoModal","setMapVisibilty","gsLoaded","activateMarker","markers","destSlug","setDefaultMarker","activeMarker","marker","find","infoModal","options","maxWidth","onCloseClick","animation","BtnArrow","markerOpts","position","icon","size","google","maps","Size","defaultCenter","Fragment","googleMapsApiKey","onLoad","center","styles","mapStyles","streetViewControl","zIndex","onMouseOut","Animation","DROP","toggleModalClasses","open","document","body","overflowY","classList","add","close","remove","PanoHelper","stopRotation","pausePano","View360Icon","extend","OrbitControls","WebglControls","useThree","camera","gl","ref","useRef","cameraIsSet","setCameraIsSet","useFrame","update","useEffect","canvas","querySelector","addEventListener","onWheel","set","updateProjectionMatrix","removeEventListener","event","stopPropagation","deltaY","THREE","args","domElement","WebGLContext","HotspotsContext","WebglDome","lazy","WebglPanorama","onLoaded","contextHotposts","panoIsRotating","handleModal","useMemo","enableZoom","enablePan","enableDamping","dampingFactor","autoRotate","autoRotateSpeed","rotateSpeed","fallback","handleMarker","_s","DetailsItem","asset","showPanoTooltip","isLoading","panoOpts","iframeRef","createRef","playPano","CSSTransition","in","timeout","classNames","parentClick","tagName","handleClick","placeholder","Placeholder","loading","vimeo","allowFullScreen","assetsMapper","LoadingIcon","BuildingDetailsModal","timer","interval","captionRef","getCaptionHeight","caption","setTimeout","captionHeight","clientHeight","slideControls","activeSlide","content","detailsIsLoading","activateRotation","setCurrentSlide","slideContent","showModal","detailsIsLoaded","clearTimeout","clearInterval","categories","data-dismiss","marginTop","cat","NoMatch","GalleryItemSubtle","iconType","GalleryItem","DataService","headers","method","fetch","response","ThumbnailsService","svc","handleType","queryParam","getQueryParams","URLSearchParams","search","get","thumbSvc","filterByCategory","pageTexts","showGallery","waypoints","JSON","parse","stringify","buildings","buildingsData","images","isBuildingPage","entries","undefined","notFound","console","log","updImgPath","waypoint","imgsWithPath","filter","isArtsCenter","isAthletics","setArtsAndAthleticItems","galleryItems","Array","from","slice","handleQueryParamas","hasMore","param","findIndex","clickedImgIndx","handleDetails","goBack","handleImagesLoaded","imagesLoaded","loadMore","showLoader","items","params","window","scroll","dataLength","next","loader","updateOnEachImageLoad","onImagesLoaded","initLayout","transitionDuration","ev","MarkerModal","nodeRef","imageVisibility","setVisibility","setModal","setPanoRotation","showPanoHelper","setShowPanoHelper","handleClose","useCallback","handleOutsideClick","handlePanoClick","renderMedia","DestinationControls","activeDest","shouldRender","setRender","onAnimationEnd","ControlsIcon","SreetViewPano","intervalId","panoRotation","rotate","activeIndx","setInterval","showOverlayItems","initStreetView","activeDestination","optionsObj","autoRotation","hotspots","hotspot","imgBasePath","modalData","handleClickControls","handleNextDest","handlePrevDest","panoLoaded","showNext","showPrev","PanoMarker","carouselSettings","slidesToShowInit","dots","arrows","infinite","slidesToShow","slidesToScroll","draggable","responsive","breakpoint","settings","centerMode","centerPadding","RelatedPointsSlide","relatedPoint","renderImagePath","RelatedPoints","slider","setRelatedPoints","point","num","panoMarker","join","showControls","showDetailsModal","Slider","slickPrev","Arrow","slickNext","c","withRouter","CampusTour","setActiveDestination","panoSlug","activeDestIndx","findDestIndx","dataIsReady","controlsState","handleIntro","pathName","Boolean","replace","showPrevControls","showNextControls","changeDest","updUrl","showCaption","JumpTo","App","subscribe","component","hostname","TagManager","initialize","gtmId","ReactDOM","render","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","message"],"mappings":"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A3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,qE,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,qE,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,qE,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,qE,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4D,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,+D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,2D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,8D,gBCA3CD,EAAOC,QAAU,IAA0B,kE,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,mC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,kC,gBCA3CD,EAAOC,QAAU,IAA0B,sC,cCA3CD,EAAOC,QAAU,swI,gBCAjBD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,mD,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,uD,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,yD,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,oD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,qD,gBCA3CD,EAAOC,QAAU,IAA0B,gD,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,wD,gBCA3CD,EAAOC,QAAU,IAA0B,kD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAA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","file":"static/js/main.f5edff4d.chunk.js","sourcesContent":["var map = {\n\t\"./91ÖØ¿Ú.svg\": 112,\n\t\"./View360.png\": 114,\n\t\"./assets_bg.png\": 251,\n\t\"./buildings/bourque-arena/bourque_center_area_1.jpg\": 252,\n\t\"./buildings/bourque-arena/bourque_center_area_2.jpg\": 253,\n\t\"./buildings/bourque-arena/bourque_center_area_3.jpg\": 254,\n\t\"./buildings/callahan-center/callahan_center_area_1.jpg\": 255,\n\t\"./buildings/callahan-center/callahan_center_area_1_thumb.jpg\": 256,\n\t\"./buildings/callahan-center/callahan_center_area_2.jpg\": 257,\n\t\"./buildings/callahan-center/callahan_center_area_3.jpg\": 258,\n\t\"./buildings/callahan-center/callahan_center_area_4.jpg\": 259,\n\t\"./buildings/callahan-center/callahan_center_area_4_thumb.jpg\": 260,\n\t\"./buildings/callahan-center/callahan_center_area_5.jpg\": 261,\n\t\"./buildings/callahan-center/callahan_center_area_6.jpg\": 262,\n\t\"./buildings/callahan-center/callahan_center_area_6_thumb.jpg\": 263,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_1.jpg\": 264,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg\": 265,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_2.jpg\": 266,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_2_thumb.jpg\": 267,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_3.jpeg\": 268,\n\t\"./buildings/center-for-belonging/center_for_belonging_area_3_thumb.jpg\": 269,\n\t\"./buildings/frates-hall/frates_hall_area_1.jpg\": 270,\n\t\"./buildings/frates-hall/frates_hall_area_2.jpg\": 271,\n\t\"./buildings/frates-hall/frates_hall_area_3.jpg\": 272,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_1.jpg\": 273,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_1_thumb.jpg\": 274,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_2.jpg\": 275,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_3.jpg\": 276,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_4.jpg\": 277,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_5.jpg\": 278,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_5_thumb.jpg\": 279,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_6.jpg\": 280,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_7.jpg\": 281,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_7_thumb.jpg\": 282,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_8.jpg\": 283,\n\t\"./buildings/gerrish-school/gerrish_school_of_business_area_8_thumb.jpg\": 284,\n\t\"./buildings/gullys/gullys_area_1.jpg\": 285,\n\t\"./buildings/gullys/gullys_area_1_thumb.jpg\": 286,\n\t\"./buildings/gullys/gullys_area_2.jpg\": 287,\n\t\"./buildings/gullys/gullys_area_3.jpg\": 288,\n\t\"./buildings/halle-library/halle_library_area_1.jpg\": 289,\n\t\"./buildings/halle-library/halle_library_area_1_thumb.jpg\": 290,\n\t\"./buildings/halle-library/halle_library_area_2.jpg\": 291,\n\t\"./buildings/halle-library/halle_library_area_3.jpg\": 292,\n\t\"./buildings/halle-library/halle_library_area_4.jpg\": 293,\n\t\"./buildings/halle-library/halle_library_area_5.jpg\": 294,\n\t\"./buildings/halle-library/halle_library_area_5_thumb.jpg\": 295,\n\t\"./buildings/halle-library/halle_library_area_6.jpg\": 296,\n\t\"./buildings/halle-library/halle_library_area_6_thumb.jpg\": 297,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_1.jpg\": 298,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_1_thumb.jpg\": 299,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_2.jpg\": 300,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_2_thumb.jpg\": 301,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_3.jpg\": 302,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_3_thumb.jpg\": 303,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_4.jpg\": 304,\n\t\"./buildings/hempstead-commons/hempstead-commons_area_4_thumb.jpg\": 305,\n\t\"./buildings/judgeScienceCenter/gerrish_school_of_business_area_2.jpg\": 306,\n\t\"./buildings/judgeScienceCenter/judge_science_center_area_0.jpg\": 307,\n\t\"./buildings/judgeScienceCenter/judge_science_center_area_1.jpg\": 308,\n\t\"./buildings/judgeScienceCenter/judge_science_center_area_2.jpg\": 309,\n\t\"./buildings/judgeScienceCenter/judge_science_center_area_2_thumb.jpg\": 310,\n\t\"./buildings/manninen-center/manninen_center_area_1.jpg\": 311,\n\t\"./buildings/manninen-center/manninen_center_area_10.jpg\": 312,\n\t\"./buildings/manninen-center/manninen_center_area_11.jpg\": 313,\n\t\"./buildings/manninen-center/manninen_center_area_12.jpg\": 314,\n\t\"./buildings/manninen-center/manninen_center_area_12_thumb.jpg\": 315,\n\t\"./buildings/manninen-center/manninen_center_area_1_thumb.jpg\": 316,\n\t\"./buildings/manninen-center/manninen_center_area_2.jpg\": 317,\n\t\"./buildings/manninen-center/manninen_center_area_3.jpg\": 318,\n\t\"./buildings/manninen-center/manninen_center_area_3_thumb.jpg\": 319,\n\t\"./buildings/manninen-center/manninen_center_area_4.jpg\": 320,\n\t\"./buildings/manninen-center/manninen_center_area_5.jpg\": 321,\n\t\"./buildings/manninen-center/manninen_center_area_5_thumb.jpg\": 322,\n\t\"./buildings/manninen-center/manninen_center_area_8.jpg\": 323,\n\t\"./buildings/manninen-center/manninen_center_area_9.jpg\": 324,\n\t\"./buildings/manninen-center/wax_academic_center_area_3.jpg\": 325,\n\t\"./buildings/manninen-center/wax_academic_center_area_3_thumb.jpg\": 326,\n\t\"./buildings/nursing/nursing_area_1.jpg\": 327,\n\t\"./buildings/nursing/nursing_area_10.jpg\": 328,\n\t\"./buildings/nursing/nursing_area_10_thumb.jpg\": 329,\n\t\"./buildings/nursing/nursing_area_11.jpg\": 330,\n\t\"./buildings/nursing/nursing_area_11_thumb.jpg\": 331,\n\t\"./buildings/nursing/nursing_area_12.jpg\": 332,\n\t\"./buildings/nursing/nursing_area_1_thumb.jpg\": 333,\n\t\"./buildings/nursing/nursing_area_2.jpg\": 334,\n\t\"./buildings/nursing/nursing_area_3.jpg\": 335,\n\t\"./buildings/nursing/nursing_area_3_thumb.jpg\": 336,\n\t\"./buildings/nursing/nursing_area_4.jpg\": 337,\n\t\"./buildings/nursing/nursing_area_5.jpg\": 338,\n\t\"./buildings/nursing/nursing_area_6.jpg\": 339,\n\t\"./buildings/nursing/nursing_area_6_thumb.jpg\": 340,\n\t\"./buildings/nursing/nursing_area_7.jpg\": 341,\n\t\"./buildings/nursing/nursing_area_7_thumb.jpg\": 342,\n\t\"./buildings/nursing/nursing_area_8.jpg\": 343,\n\t\"./buildings/nursing/nursing_area_8_thumb.jpg\": 344,\n\t\"./buildings/nursing/nursing_area_9.jpg\": 345,\n\t\"./buildings/nursing/nursing_area_9_thumb.jpg\": 346,\n\t\"./buildings/nursing/sport_science_area_1.jpg\": 347,\n\t\"./buildings/nursing/sport_science_area_1_thumb.jpg\": 348,\n\t\"./buildings/nursing/sport_science_area_2.jpg\": 349,\n\t\"./buildings/nursing/sport_science_area_2_thumb.jpg\": 350,\n\t\"./buildings/nursing/sport_science_area_3.jpg\": 351,\n\t\"./buildings/nursing/sport_science_area_3_thumb.jpg\": 352,\n\t\"./buildings/post-center/post_center_area_1.jpg\": 353,\n\t\"./buildings/post-center/post_center_area_10.jpg\": 354,\n\t\"./buildings/post-center/post_center_area_11.jpg\": 355,\n\t\"./buildings/post-center/post_center_area_12.jpg\": 356,\n\t\"./buildings/post-center/post_center_area_12_thumb.jpg\": 357,\n\t\"./buildings/post-center/post_center_area_1_thumb.jpg\": 358,\n\t\"./buildings/post-center/post_center_area_2.jpg\": 359,\n\t\"./buildings/post-center/post_center_area_3.jpg\": 360,\n\t\"./buildings/post-center/post_center_area_3_thumb.jpg\": 361,\n\t\"./buildings/post-center/post_center_area_4.jpg\": 362,\n\t\"./buildings/post-center/post_center_area_4_thumb.jpg\": 363,\n\t\"./buildings/post-center/post_center_area_5.jpg\": 364,\n\t\"./buildings/post-center/post_center_area_5_thumb.jpg\": 365,\n\t\"./buildings/post-center/post_center_area_6.jpg\": 366,\n\t\"./buildings/post-center/post_center_area_6_thumb.jpg\": 367,\n\t\"./buildings/post-center/post_center_area_7.jpg\": 368,\n\t\"./buildings/post-center/post_center_area_8.jpg\": 369,\n\t\"./buildings/post-center/post_center_area_9.jpg\": 370,\n\t\"./buildings/reynolds-hall/reynolds_hall_area_1.jpg\": 371,\n\t\"./buildings/standish-hall/standish_hall_area_1.jpg\": 372,\n\t\"./buildings/standish-hall/standish_hall_area_2.jpg\": 373,\n\t\"./buildings/standish-hall/standish_hall_area_3.jpg\": 374,\n\t\"./buildings/standish-hall/standish_hall_area_3_thumb.jpg\": 375,\n\t\"./buildings/standish-hall/standish_hall_area_4.jpg\": 376,\n\t\"./buildings/standish-hall/standish_hall_area_5.jpg\": 377,\n\t\"./buildings/wax-center/wax_academic_center_area_1.jpg\": 378,\n\t\"./buildings/wax-center/wax_academic_center_area_2.jpg\": 379,\n\t\"./buildings/wax-center/wax_academic_center_area_2_thumb.jpg\": 380,\n\t\"./buildings/wax-center/wax_academic_center_area_3.jpg\": 381,\n\t\"./buildings/wax-center/wax_academic_center_area_3_thumb.jpg\": 382,\n\t\"./buildings/wax-center/wax_academic_center_area_5.jpg\": 383,\n\t\"./buildings/wax-center/wax_academic_center_area_6.jpg\": 384,\n\t\"./buildings/wax-center/wax_academic_center_area_7.jpg\": 385,\n\t\"./buildings/wax-center/wax_academic_center_area_7_thumb.jpg\": 386,\n\t\"./buildings/wax-center/wax_academic_center_area_8.jpg\": 387,\n\t\"./buildings/wax-center/wax_academic_center_area_8_thumb.jpg\": 388,\n\t\"./buildings/wax-center/wax_academic_center_area_9.jpg\": 389,\n\t\"./buildings/wax-center/wax_academic_center_area_9_thumb.jpg\": 390,\n\t\"./buildings/wax-center/wax_academic_center_new_building_int.jpg\": 391,\n\t\"./fonts/utopiastd-bold.otf\": 392,\n\t\"./google_jump.png\": 115,\n\t\"./home-bg.png\": 393,\n\t\"./infoModalArrow.png\": 113,\n\t\"./loader.gif\": 42,\n\t\"./minus.svg\": 394,\n\t\"./pano/Bourque_Arena_1078.jpg\": 38,\n\t\"./pano/CallahanCenter.png\": 395,\n\t\"./pano/college_hall_1.jpg\": 396,\n\t\"./pano/mingo_beach_1.jpg\": 397,\n\t\"./pano/nextDestination.png\": 48,\n\t\"./pano/panoMarker.png\": 96,\n\t\"./pano/softball_complex_1.jpg\": 398,\n\t\"./pano/the_lodge_1.jpg\": 399,\n\t\"./placeholder.png\": 29,\n\t\"./plus.svg\": 400,\n\t\"./points-1.png\": 401,\n\t\"./wayfinding/map_pin_buildings.svg\": 157,\n\t\"./wayfinding/map_pin_waypoints.svg\": 158,\n\t\"./wayfinding/pegman.png\": 402,\n\t\"./waypoints/bayview/bayview_hotspot_1.jpg\": 403,\n\t\"./waypoints/callahan-center/callahan-center_pano.jpg\": 404,\n\t\"./waypoints/chapel/Chapel_1126.jpg\": 405,\n\t\"./waypoints/chapel/chapel_area_1.jpg\": 406,\n\t\"./waypoints/chapel/chapel_area_1_thumb.jpg\": 407,\n\t\"./waypoints/chapel/chapel_area_2.jpg\": 408,\n\t\"./waypoints/chapel/chapel_area_2_thumb.jpg\": 409,\n\t\"./waypoints/chapel/chapel_hotspot_1.jpg\": 410,\n\t\"./waypoints/chapel/chapel_hotspot_2.jpg\": 411,\n\t\"./waypoints/college-hall/college_hall_hotspot_1.jpg\": 412,\n\t\"./waypoints/college-hall/college_hall_hotspot_2.jpg\": 413,\n\t\"./waypoints/college-hall/college_hall_hotspot_3.jpg\": 414,\n\t\"./waypoints/college-hall/college_hall_hotspot_3_thumb.jpg\": 415,\n\t\"./waypoints/college-hall/college_hall_pano.jpg\": 416,\n\t\"./waypoints/college-hall/college_hall_pano_thumb.jpg\": 417,\n\t\"./waypoints/first-year/first_year_quad.jpg\": 418,\n\t\"./waypoints/first-year/first_year_quad_thumb.jpg\": 419,\n\t\"./waypoints/frontGate/Front_Gate167.jpg\": 420,\n\t\"./waypoints/frontGate/front-gate_pano.jpg\": 421,\n\t\"./waypoints/gerrish-school-of-business/gerrish-school_pano.jpg\": 422,\n\t\"./waypoints/gerrish-school-of-business/gerrish-school_thumb.jpg\": 423,\n\t\"./waypoints/ginger-judge/ginger-judge_thumb.jpg\": 424,\n\t\"./waypoints/ginger-judge/ginger-jusge_pano.jpg\": 425,\n\t\"./waypoints/halle-library/halle-library_pano.jpg\": 426,\n\t\"./waypoints/hamilton/hamilton_wenham_hotspot_1.jpg\": 427,\n\t\"./waypoints/hamilton/hamilton_wenham_hotspot_2.jpg\": 428,\n\t\"./waypoints/hempstead-stadium/hempstead_stadium_hotspot_1.jpg\": 429,\n\t\"./waypoints/hempstead-stadium/hempstead_stadium_hotspot_2.jpg\": 430,\n\t\"./waypoints/lakes/lakes_amphitheater_hotspot_1.jpg\": 431,\n\t\"./waypoints/lakes/lakes_amphitheater_hotspot_2.jpg\": 432,\n\t\"./waypoints/lodge/lodge_hotspot_1.jpg\": 433,\n\t\"./waypoints/lodge/lodge_hotspot_2.jpg\": 434,\n\t\"./waypoints/lodge/lodge_hotspot_3.jpg\": 435,\n\t\"./waypoints/lodge/the_lodge_pano.jpg\": 436,\n\t\"./waypoints/lodge/the_lodge_pano_thumb.jpg\": 437,\n\t\"./waypoints/manninen-center-of-arts/manninen-center_pano.jpg\": 438,\n\t\"./waypoints/marblehead/marblehead_hotspot_1.jpg\": 439,\n\t\"./waypoints/mingo-beach/mingo_beach_pano.jpg\": 440,\n\t\"./waypoints/mingo-beach/mingo_beach_pano_thumb.jpg\": 441,\n\t\"./waypoints/mingo-beach/mingobeach_hotspot_1.jpg\": 442,\n\t\"./waypoints/mingo-beach/mingobeach_hotspot_2.jpg\": 443,\n\t\"./waypoints/mingo-beach/mingobeach_hotspot_3.jpg\": 444,\n\t\"./waypoints/mingo-beach/mingobeach_hotspot_4.jpg\": 445,\n\t\"./waypoints/misselwood/misselwood_hotspot_1.jpg\": 446,\n\t\"./waypoints/misselwood/misselwood_hotspot_2.jpg\": 447,\n\t\"./waypoints/misselwood/misselwood_hotspot_3.jpg\": 448,\n\t\"./waypoints/misselwood/misselwood_related_1.jpg\": 449,\n\t\"./waypoints/misselwood/misselwood_related_2.jpg\": 450,\n\t\"./waypoints/north-field/northfield_basepoint.jpg\": 451,\n\t\"./waypoints/north-field/northfield_basepoint_thumb.jpg\": 452,\n\t\"./waypoints/north-field/northfield_hotspot_1.jpg\": 453,\n\t\"./waypoints/north-field/northfield_hotspot_2.jpg\": 454,\n\t\"./waypoints/nursing/nursing_pano.jpg\": 455,\n\t\"./waypoints/nursing/nursing_thumb.jpg\": 456,\n\t\"./waypoints/post-sport/post-sport_pano.jpg\": 457,\n\t\"./waypoints/public-safety/public_safety_hotspot_1.jpg\": 458,\n\t\"./waypoints/public-safety/public_safety_hotspot_2.jpg\": 459,\n\t\"./waypoints/softball/softball_basepoint.jpg\": 460,\n\t\"./waypoints/softball/softball_basepoint_thumb.jpg\": 461,\n\t\"./waypoints/softball/softball_complex_hotspot_1.jpg\": 462,\n\t\"./waypoints/stone-ridge/stoneridge_hotspot_1.jpg\": 463,\n\t\"./waypoints/tupper/Tupper_Lawn157.jpg\": 464,\n\t\"./waypoints/tupper/Tupper_Lawn158.jpg\": 465,\n\t\"./waypoints/tupper/Tupper_Lawn159.jpg\": 466,\n\t\"./waypoints/tupper/Tupper_Lawn160.jpg\": 467,\n\t\"./waypoints/tupper/tupperlawn_hotspot_1.jpg\": 468,\n\t\"./waypoints/wax-acacemic-center/wax-acacemic-center_pano.jpg\": 469,\n\t\"./waypoints/wax-acacemic-center/wax-acacemic-center_thumb.jpg\": 470\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 23;","module.exports = __webpack_public_path__ + \"static/media/placeholder.a05ac50f.png\";","module.exports = __webpack_public_path__ + \"static/media/Bourque_Arena_1078.a91198d2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/loader.ef805c3a.gif\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQNSURBVHgBtVjdThpBFJ5dQQUsIlpLBC9IwTSNiaT1BeotfRh72/te14ept/oIpdE2NthwIbX+BPwBFkWBft+4Q1YKYWaLXzKZs7Bn5psz55w5s5YwxM3NTdayrBxastvtzqOfV//huYJWxW9l9IXp6emiwdDC0nkJA4dub283JiYm3kEOC02AFMkVg8HgF8jVke8LQxJXV1ei0WiIWq0m6vW6wP+992dmZgTeFXNzcyIajcpnhU6nsw1Lbfsig8nj9/f3H7gVikS5XJa9LkgmkUiIxcXFh8lgqUAg8HmYlawhRJIukTBXfnh4aESiH1NTU2J1dVX2QBPbRkLlkWS8RM7OzkSpVBLtdlv8L7h9y8vLYmlpaSghq48It+YjiRwdHQm2cYOE2FxCn7xbZntfVBY5Pj5+EiIEx6XFgZA7X+gfMsgfeTorfUSXCJwxHYvF1tmwwoTQBLee87jzbTwiw+2xbTtPeX9/X9tHsIBAJBJZZwuFQutCExy/WHzIh5h3Q1lHkrm7u3vPnubz5o1RgFP+Qs5xKM/OziaRS17o6l5fX6sIDSnrSDIwcZY9fcUE0Osg+X2XA9m2hbzyykRfuQOtI3ueNdw7x3EEmymgcwDLdimHw+EM5Iiurtc64JC1sbo1Pl1eXgo/QCJrQLfoykH4z2sTfR4tRKvVWrPBSAb9xcWF8Ats1Z6Scf6sYEzbQFf25EHLxPkA8wq/gEXOqwDlZwAcOaury8OWQDDEbVWP+PEXL2Dur0qGI6/o6qnopd9qm3MUEAg9p0MyjAkfGBuZhYWFt0qGlX8IH6ADVyi4x7sv4IwJIqyTlOF7nWaz+VNXVxVgrHVIRjoeBhN+MTk5+YZhTRkOWcRzXVeXpQWBI6JKB5ZpEOlc+AXKzJ7DIokdGKjKEpUgDxur+MYHJCvhB4iGl8gtUrlSqZyjRvljoo8TX/bkQcsU0RxahkW0KeLx+JqS4St7Jrr0F7oH/ZY8ZDRhv3bZuxWYNmCVKAZ8ThkR1MI4JRN9FusEibCXZOB8O36sw9SPE7eOjFvD+VRAftFO44xedWtAjpJXmF4NzEqPBRYzYqFQGEsRPgyMoFwuJwlhzm0sQpKxPUx3uHd8IZ1Oi6cE3YHzcD5F5BEZbFMTVtnidtF8pv5jQsS9rjicz/vfoHtTChl103tLGNe9iRZ3/cTBHFuIpOH3pkGE6EMs0k1q434wMDKZjDpyBhIZSoZASTgP5U1VYrBYPzk56dUfuiRSqVQvu9NHuDWI2Mqg90d+EsEq8gjdvHomGdaurAy5fV5yXDkTGeormdE9R4yDqNk9PT3dTSaTQwsnre8ztBJyCi95We/HIQ1okTAi4wUJoXjO0a9YsvZ/uXI/EP3GWVNQmVUXfwEvwl47MDS3LAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/91ÖØ¿Ú.1ff37496.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANBSURBVHgBrVZNTxNRFL1vWmkRgoUErCi0KC6IGCaiQEqwIwuMbohLd/YftDEujDGFlQm4qGsXxZ0mJkhiYiACRaBiATMNCCYUKd8fJlAJgSkffb477RAIaWcaOEmb176Ze3LevffcR0AFzldegdNzdgJUoABWiH8ACEQoBZEAiLFd+s7zwiGmikNSEej0xG0wZAj2yjK4VmSGvAvZkJuTLe/vRHdhaW0dxkNzMDY1D+ubWz66T5s9zx0+TUTOJq+JyyJuFtD5+EGtTKAFw+Mh6PQHYWNzyxPTM0KXI5KUiKmwMhXtdbfK+IZaHjINGZAOUGWXX4T+0UnxYJ8+YurCJ4hQiS6L9DbYKvgGGw+nAZJ1+YPigZ7eU5RxyiYel6zklCQIjFFXWcZz+8R9GB+/nK1eAXOCx3VWQDKMiUV1SKQD4r5vq1DNyfLKGvT0DYL/xwioAWNhMRF9XJXe2eLlTTnZwp3yUtWXc0054A+MgCRFwXwxH65aLSmfx4o9b8wQ5F5k1fCkvLQItMBoNIKt6ra8RmVawPIOHAcCxxFScfN6MWiFrbqSERogPLcAf2ZmVZ8vZaooR+wcsxW+sCAPtEJWVZ1Q9U1dFToJOzUrFoMp3ca0VR1RFU6tCm0LEkRpgx5Zk+R2eQxIFGaGCOnAPxSvvBJLMZRYU+cXbYkhglUX3vinnWhHkuB7YFRe19trVZ9fZA7PTkBkxUD7QvMroBWymmhUVlJiUW8LHCNAaZCLAfiY24IWHFNzV10N4hebVXQP2uQfT1vbekNzy1QNS8urtNs3QAeHhqkWBMamqIvFRg656g6ANr//MqgkLikumQvkvCh9lAqSPJuCgFP32IbrtdfzqSdAzwrtLJarxetR4h/2EdVBU9/ohIjj+LTAGAMsFt2GJuU/nbIY6uyQauobO6cXVwUpume2FObDOb0O0gEe1+f+n+ALjMVH+UvHygkimay7I1LzsPHD7NLfzOBkuAat6bJGH8QWefvxK/yeWXgT2wbHURJE8usWm7o4EJkpCuXM3W+wUXKFkRoTvohuss4afXp+lV1GJlCND4vK80zjdesEIRuMOLNwnFACPGtzU2IrjK6CDY+9mIxAwX9R/u8Z4ds8jAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/map_pin_buildings.991255a7.svg\";","module.exports = __webpack_public_path__ + \"static/media/map_pin_waypoints.47e3a672.svg\";","module.exports = __webpack_public_path__ + \"static/media/assets_bg.8c9fb6c6.png\";","module.exports = __webpack_public_path__ + \"static/media/bourque_center_area_1.b62666fd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/bourque_center_area_2.46bffabc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/bourque_center_area_3.7fb46ba1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_1.ecd4c908.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_1_thumb.0b0ba814.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_2.3c0bdc51.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_3.0dfed3d2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_4.fe4d4789.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_4_thumb.eed2b451.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_5.31fcde22.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_6.02cbdf11.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan_center_area_6_thumb.b8ae0683.jpg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_1.9121ab9d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_1_thumb.33d1d740.jpg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_2.cf53fe9e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_2_thumb.cb977541.jpg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_3.c50b29d9.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/center_for_belonging_area_3_thumb.d052441e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/frates_hall_area_1.585edd38.jpg\";","module.exports = __webpack_public_path__ + \"static/media/frates_hall_area_2.2cccbab1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/frates_hall_area_3.1c454bfe.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_1.b71fa501.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_1_thumb.9d6859f6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_2.1654da89.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_3.93d24dc0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_4.28283663.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_5.4e26e20e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_5_thumb.57520ed8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_6.5dd00fbf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_7.f9396ecc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_7_thumb.166ee645.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_8.12eafee8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_8_thumb.1970a587.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gullys_area_1.8359c796.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gullys_area_1_thumb.fe098278.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gullys_area_2.cc07c181.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gullys_area_3.7b4fe924.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_1.9ca96bfe.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_1_thumb.0229a03a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_2.f7c66fb7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_3.bd7ade7a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_4.1ca48f48.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_5.f4124db5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_5_thumb.ed97b2bd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_6.dbe889b0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle_library_area_6_thumb.ee41bbf2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_1.b1453ebc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_1_thumb.ef9f6b2b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_2.a2eb3151.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_2_thumb.258b78bc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_3.76ec24d2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_3_thumb.4e7f0f27.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_4.4dcccb02.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead-commons_area_4_thumb.22133fc0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish_school_of_business_area_2.1654da89.jpg\";","module.exports = __webpack_public_path__ + \"static/media/judge_science_center_area_0.8368584a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/judge_science_center_area_1.fccaad8b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/judge_science_center_area_2.42f2ffef.jpg\";","module.exports = __webpack_public_path__ + \"static/media/judge_science_center_area_2_thumb.23b16945.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_1.ff9696a7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_10.ba532a3b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_11.27fd8650.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_12.d8caf415.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_12_thumb.640287a6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_1_thumb.4e582cb0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_2.9ad1e7e8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_3.a311311e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_3_thumb.e7cc20dd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_4.8dde0ba5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_5.629298dd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_5_thumb.2b26625a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_8.dc3145a1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen_center_area_9.d1bf6b73.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_3.42bc0fb3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_3_thumb.b88849e7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_1.3b52c085.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_10.31fa6be2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_10_thumb.29acbd80.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_11.e3f546fa.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_11_thumb.e41948ca.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_12.0e7a3213.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_1_thumb.3b9e6560.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_2.1f7dc31a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_3.56605fc2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_3_thumb.7b48f61f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_4.5167d20f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_5.09608c58.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_6.0ccfabf5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_6_thumb.13b6c65a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_7.23857d95.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_7_thumb.859e572b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_8.06e9ab7c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_8_thumb.b5f25c22.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_9.0d2d84c5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_area_9_thumb.fab8dd67.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_1.71b23df3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_1_thumb.4e6ee818.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_2.69dfe1a4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_2_thumb.495fd621.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_3.a6256c37.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sport_science_area_3_thumb.98c5d8ec.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_1.2d6499d4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_10.99e4c6e0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_11.59a52e3c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_12.850d5dde.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_12_thumb.7dc2401c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_1_thumb.0b341cbc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_2.0e88b290.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_3.1cd18d57.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_3_thumb.0f581042.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_4.230b4365.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_4_thumb.b4c2b6ef.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_5.86119fc5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_5_thumb.b539d51e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_6.6ace97ba.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_6_thumb.67d84a37.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_7.ef6faee8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_8.14fab510.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post_center_area_9.55741da1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/reynolds_hall_area_1.e8bc0657.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_1.bac670bb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_2.e8808a0f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_3.c97a3f3a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_3_thumb.f9ad747b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_4.fa6ccd80.jpg\";","module.exports = __webpack_public_path__ + \"static/media/standish_hall_area_5.e8db6b76.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_1.a6f92c7f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_2.18fff404.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_2_thumb.87a3c190.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_3.42bc0fb3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_3_thumb.b88849e7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_5.2a4c1afa.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_6.09e292b3.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_7.507b9bc5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_7_thumb.4e1ecd04.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_8.b8cd886d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_8_thumb.58d5d961.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_9.43ac5aa4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_area_9_thumb.e3428212.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax_academic_center_new_building_int.908a5e1f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/utopiastd-bold.8687d60b.otf\";","module.exports = __webpack_public_path__ + \"static/media/home-bg.d675fd57.png\";","module.exports = __webpack_public_path__ + \"static/media/minus.a181fb23.svg\";","module.exports = __webpack_public_path__ + \"static/media/CallahanCenter.9ae117d9.png\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_1.3f3d1be9.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingo_beach_1.9c3d66f5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/softball_complex_1.4f654739.jpg\";","module.exports = __webpack_public_path__ + \"static/media/the_lodge_1.8b10b0d4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/plus.ce703963.svg\";","module.exports = __webpack_public_path__ + \"static/media/points-1.5fe6ac3b.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/bayview_hotspot_1.019fdc13.jpg\";","module.exports = __webpack_public_path__ + \"static/media/callahan-center_pano.1e8d9815.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Chapel_1126.f4ac8be4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_area_1.80cedd06.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_area_1_thumb.7587d52e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_area_2.89e433e6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_area_2_thumb.9a25edb2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_hotspot_1.e51a332c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/chapel_hotspot_2.39bc4943.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_hotspot_1.03144918.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_hotspot_2.dedc9f97.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_hotspot_3.aa299efa.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_hotspot_3_thumb.cef27a1a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_pano.6036b9c7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/college_hall_pano_thumb.b7b8830e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/first_year_quad.f902a729.jpg\";","module.exports = __webpack_public_path__ + \"static/media/first_year_quad_thumb.e35667c6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Front_Gate167.12b0bc3f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/front-gate_pano.4570d697.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish-school_pano.ddb66c53.jpg\";","module.exports = __webpack_public_path__ + \"static/media/gerrish-school_thumb.dd9250f7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ginger-judge_thumb.3e24f69c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ginger-jusge_pano.12eafee8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/halle-library_pano.5ea8d16d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hamilton_wenham_hotspot_1.773d604f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hamilton_wenham_hotspot_2.1e074dd1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead_stadium_hotspot_1.b11446ea.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hempstead_stadium_hotspot_2.e69a30fc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/lakes_amphitheater_hotspot_1.8cfbe797.jpg\";","module.exports = __webpack_public_path__ + \"static/media/lakes_amphitheater_hotspot_2.3401d960.jpg\";","module.exports = __webpack_public_path__ + \"static/media/lodge_hotspot_1.13b1a470.jpg\";","module.exports = __webpack_public_path__ + \"static/media/lodge_hotspot_2.520ffd5b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/lodge_hotspot_3.97db4f68.jpg\";","module.exports = __webpack_public_path__ + \"static/media/the_lodge_pano.3891fbf7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/the_lodge_pano_thumb.c81166df.jpg\";","module.exports = __webpack_public_path__ + \"static/media/manninen-center_pano.27152e7f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/marblehead_hotspot_1.ea535500.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingo_beach_pano.572eb92b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingo_beach_pano_thumb.9791e1f6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingobeach_hotspot_1.4c4b7b61.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingobeach_hotspot_2.843d2c5d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingobeach_hotspot_3.332bb356.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mingobeach_hotspot_4.d01bf636.jpg\";","module.exports = __webpack_public_path__ + \"static/media/misselwood_hotspot_1.6e2449d2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/misselwood_hotspot_2.b3b866aa.jpg\";","module.exports = __webpack_public_path__ + \"static/media/misselwood_hotspot_3.5ce79f9d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/misselwood_related_1.9e719d72.jpg\";","module.exports = __webpack_public_path__ + \"static/media/misselwood_related_2.5b7c289e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/northfield_basepoint.94d42a7f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/northfield_basepoint_thumb.e8b4c84b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/northfield_hotspot_1.1bd84e7a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/northfield_hotspot_2.7aa76bb1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_pano.0f4b392b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nursing_thumb.4b4c6aa2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/post-sport_pano.97f62ed5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/public_safety_hotspot_1.11fc375b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/public_safety_hotspot_2.21cba8cb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/softball_basepoint.20e94983.jpg\";","module.exports = __webpack_public_path__ + \"static/media/softball_basepoint_thumb.aca77014.jpg\";","module.exports = __webpack_public_path__ + \"static/media/softball_complex_hotspot_1.ecf94cfb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/stoneridge_hotspot_1.d84c0f80.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Tupper_Lawn157.80bf9485.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Tupper_Lawn158.606b2bad.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Tupper_Lawn159.0f9f6643.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Tupper_Lawn160.775cf2bb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/tupperlawn_hotspot_1.915725be.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax-acacemic-center_pano.42b6be93.jpg\";","module.exports = __webpack_public_path__ + \"static/media/wax-acacemic-center_thumb.7b908e1e.jpg\";","export type TourPointType = {\n [index: string]: string;\n slug: string;\n};\n\nexport enum CampusTourKeys {\n frontGate = \"front-gate\",\n policeBuilding = \"safety-police-building\",\n centerForBelonging = \"center-for-belonging\",\n collegeHall = \"college-hall\",\n amphitheater = \"amphitheater\",\n hempsteadStadium = \"hempstead-stadium\",\n softballComplex = \"softball-complex\",\n northField = \"north-field\",\n stoneridge = \"stoneridge\",\n marblehead = \"marblehead\",\n bayview = \"bayview\",\n firstYearQuad = \"first-year-quad\",\n hamilton = \"hamilton-wenham\",\n misselwood = \"misselwood\",\n mingoBeach = \"mingo-beach\",\n tupperLawn = \"tupper-lawn\",\n theLodge = \"the-lodge\",\n dianeLibrary = 'halle-library',\n centerForArts = \"center-for-the-arts\",\n nursing = \"nursing\",\n callahanCenter = 'callahan-center',\n gerrishSchool = 'gerrish-school-of-business',\n gingerJudge = \"ginger-judge-science-center\",\n postSportScience = \"post-sport-science-and-fitness-center\",\n waxAcacemic = \"wax-academic-center\",\n}\n\nexport const campusTourPoints: TourPointType[] = [\n { slug: CampusTourKeys.frontGate },\n { slug: CampusTourKeys.policeBuilding },\n { slug: CampusTourKeys.callahanCenter },\n { slug: CampusTourKeys.centerForBelonging },\n { slug: CampusTourKeys.gerrishSchool },\n { slug: CampusTourKeys.gingerJudge },\n // { slug: CampusTourKeys.collegeHall },\n // { slug: CampusTourKeys.amphitheater },\n { slug: CampusTourKeys.hempsteadStadium },\n { slug: CampusTourKeys.postSportScience },\n { slug: CampusTourKeys.nursing },\n { slug: CampusTourKeys.waxAcacemic },\n // { slug: CampusTourKeys.softballComplex },\n { slug: CampusTourKeys.dianeLibrary },\n { slug: CampusTourKeys.centerForArts },\n { slug: CampusTourKeys.theLodge },\n { slug: CampusTourKeys.firstYearQuad },\n { slug: CampusTourKeys.misselwood },\n { slug: CampusTourKeys.collegeHall },\n { slug: CampusTourKeys.mingoBeach },\n { slug: CampusTourKeys.stoneridge },\n { slug: CampusTourKeys.marblehead },\n { slug: CampusTourKeys.bayview },\n { slug: CampusTourKeys.northField },\n // { slug: CampusTourKeys.hamilton },\n // { slug: CampusTourKeys.tupperLawn },\n];\n\nexport enum BuildingTourKeys {\n callahanCenter = \"callahan-center\",\n centerForBelonging = \"center-for-belonging\",\n businessSchool = \"ginger-judge-science-center\",\n judgeCenter = \"judge-science-center\",\n waxAcademicCenter = \"wax-academic-center\",\n hempsteadCommons = \"hempstead-commons\",\n postCenter = \"post-sport-science-and-fitness-center\",\n gullys = \"gullys\",\n halleLibrarya = \"halle-library\",\n manninenCenterForArts = \"center-for-the-arts\",\n nursingBuilding = \"nursing\",\n bourqueArena = \"bourque-arena\",\n fratesHall = \"frates-hall\",\n reynoldsHall = \"reynolds-hall\",\n stadishHall = \"stadish-hall\",\n artsCenter = \"arts-center\",\n athletics = \"athletics\",\n}\n","import React from \"react\";\n\nexport const Tour = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const Wayfinding = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const YourPath = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const CampusLiving = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const ArtsCenter = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const Athletics = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\n\nexport const StudentsCenter = ({ width = '40', height = '40', className = \"\" }) => (\n \n)\nexport const Exit = ({ width = '15', height = '15', className = \"\" }) => (\n \n \n \n)\n\nexport const NotFound = () => (\n \n \n \n \n)\n\nexport const View360 = ({ width = '32', height = '32', className = \"\" }) => (\n \n)\n\nexport const Camera = ({ width = '32', height = '32', className = \"\" }) => (\n \n)\n\nexport const Gallery = ({ width = '32', height = '32', className = \"\" }) => (\n \n)\n\nexport const Stop = ({ width = '35', height = '35', className = \"\" }) => (\n \n \n \n)\n\nexport const Play = ({ width = '35', height = '35', className = \"\" }) => (\n \n \n \n)","import React from \"react\";\n\ninterface IMenuContext {\n showMenu: (slug: string) => void\n closeMenu: () => void\n}\n\nconst MenuContext = React.createContext({} as IMenuContext);\n\nexport default MenuContext;","import React from 'react'\nimport { NavLink, Link } from 'react-router-dom'\n\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\n\nimport { Tour, Wayfinding, YourPath, StudentsCenter, ArtsCenter, Athletics } from '../../../content/svgIcons'\nimport Logo from '../../../assets/91ÖØ¿Ú.svg'\n\nimport { BuildingTourKeys } from '../../../common/models/WayPoints';\nimport MenuContext from '../../../context/menu-context';\n\nconst Sidebar: React.SFC = () => {\n const context = React.useContext(MenuContext)\n const { showMenu, closeMenu } = context\n\n const handleMenuChanges = (e: React.MouseEvent, slug: string, state: boolean): void => {\n e.preventDefault()\n state ? showMenu(slug) : closeMenu()\n }\n\n const isActive = (match: any, location: any): boolean => {\n if (match?.url === '/buildings') {\n return ![BuildingTourKeys.artsCenter as string, BuildingTourKeys.athletics as string].some(i => location.pathname.includes(i))\n } else {\n return false\n }\n }\n\n const linkClassNames = \"nav-link d-flex flex-column align-items-center justify-content-center\"\n\n return (\n \n )\n}\n\nexport default Sidebar\n","import ILoadIndicator from \"../../common/interfaces/ILoadIndicator\";\n\nexport default class LoadIndicatorService implements ILoadIndicator{\n observers: any;\n\n private static instance: LoadIndicatorService;\n\n constructor() {\n this.observers = [];\n }\n\n static getInstance() {\n if (!LoadIndicatorService.instance) {\n LoadIndicatorService.instance = new LoadIndicatorService();\n }\n return LoadIndicatorService.instance;\n }\n\n subscribe(f:(visible: boolean) => void): void {\n this.observers.push(f)\n }\n\n notify(status: boolean) {\n this.observers.forEach((observer: any) => observer(status))\n }\n}\n\n","export enum MenuTypes {\n path = 'yourPath',\n campus = 'campusTour',\n student = 'studentLife',\n uncategorized = 'uncategorized'\n}","import React from \"react\";\nimport ILoadIndicator from \"../interfaces/ILoadIndicator\";\nimport LoadingService from '../utils/LoadingService'\n\nexport default class BaseComponent extends React.Component {\n protected loadIndicator: ILoadIndicator = LoadingService.getInstance();\n \n constructor(props: P) {\n super(props)\n this.state = this.getInitialState();\n }\n\n getInitialState(): S {\n return {} as S;\n }\n\n protected showLoading = (show: boolean): any => this.loadIndicator.notify(show);\n}","import React from 'react'\n\nconst FlyMenuExternalLinks: React.FC = () => \n \n\nexport default FlyMenuExternalLinks\n","import React from 'react'\nimport { MenuItem } from '../../common/models/Category'\nimport { NavLink } from 'react-router-dom'\nimport { MenuTypes } from '../../common/models/Menu'\n\ntype Props = {\n links: MenuItem[]\n onClose: () => void\n menuType: string\n}\n\nconst FlyMenuItems: React.FC = ({ links, onClose, menuType }) => {\n\n const baseUrl = (menuType: string) => {\n switch (menuType) {\n case MenuTypes.path:\n return '/your-path'\n case MenuTypes.student:\n return '/buildings'\n case MenuTypes.campus:\n return '/campus-tour'\n default:\n return '/your-path'\n }\n }\n\n return (\n
    \n {\n links && links.map((link: MenuItem) => \n !link.showInFly &&\n (\n
  • onClose()}>\n { link.externalLink ? {link.title} \n : <>\n {link.inlineItems ? (\n link.inlineItems.map(item => (\n \n {item.title}\n \n ))\n ) : (\n \n {link.title}\n \n )}\n \n }\n
  • \n )\n )\n }\n
\n )\n}\n\nexport default FlyMenuItems\n","import React from 'react'\nimport BaseComponent from '../../common/base-classes/BaseComponent'\nimport SimpleBar from 'simplebar-react'\nimport { IFlyMenuBody } from '../../common/models/Category'\nimport { Exit } from '../../content/svgIcons'\nimport FlyMenuExternalLinks from './fly-menu-external-links'\nimport FlyMenuItems from './fly-menu-items'\nimport MenuContext from '../../context/menu-context'\n\ntype FlyMenuState = {}\n\ntype FlyMenuProps = {\n isOpen: boolean;\n data: IFlyMenuBody\n activeMenu: string;\n}\n\nexport default class FlyMenu extends BaseComponent {\n static contextType = MenuContext\n\n render() {\n const { isOpen, data, activeMenu } = this.props;\n const { closeMenu } = this.context\n\n return (\n closeMenu()}\n >\n \n \n \n \n )\n }\n}\n","export type MenuItem = {\n title: string;\n slug: string;\n categoryName?: string;\n description?: string;\n externalLink?: string;\n showInFly?: boolean;\n inlineItems?: Array<{\n title: string;\n slug: string;\n }>;\n};\n\nexport interface IFlyMenu {\n [index: string]: IFlyMenuBody;\n}\n\nexport interface IFlyMenuBody {\n [index: string]: any;\n title: string;\n description: string;\n menuItems: MenuItem[];\n}\n\nexport enum Categories {\n studentLife = \"Student Life\",\n visualAndArts = \"Visual & Performing Arts\",\n scienceAndtechnology = \"Science & Technology\",\n education = \"Education\",\n communications = \"Social Sciences, Communication & Humanities\",\n business = \"Business\",\n sport = \"Sport Science\",\n nursing = \"Cummings School of Nursing and Health Sciences\",\n hospitality = \"Hospitality\",\n softballStadium = \"Softball Stadium\",\n sportsCenter = \"Sports Center\"\n}\n","import { IFlyMenu, Categories } from \"../common/models/Category\";\nimport { MenuTypes } from \"../common/models/Menu\";\nimport { CampusTourKeys, BuildingTourKeys } from \"../common/models/WayPoints\";\n\nexport const flyMenuData: IFlyMenu = {\n [MenuTypes.path]: {\n title: \"Choose Your Path…\",\n description:\n \"Interested in a particular field of study? Experience the possibilities by viewing areas of our campus by your school of study. \",\n menuItems: [\n {\n title: \"Science & Technology\",\n slug: \"science-technology\",\n categoryName: Categories.scienceAndtechnology,\n description:\n \"The School Science & Technology provides opportunities to develop skills in independent and critical thinking, effective communication, and problem-solving.\",\n },\n {\n title: \"Business\",\n slug: \"business\",\n categoryName: Categories.business,\n description:\n \"The Curtis L. Gerrish School of Business’ entrepreneurial spirit is rooted in academics and experiential learning with an eye toward the global business world.\",\n },\n {\n title: \"Social Sciences, Communication & Humanities\",\n slug: \"communication\",\n categoryName: Categories.communications,\n description:\n \"he School of Social Science, Communication, and Humanities, teaches students to think critically and creatively, communicate effectively orally and in writing, and make connections across a wide range of disciplines.\",\n },\n {\n title: \"Education\",\n slug: \"education\",\n categoryName: Categories.education,\n description:\n \"Through a deep understanding of best practices and theories, the School of Education prepares tomorrow’s educators to make a difference in the world.\",\n },\n {\n title: \"Cummings School of Nursing and Health Sciences\",\n slug: \"cummings-school-of-nursing-and-health-sciences\",\n categoryName: Categories.nursing,\n description:\n \"In the School of Nursing, students learn the skills needed for fulfilling careers in the complex and ever-changing field of health care.\",\n },\n {\n title: \"Sport Science\",\n slug: \"sport-sciences\",\n categoryName: Categories.sport,\n description:\n \"Through rigorous academics, faculty mentoring, and clinical experiences, the School of Sport Science prepares students for the competitive industry.\",\n },\n {\n title: \"Student Life\",\n slug: \"student-life\",\n categoryName: Categories.studentLife,\n description:\n \"Welcome to the best years of your life. At 91ÖØ¿Ú, our student affairs, residence life, and campus activities staff are here to help you at every turn.\",\n },\n {\n title: \"Visual & Performing Arts\",\n slug: \"visual-and-performing-arts\",\n categoryName: Categories.visualAndArts,\n description:\n \"The School of Visual & Performing arts incorporates dynamic arts and design education, leading to new ways of thinking—critically, thoughtfully, and creatively. \",\n },\n {\n title: \"Institute for Applied Behavioral Science\",\n slug: \"institute-for-applied-behavioral-sciences\",\n description: \"\",\n externalLink: \"/academics/schools/institute-for-applied-behavioral-science\"\n },\n ],\n },\n [MenuTypes.campus]: {\n title: \"Campus Tour\",\n description:\n \"Enjoy our campus tour—feel free to explore our campus and transport yourself a number of different ways. \",\n menuItems: [\n {\n title: \"Welcome\",\n slug: CampusTourKeys.frontGate + '?intro=true',\n },\n {\n title: \"Department of Public Safety & Police\",\n slug: CampusTourKeys.policeBuilding,\n },\n {\n title: \"Callahan Center\",\n slug: CampusTourKeys.callahanCenter,\n },\n {\n title: \"Center for Belonging\",\n slug: CampusTourKeys.centerForBelonging,\n },\n {\n title: \"Curtis L. Gerrish School of Business\",\n slug: CampusTourKeys.gerrishSchool,\n },\n {\n title: \"Ginger Judge Science Center\",\n slug: CampusTourKeys.gingerJudge,\n },\n // {\n // title: \"91ÖØ¿Ú Lakes/Amphitheater\",\n // slug: CampusTourKeys.amphitheater,\n // },\n {\n title: \"Melissa Hempstead '69 Stadium\",\n slug: CampusTourKeys.hempsteadStadium,\n },\n {\n title: \"North Field\",\n slug: CampusTourKeys.northField,\n },\n {\n title: \"Post Sport Science & Fitness Center\",\n slug: CampusTourKeys.postSportScience,\n },\n {\n title: \"Cummings School of Nursing and Health Sciences\",\n slug: CampusTourKeys.nursing,\n },\n {\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n slug: CampusTourKeys.waxAcacemic,\n },\n // {\n // title: \"Softball Complex\",\n // slug: CampusTourKeys.softballComplex,\n // },\n {\n title: \"Diane M. Halle Library\",\n slug: CampusTourKeys.dianeLibrary,\n },\n {\n title: \"Walter J. Manninen Center for the Arts\",\n slug: CampusTourKeys.centerForArts,\n },\n {\n title: \"The Lodge\",\n slug: CampusTourKeys.theLodge,\n },\n {\n title: \"First Year Quad\",\n slug: CampusTourKeys.firstYearQuad,\n },\n {\n title: \"Misselwood\",\n slug: CampusTourKeys.misselwood,\n },\n {\n title: \"College Hall\",\n slug: CampusTourKeys.collegeHall,\n },\n {\n title: \"Mingo Beach\",\n slug: CampusTourKeys.mingoBeach,\n },\n {\n inlineItems: [\n {\n title: \"Stoneridge\",\n slug: CampusTourKeys.stoneridge,\n },\n {\n title: \"Marblehead\",\n slug: CampusTourKeys.marblehead,\n },\n {\n title: \"Bayview\",\n slug: CampusTourKeys.bayview,\n },\n ],\n title: \"\",\n slug: \"\",\n },\n // {\n // title: \"Hamilton/Wenham\",\n // slug: CampusTourKeys.hamilton,\n // },\n // {\n // title: \"Tupper Lawn\",\n // slug: CampusTourKeys.tupperLawn,\n // }\n ],\n },\n [MenuTypes.student]: {\n title: \"Student Life\",\n description:\n \"Welcome to the best years of your life. At 91ÖØ¿Ú, you'll find camaraderie and community at every turn on campus.\",\n menuItems: [\n {\n title: \"Callahan Center\",\n slug: BuildingTourKeys.callahanCenter,\n description:\n \"The Callahan Center is a hub for student activities. It houses dining facilities, health and counseling services, a mail center, the bookstore, and the Office of Student Affairs. \",\n },\n {\n title: \"Center for Belonging\",\n slug: BuildingTourKeys.centerForBelonging,\n description:\n \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, \",\n },\n {\n title: \"Walter J. Manninen Center for the Arts\",\n slug: BuildingTourKeys.manninenCenterForArts,\n description:\n \"The Manninen Center is where creativity blooms. It includes outstanding instructional space and venues for performance, exhibition, and presentations.\",\n },\n {\n title: \"Diane M. Halle Library\",\n slug: BuildingTourKeys.halleLibrarya,\n description:\n \"The Halle Library is a major academic support unit for students and a hub of information resources along with a gathering place for students, staff, and faculty alike.\",\n },\n {\n title: \"Samuel C. Wax Academic Center\",\n slug: BuildingTourKeys.waxAcademicCenter,\n description:\n \"The Wax Academic Center is home to the School of Communication, School of Education, School of Arts & Sciences (humanities and social sciences programs), and 91ÖØ¿Ú’s Van Loan School of Professional Studies.\",\n },\n {\n title: \"Hempstead Commons\",\n slug: BuildingTourKeys.hempsteadCommons,\n description:\n \"Hempstead Commons was completed in late 2020 and features seminar rooms, a cafe, and the Cleary Lecture Hall.\",\n },\n {\n title: \"Curtis L. Gerrish School of Business\",\n slug: BuildingTourKeys.businessSchool,\n description:\n \"The Curtis L. Gerrish School of Business exemplifies 91ÖØ¿Ú’s model of collaborative learning, as it mirrors the innovative practices characteristic of today’s corporate settings.\",\n },\n {\n title: \"Ginger Judge Science Center\",\n slug: BuildingTourKeys.judgeCenter,\n description:\n \"The Judge Science Center contains modern science laboratories that include a next-generation DNA sequencing center, virtual dissection table, a 3D printing Makerspace, and more.\",\n },\n {\n title: \"Post Sport Science & Fitness Center\",\n slug: BuildingTourKeys.postCenter,\n description:\n \"The Post Center is a 90,000 square-foot facility that houses the Sport Science, Fitness, and Athletic Training Center. \",\n },\n {\n title: \"Raymond J. Bourque Arena\",\n slug: BuildingTourKeys.bourqueArena,\n description:\n \"The Raymond J. Bourque Arena is home to our men's and women's ice hockey programs that have risen to national prominence in only a few years of NCAA Division III eligibility.\",\n },\n {\n title: \"Cummings School of Nursing and Health Sciences\",\n slug: BuildingTourKeys.nursingBuilding,\n description:\n \"The Center for Nursing houses classrooms and simulation labs for our nursing students to practice skills in a hospital environment prior to their clinical learning experience. \",\n },\n {\n title: \"Peter Frates Hall\",\n slug: BuildingTourKeys.fratesHall,\n description:\n \"This first-year residence hall is dedicated to Peter Frates, who inspired the Ice Bucket Challenge for ALS research.\",\n },\n {\n title: \"Reynolds Hall\",\n slug: BuildingTourKeys.reynoldsHall,\n description:\n \"Located in a converted property dating back to 1900, this communal living space provides a unique first-year experience. \",\n },\n {\n title: \"Standish Hall\",\n slug: BuildingTourKeys.stadishHall,\n description:\n \"Standish Hall is a 52-unit building that houses 294 students in apartments. \",\n },\n {\n title: \"Gully’s\",\n slug: BuildingTourKeys.gullys,\n description:\n \"Gully’s is a popular spot on campus for students and faculty to grab coffee before class or hang out late night for a variety of events. \",\n },\n ],\n },\n [MenuTypes.uncategorized]: {\n title: \"Uncategorized\",\n description: \"\",\n menuItems: [\n {\n title: \"Walter J. Manninen Center for the Arts\",\n slug: BuildingTourKeys.artsCenter,\n description:\n \"Discover arts and culture at 91ÖØ¿Ú. We invite you to experience a world—class exhibit from a visiting artist or enjoy an exciting performance.\",\n },\n {\n title: \"Athletics\",\n slug: BuildingTourKeys.athletics,\n description:\n \"Broaden your collegiate experience by involvement in 91ÖØ¿Ú's overall health and wellness opportunities. Whether you want to compete in NCAA Division III athletics, club sports, recreational activities, or join an intramural team to have fun and make friends, we encourage you to get involved!\",\n },\n ],\n },\n};\n","export enum MediaTypes {\n pano = 'panorama',\n youtube = 'youtube',\n vimeo = 'vimeo',\n img = 'image',\n webgl = 'webGLpano'\n}","import React from 'react'\nimport TransitionGroup from 'react-transition-group/TransitionGroup'\n\nimport { IFlyMenuBody } from '../../../common/models/Category'\n\nimport Sidebar from '../sidebar/sidebar'\nimport FlyMenu from '../../fly-menu/fly-menu'\n\nimport { flyMenuData } from '../../../content/menuData'\n\nimport MenuContext from '../../../context/menu-context'\n\ntype LayoutProps = {\n children: React.ReactNode\n}\n\nconst Layout: React.SFC = ({ children }) => {\n const [isOpenFlyMenu, setFlyMenu] = React.useState(false)\n const [menuItems, setMenuItems] = React.useState({} as IFlyMenuBody)\n const [activeMenu, setActiveMenu] = React.useState('')\n\n const showMenu = (slug: string) => {\n setFlyMenu(true)\n\n setActiveMenu(slug)\n\n setMenuItems(flyMenuData[slug])\n }\n\n const closeMenu = () => {\n setFlyMenu(false)\n }\n\n return (\n \n
\n \n
\n \n {Object.keys(menuItems).length !== 0 &&\n \n }\n {children}\n \n
\n
\n
\n )\n}\n\nexport default Layout\n","import React from 'react'\nimport LoaderIcon from '../../assets/loader.gif'\n\nconst Loader = ( show: boolean ): JSX.Element => \n
\n \"Loader\n
\n\nexport default Loader\n","import React from 'react'\n\nconst ActionBtns: React.FC = () => \n \n\nexport default ActionBtns\n","import { BuildingTourKeys } from \"../common/models/WayPoints\";\nimport { StreetView } from \"../common/interfaces/IMaps\";\nimport { Categories } from \"../common/models/Category\";\nimport { MediaTypes } from \"../common/models/Media\";\n\nexport const data: StreetView = {\n [BuildingTourKeys.callahanCenter]: {\n title: \"Callahan Center\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"callahan_center_area_1.jpg\",\n thumbNail: \"callahan_center_area_1_thumb.jpg\",\n title: \"Callahan Center Dining Area\",\n subtitle: \"\",\n description:\n \"On the upper level of the Callahan Center you will find the main dining hall, which offers a wide variety of freshly prepared meals.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"callahan_center_area_2.jpg\",\n title: \"Callahan Center\",\n subtitle: \"\",\n description:\n \"Renovated in 2014, the Callahan Center is the hub of campus. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"callahan_center_area_6.jpg\",\n thumbNail: \"callahan_center_area_6_thumb.jpg\",\n title: \"Lower Callahan\",\n subtitle: \"\",\n description:\n \"On the lower level, you will find Student Affairs, Student Activities, Community Service, Residence Life, Health Services, and our Counseling Center. \",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"callahan_center_area_3.jpg\",\n title: \"Lower Callahan\",\n subtitle: \"\",\n description: \"\"\n // description: \"On the lower level, you will find Student Affairs, Student Activities, Community Service, Residence Life, Health Services and our Counseling Center. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"callahan_center_area_4.jpg\",\n thumbNail: \"callahan_center_area_4_thumb.jpg\",\n title: \"Wellness Center\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"callahan_center_area_5.jpg\",\n title: \"Cafeteria\",\n subtitle: \"\",\n description:\n \"On the upper level of the Callahan Center you will find students enjoying the main dining experience.\",\n },\n ],\n basePath: \"buildings/callahan-center/\",\n category: [Categories.studentLife],\n panoConfiguration: {\n lat: 42.5533198,\n lng: -70.8427623,\n pov: {\n zoom: 1.2,\n heading: 270.32,\n pitch: 4.5,\n },\n },\n },\n [BuildingTourKeys.centerForBelonging]: {\n title: \"Center for Belonging\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"center_for_belonging_area_1.jpg\",\n thumbNail: \"center_for_belonging_area_1_thumb.jpg\",\n title: \"Exterior\",\n subtitle: \"\",\n description: \"Unveiled in the fall of 2022, the newly renovated Center for Belonging is the campus hub for inclusive programming and activities, as well as all things spiritual life.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"center_for_belonging_area_2.jpg\",\n thumbNail: \"center_for_belonging_area_2_thumb.jpg\",\n title: \"Dance Class\",\n subtitle: \"\",\n description: \"91ÖØ¿Ú is committed to fostering an environment that honors all individuals. We celebrate diversity and hold it as our responsibility to move our community toward becoming a stronger reflection of our interconnected world.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"center_for_belonging_area_3.jpg\",\n thumbNail: \"center_for_belonging_area_3_thumb.jpg\",\n title: \"Yoga Class\",\n subtitle: \"\",\n description: \"The Center for Belonging offers a variety of mindfulness activities to help students reflect intentionally, make better decisions, and become more self confident by learning more about themselves.\",\n },\n ],\n basePath: \"buildings/center-for-belonging/\",\n category: [Categories.studentLife],\n panoConfiguration: {\n lat: 42.5533198,\n lng: -70.8427623,\n pov: {\n zoom: 1.2,\n heading: 270.32,\n pitch: 4.5,\n },\n },\n },\n [BuildingTourKeys.manninenCenterForArts]: {\n title: \"Manninen Center for the Arts\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"manninen_center_area_1.jpg\",\n thumbNail: \"manninen_center_area_1_thumb.jpg\",\n title: \"Atrium\",\n subtitle: \"\",\n description:\n \"Elements of “green†design make the Walter J. Manninen Center for the Arts environmentally friendly and aesthetically pleasing.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_2.jpg\",\n title: \"Exterior\",\n subtitle: \"\",\n description:\n \"This state-of-the-art facility opened in January 2009. It includes outstanding instructional space and venues for performance, exhibition, and presentations. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"manninen_center_area_3.jpg\",\n thumbNail: \"manninen_center_area_3_thumb.jpg\",\n title: \"Rose Theater\",\n subtitle: \"\",\n description:\n \"The Rose Theater hosts dance and music concerts and theatrical performances. The acoustically superb venue makes for an excellent experience for patrons.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_4.jpg\",\n title: \"Photo Studio\",\n subtitle: \"\",\n description:\n \"91ÖØ¿Ú's photography program emphasizes art practice and commercial applications.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"manninen_center_area_5.jpg\",\n thumbNail: \"manninen_center_area_5_thumb.jpg\",\n title: \"Heftler Visiting Artist Gallery\",\n subtitle: \"\",\n description:\n \"The Heftler Visiting Artist Gallery is a museum quality gallery featuring well known and specially selected artists and themes that pertain to students' majors.\",\n },\n {\n mediaType: MediaTypes.youtube,\n videoUrl: \"3hHfUcTK2-0\",\n title: \"Arts Video\",\n subtitle: \"\",\n description:\n \"Explore the sights, sounds, and allure of the 91ÖØ¿Ú School of Visual and Performing Arts.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_8.jpg\",\n title: \"Rose Theater\",\n subtitle: \"\",\n description:\n \"The Rose Theater hosts dance and music concerts and theatrical performances. The acoustically superb venue makes for an excellent experience for patrons.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"wax_academic_center_area_3.jpg\",\n thumbNail: \"wax_academic_center_area_3_thumb.jpg\",\n title: \"Recording Studio\",\n subtitle: \"\",\n description:\n \"Studio audio production helps students learn the fundamentals of operating a recording studio.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_9.jpg\",\n title: \"Atrium\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_10.jpg\",\n title: \"Art Gallery \",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"manninen_center_area_11.jpg\",\n title: \"Classroom\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"manninen_center_area_12.jpg\",\n thumbNail: \"manninen_center_area_12_thumb.jpg\",\n title: \"Pottery\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/manninen-center/\",\n video: \"https://youtu.be/5uJJmnbyLBY\",\n category: [Categories.visualAndArts],\n panoConfiguration: {\n lat: 42.5527061,\n lng: -70.8389014,\n pov: {\n zoom: 1.8,\n heading: 245.02,\n pitch: 3.4,\n },\n },\n },\n [BuildingTourKeys.halleLibrarya]: {\n title: \"Halle Library\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"halle_library_area_1.jpg\",\n thumbNail: \"halle_library_area_1_thumb.jpg\",\n title: \"Diane M. Halle Library\",\n subtitle: \"\",\n description:\n \"The Halle Library is also home to academic services such as the writing and tutoring centers, the International Education department, Internship & Career Center, Cyber Cafe (open 24/7), and classrooms.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"halle_library_area_2.jpg\",\n title: \"Upper Floor Stacks\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"halle_library_area_3.jpg\",\n title: \"Exterior\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"halle_library_area_4.jpg\",\n title: \"Diane M. Halle Library\",\n subtitle: \"\",\n description:\n \"The Halle Library is also home to academic services such as the writing and tutoring centers, the International Education department, Internship & Career Center, Cyber Cafe (open 24/7), and classrooms.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"halle_library_area_5.jpg\",\n thumbNail: \"halle_library_area_5_thumb.jpg\",\n title: \"Academic Success\",\n subtitle: \"\",\n description:\n \"No two students learn the same way. The Division of Academic Success provides services and programs to help students become happier, more successful Gulls!\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"halle_library_area_6.jpg\",\n thumbNail: \"halle_library_area_6_thumb.jpg\",\n title: \"International Education & Internship & Career\",\n subtitle: \"\",\n description:\n \"Developing skills in your area of study within a global context will help you grow and improve your decision-making in the workplace once you graduate.\",\n },\n ],\n basePath: \"buildings/halle-library/\",\n video: \"https://youtu.be/5uJJmnbyLBY\",\n category: [Categories.studentLife],\n panoConfiguration: {\n lat: 42.5531918,\n lng: -70.8408093,\n pov: {\n zoom: 1,\n heading: 51.16,\n pitch: 7.5,\n },\n },\n },\n [BuildingTourKeys.waxAcademicCenter]: {\n title: \"Wax Academic Center\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"wax_academic_center_area_1.jpg\",\n title: \"Wax Academic Center Exterior\",\n subtitle: \"\",\n description: \"\",\n category: Categories.education\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"wax_academic_center_area_2.jpg\",\n thumbNail: \"wax_academic_center_area_2_thumb.jpg\",\n title: \"TV Studio\",\n subtitle: \"\",\n description:\n \"In TV/Film Production you'll gain an understanding of the creative, technical, and business aspects of delivering content across a variety of platforms.\",\n category: Categories.communications\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"wax_academic_center_area_5.jpg\",\n title: \"TV Control Room\",\n subtitle: \"\",\n description: \"\",\n category: Categories.communications\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"wax_academic_center_area_6.jpg\",\n title: \"TV Studio\",\n subtitle: \"\",\n description: \"\",\n category: Categories.communications\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"wax_academic_center_area_7.jpg\",\n thumbNail: \"wax_academic_center_area_7_thumb.jpg\",\n title: \"Wax Academic Center Classroom\",\n subtitle: \"\",\n description: \"\",\n category: Categories.education\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"wax_academic_center_area_8.jpg\",\n thumbNail: \"wax_academic_center_area_8_thumb.jpg\",\n title: \"Wax Academic Center Main Lobby\",\n subtitle: \"\",\n description: \"\",\n category: Categories.education\n },\n ],\n basePath: \"buildings/wax-center/\",\n category: [\n // Categories.scienceAndtechnology,\n Categories.education,\n Categories.communications,\n ],\n panoConfiguration: {\n lat: 42.5519815,\n lng: -70.8361278,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n },\n [BuildingTourKeys.hempsteadCommons]: {\n title: \"Hempstead Commons\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"hempstead-commons_area_1.jpg\",\n thumbNail: \"hempstead-commons_area_1_thumb.jpg\",\n title: \"Cleary Lecture Hall\",\n subtitle: \"\",\n description: \"With plenty of seating, the Cleary Lecture Hall is the premier venue for events on campus and for the 91ÖØ¿Ú community to gather.\",\n category: Categories.education,\n cameraConfig: {\n startPoint: [0, 0, -70],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"hempstead-commons_area_2.jpg\",\n thumbNail: \"hempstead-commons_area_2_thumb.jpg\",\n title: \"EAT Cafe\",\n subtitle: \"\",\n description: \"The cafe offers items such as fresh fruit and vegetables along with easy meal items and ready-to-eat-foods. We also offer a Boars Head Deli and local coffee roasters Atomic Coffee.\",\n category: Categories.education,\n cameraConfig: {\n startPoint: [0, 0, 70],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"hempstead-commons_area_3.jpg\",\n thumbNail: \"hempstead-commons_area_3_thumb.jpg\",\n title: \"Wingback Chairs\",\n subtitle: \"\",\n description: \"Hempstead Commons offers plenty of seating to study and collaborate with stunning views of campus.\",\n category: Categories.education,\n cameraConfig: {\n startPoint: [-70, 0, -70],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"hempstead-commons_area_4.jpg\",\n thumbNail: \"hempstead-commons_area_4_thumb.jpg\",\n title: \"Gulls at work\",\n subtitle: \"\",\n description: \"The Internship & Career Center at 91ÖØ¿Ú is a resource to help students understand the relationship between academic experiences, internship opportunities, and career choices. We provide individual career advising, training seminars, employer events, on campus recruiting, an alumni mentor program, and career assessments to help students and alumni prepare for their future.\",\n category: Categories.education,\n cameraConfig: {\n startPoint: [0, 0, -70],\n },\n },\n ],\n basePath: \"buildings/hempstead-commons/\",\n category: [\n // Categories.scienceAndtechnology,\n Categories.education,\n Categories.communications,\n ],\n panoConfiguration: {\n lat: 42.5519815,\n lng: -70.8361278,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n },\n [BuildingTourKeys.businessSchool]: {\n title: \"Gerrish School of Business\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"gerrish_school_of_business_area_1.jpg\",\n thumbNail: \"gerrish_school_of_business_area_1_thumb.jpg\",\n title: \"Post Center Main Lobby\",\n subtitle: \"\",\n description:\n \"The Curtis L. Gerrish School of Business houses high-tech resources, state-of-the-art team building labs, interactive multimedia classrooms, and dedicated internship and career support services. \",\n },\n\n {\n mediaType: MediaTypes.img,\n imageName: \"gerrish_school_of_business_area_3.jpg\",\n title: \"Exterior\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"gerrish_school_of_business_area_4.jpg\",\n title: \"Einstein's Bagel Patio\",\n subtitle: \"\",\n description:\n \"Einstein Bros®—known for their bagels and coffee heritage—will introduce an exceptional morning alternative that's fast, hot, and packed with flavor.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"gerrish_school_of_business_area_5.jpg\",\n thumbNail: \"gerrish_school_of_business_area_5_thumb.jpg\",\n title: \"Center for Entrepreneurship\",\n subtitle: \"\",\n description: `Startups begin with asking, \"What if...?\" At 91ÖØ¿Ú, that question is encouraged, pushed, proto-typed and, if done successfully, launched into a startup!`,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"gerrish_school_of_business_area_6.jpg\",\n title: \"Post Center Main Lobby\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"gerrish_school_of_business_area_7.jpg\",\n thumbNail: \"gerrish_school_of_business_area_7_thumb.jpg\",\n title: \"Classroom\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/gerrish-school/\",\n category: [Categories.business],\n panoConfiguration: {\n lat: 42.5519815,\n lng: -70.8361278,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n },\n [BuildingTourKeys.judgeCenter]: {\n title: \"Judge Science Center\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"judge_science_center_area_0.jpg\",\n title: \"Ginger Judge Science Center Exterior\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"judge_science_center_area_1.jpg\",\n title: \"Ginger Judge Science Center\",\n subtitle:\n \"The Judge Science Center has dedicated science classrooms, dry and wet labs, prep rooms, and a robotics lab. \",\n description: \"\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"judge_science_center_area_2.jpg\",\n thumbNail: \"judge_science_center_area_2_thumb.jpg\",\n title: \"Science Lab\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"gerrish_school_of_business_area_2.jpg\",\n title: \"Makerspace\",\n subtitle: \"\",\n description:\n \"Students bring their ideas into focus—by bringing them to life.\",\n },\n ],\n basePath: \"buildings/judgeScienceCenter/\",\n category: [Categories.scienceAndtechnology],\n panoConfiguration: {\n lat: 42.5538405,\n lng: -70.8431892,\n pov: {\n zoom: 0.5,\n heading: 82.94,\n pitch: 6,\n },\n },\n },\n [BuildingTourKeys.postCenter]: {\n title: \"Post Center\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_1.jpg\",\n thumbNail: \"post_center_area_1_thumb.jpg\",\n title: \"MacDonald Gymnasium\",\n subtitle: \"\",\n description:\n \"MacDonald Gymnasium, with a capacity of 1,200 spectators, is the perfect place to watch the 91ÖØ¿Ú men's and women's basketball and men's and women's volleyball teams compete. \",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_2.jpg\",\n title: \"Post Sport Science & Fitness Center\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_3.jpg\",\n thumbNail: \"post_center_area_3_thumb.jpg\",\n title: \"Aerobics Studio\",\n subtitle: \"\",\n description:\n \"91ÖØ¿Ú’s aerobics studio offers a wide array of opportunities to increase fitness and personal health. Each class consists of a series of exercises that stress different parts of your body, particularly the large muscle groups, for a prolonged period. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_4.jpg\",\n thumbNail: \"post_center_area_4_thumb.jpg\",\n title: \"Field House\",\n subtitle: \"\",\n description:\n \"The Field House is the home of 91ÖØ¿Ú’s intramural programs, in which 80% of the student body participates. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_5.jpg\",\n thumbNail: \"post_center_area_5_thumb.jpg\",\n title: \"Athletic Training/ Exercise Science Lab\",\n subtitle: \"\",\n description:\n \"The athletic training room features state-of-the-art equipment and care. The staff is complemented by 91ÖØ¿Ú’s athletic training students who gain valuable experience. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_6.jpg\",\n thumbNail: \"post_center_area_6_thumb.jpg\",\n title: \"Strength & Conditioning Spaces\",\n subtitle: \"\",\n description:\n \"The Post Sport Science & Fitness Center has new rubberized flooring throughout the entire facility, several new treadmills, spin bikes, elliptical machines, weight lifting equipment, free weights, and abdominal equipment.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_7.jpg\",\n title: \"Aerobics Studio\",\n subtitle: \"\",\n description:\n \"Aerobics classes include cardio kickboxing, high intensity interval training, total body toning, and more. Classes are held in the Post Sport Science & Fitness Center.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_8.jpg\",\n title: \"MacDonald Gymnasium\",\n subtitle: \"\",\n description:\n \"The MacDonald Gymnasium is available to the general student population for pickup games. The College also holds numerous large-capacity events in the gym throughout the year.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_9.jpg\",\n title: \"Strength & Conditioning\",\n subtitle: \"\",\n description:\n \"91ÖØ¿Ú Strength & Conditioning focuses on the long-term development and performance of 91ÖØ¿Ú's student-athletes. The staff collaborates with 91ÖØ¿Ú Athletic Training to coordinate rehabilitation, nutrition, and analytics.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_10.jpg\",\n title: \"Athletic Training/ Exercise Science Lab\",\n subtitle: \"\",\n description:\n \"The athletic training department employs sports medicine personnel who coordinate the care for every varsity athlete. The department is housed in the Post Sport Science & Fitness Center. \",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"post_center_area_11.jpg\",\n title: \"Field House\",\n subtitle: \"\",\n description:\n \"The Field House has two racquetball courts, two batting cages, a running track, and a climbing wall. \",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"post_center_area_12.jpg\",\n thumbNail: \"post_center_area_12_thumb.jpg\",\n title: \"Post Center Main Lobby\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/post-center/\",\n category: [Categories.studentLife, Categories.sport],\n panoConfiguration: {\n lat: 42.5552741,\n lng: -70.8401628,\n pov: {\n zoom: -0.3,\n heading: 123.66,\n pitch: 7.5,\n },\n },\n },\n [BuildingTourKeys.bourqueArena]: {\n title: \"Bourque Arena\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"bourque_center_area_1.jpg\",\n title: \"Athletic Training\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"bourque_center_area_2.jpg\",\n title: \"Raymond J. Bourque Arena Exterior\",\n subtitle: \"\",\n description:\n \"This state-of-the-art facility provides both the 91ÖØ¿Ú and surrounding North Shore communities with a home for collegiate and high school competition and practice, intramurals, student activities, formal speaking events, and events that bring people together.\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"bourque_center_area_3.jpg\",\n title: \"Raymond J. Bourque Arena Center Ice\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/bourque-arena/\",\n category: [Categories.studentLife, Categories.sport],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n [BuildingTourKeys.nursingBuilding]: {\n title: \"Cummings School of Nursing and Health Sciences\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_6.jpg\",\n thumbNail: \"nursing_area_6_thumb.jpg\",\n title: \"Top Floor Balcony\",\n subtitle: \"\",\n description: \"The balcony on the Cummings School of Nursing & Health Sciences provides stunning views of the Lakes and the Ayune Michel Academic Quad.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_7.jpg\",\n thumbNail: \"nursing_area_7_thumb.jpg\",\n title: \"91ÖØ¿Ú Hospital Lab\",\n subtitle: \"\",\n description: \"With state-of-the-art labs, 91ÖØ¿Ú prepares students for positions in a wide range of clinical areas. The College’s affiliations include more than 70 Boston and local area hospitals and community-based care settings.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_8.jpg\",\n thumbNail: \"nursing_area_8_thumb.jpg\",\n title: \"Sport Science Lab\",\n subtitle: \"\",\n description:\"Athletic training and exercise science students will build and strengthen their clinical skills in state-of-the-art laboratory spaces, including the human performance lab, therapeutic lab, and modalities lab with a hydrotherapy room.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_9.jpg\",\n thumbNail: \"nursing_area_9_thumb.jpg\",\n title: \"Sport Science Common Area\",\n subtitle: \"\",\n description:\"The fourth floor includes breakout rooms, a flex learning space for classes, and a multipurpose room. Offices can also be found throughout this area.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_10.jpg\",\n thumbNail: \"nursing_area_10_thumb.jpg\",\n title: \"First Floor Lobby\",\n subtitle: \"\",\n description:\"The first-floor features 91ÖØ¿Ú Hospital, a pair of fundamental labs, as well as simulation spaces and a bridge that connects to the Curtis L. Gerrish School of Business & Ginger Judge Science Center.\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"nursing_area_11.jpg\",\n thumbNail: \"nursing_area_11_thumb.jpg\",\n title: \"Cummings School of Nursing & Health Sciences Exterior\",\n subtitle: \"\",\n description:\"The Cummings School is a modern expression of academic excellence with four floors featuring contemporary flourishes and soaring views over campus and the Atlantic Ocean. Critically, the building also brings together nursing and sport science students for collaborative opportunities, allying the health sciences under one roof.\",\n cameraConfig: {\n startPoint: [-10, 0, -40],\n markerScale: [8,8,8],\n }\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"nursing_area_12.jpg\",\n title: \"Cummings School of Nursing & Health Sciences Exterior\",\n subtitle: \"\",\n description:\"The Cummings School is a modern expression of academic excellence with four floors featuring contemporary flourishes and soaring views over campus and the Atlantic Ocean. Critically, the building also brings together nursing and sport science students for collaborative opportunities, allying the health sciences under one roof.\",\n },\n {\n mediaType: MediaTypes.img,\n title: \"Sport Science Human Performance Lab\",\n description: \"Students in sport management and esports management will hone their entrepreneurial skills and engage in learning about the intricacies of the global and expanding sports and esports industries in boardroom-style learning spaces with the most updated technology.\",\n imageName: \"sport_science_area_1.jpg\",\n thumbNail: \"sport_science_area_1_thumb.jpg\",\n },\n {\n mediaType: MediaTypes.img,\n title: \"Sport Science Classroom\",\n description: \"91ÖØ¿Ú’s School of Sport Science allows students to engage in a global and expanding industry that combines extensive knowledge and intricacies of sport with administration, finance, analytics, management, technology, and law.\",\n imageName: \"sport_science_area_2.jpg\",\n thumbNail: \"sport_science_area_2_thumb.jpg\",\n },\n {\n mediaType: MediaTypes.img,\n title: \"Sport Science Therapeutic Lab\",\n description: \"Students will study human movement from many perspectives as they prepare for a career in a variety of fields, such as strength and conditioning, fitness, recreation, rehabilitation, or corporate wellness.\",\n imageName: \"sport_science_area_3.jpg\",\n thumbNail: \"sport_science_area_3_thumb.jpg\",\n },\n ],\n basePath: \"buildings/nursing/\",\n category: [Categories.nursing],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n [BuildingTourKeys.fratesHall]: {\n title: \"Frates Hall\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"frates_hall_area_1.jpg\",\n title: \"Peter Frates Hall\",\n subtitle: \"\",\n description: `Opened in 2016, Peter Frates Hall is a co-ed, first-year residence hall with triple and quadruple occupancy room options. Frates Hall has air conditioning, beautiful open common spaces, and many rooms overlooking the ocean.`,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"frates_hall_area_2.jpg\",\n title: \"Ice Bucket Challenge\",\n subtitle: \"\",\n description:\n \"On September 14, 2016, the College dedicated the new Peter Frates Hall with a commemorative Ice Bucket Challenge\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"frates_hall_area_3.jpg\",\n title: \"Room Interior\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/frates-hall/\",\n category: [Categories.studentLife],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n [BuildingTourKeys.reynoldsHall]: {\n title: \"Reynolds Hall\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"reynolds_hall_area_1.jpg\",\n title: \"Reynolds Hall Exterior\",\n subtitle: \"\",\n description: `The co-ed, first-year Reynolds Hall offers common laundry, kitchen, and lounge space. Reynolds Hall is a Gull Leadership Living Learning Community (LLC) for first-year students looking to develop the skills and knowledge to become student leaders and to successfully transition to college life.`,\n },\n ],\n basePath: \"buildings/reynolds-hall/\",\n category: [Categories.studentLife],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n [BuildingTourKeys.stadishHall]: {\n title: \"Standish Hall\",\n assets: [\n {\n mediaType: MediaTypes.img,\n imageName: \"standish_hall_area_1.jpg\",\n title: \"Standish Hall Exterior\",\n subtitle: \"\",\n description: `Standish Hall is a 52-unit building that houses 294 students in apartments. With priority given to seniors, Standish Hall units have two or three bedrooms, a living room, private bath, and full kitchen.`,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"standish_hall_area_2.jpg\",\n title: \"Standish Hall Lobby\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"standish_hall_area_3.jpg\",\n thumbNail: \"standish_hall_area_3_thumb.jpg\",\n title: \"Lower Callahan Common Area\",\n subtitle: \"\",\n description: ``,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"standish_hall_area_4.jpg\",\n title: \"Room Interior\",\n subtitle: \"\",\n description: ``,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"standish_hall_area_5.jpg\",\n title: \"Residence Hall Common Area\",\n subtitle: \"\",\n description: ``,\n },\n ],\n basePath: \"buildings/standish-hall/\",\n category: [Categories.studentLife],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n [BuildingTourKeys.gullys]: {\n title: \"Gully’s\",\n assets: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"gullys_area_1.jpg\",\n thumbNail: \"gullys_area_1_thumb.jpg\",\n title: \"Gully's\",\n subtitle: \"\",\n description: `Since first opening in 1995 as \"The Pub,\" Gully’s has been an 91ÖØ¿Ú institution. There have been many changes since then, but Gully’s will always be a place for the 91ÖØ¿Ú community to get together and have a good time. `,\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"gullys_area_2.jpg\",\n title: \"Gully’s Seating Areas\",\n subtitle: \"\",\n description: \"\",\n },\n {\n mediaType: MediaTypes.img,\n imageName: \"gullys_area_3.jpg\",\n title: \"Gully’s Bar Area\",\n subtitle: \"\",\n description: \"\",\n },\n ],\n basePath: \"buildings/gullys/\",\n category: [Categories.studentLife],\n panoImage: require(\"../assets/pano/Bourque_Arena_1078.jpg\"),\n },\n};\n\nexport default data;\n","import {\n StreetView,\n} from \"../common/interfaces/IMaps\";\nimport { CampusTourKeys } from \"../common/models/WayPoints\";\nimport { MediaTypes } from \"../common/models/Media\";\nimport { Categories } from \"../common/models/Category\";\n\nexport const newToursData: StreetView = {\n [CampusTourKeys.callahanCenter]: {\n title: \"Callahan Center\",\n basePath: \"waypoints/callahan-center/\",\n category: [Categories.studentLife],\n scaleX: true,\n cameraConfig: {\n startPoint: [-45, 0, 0],\n markerScale: [15,15,15],\n },\n panoImage: \"callahan-center_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Dining Area\",\n description:\n \"On the upper level of the Callahan Center you will find the main dining hall, which offers a wide variety of freshly prepared meals. \",\n imageName: \"buildings/callahan-center/callahan_center_area_1.jpg\",\n thumbNail: \"buildings/callahan-center/callahan_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n x: 75,\n y: 2,\n z: -20,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Lower Callahan\",\n description: \"Lower Callahan hosts daily events and is a great place for students to hang out. You will also find that it is home to EC Radio, our student run on-campus radio network!\",\n imageName: \"buildings/callahan-center/callahan_center_area_6.jpg\",\n thumbNail: \"buildings/callahan-center/callahan_center_area_6_thumb.jpg\",\n ignoreBasePath: true,\n x: 80,\n y: 2,\n z: 10,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"\",\n title: \"Gully’s Seating Areas\",\n imageName: \"buildings/gullys/gullys_area_2.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"Located between the Post Center and Tower Hall, the Lodge provides a variety of breakfast, lunch, and late-night dining options.\",\n title: \"The Lodge\",\n imageName: \"waypoints/lodge/lodge_hotspot_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: `Built in 2019, the Wax Academic Center is home to the Schools of Education, Science & Technology, Social Sciences, Communication, & Humanities, and the Van Loan School of\n Professional Studies. Phase II of the New Academic Center was completed in late 2020 and features seminar rooms, a cafe, and the Cleary Lecture Hall.`,\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n imageName: \"waypoints/wax-acacemic-center/wax-acacemic-center_pano.jpg\",\n thumbNail: \"waypoints/wax-acacemic-center/wax-acacemic-center_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n }\n ],\n },\n [CampusTourKeys.gerrishSchool]: {\n title: \"Curtis L. Gerrish School of Business\",\n basePath: \"waypoints/gerrish-school-of-business/\",\n category: [Categories.business],\n scaleX: true,\n cameraConfig: {\n startPoint: [-45, 0, -1],\n markerScale: [15,15,15],\n },\n panoImage: \"gerrish-school_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Post Center Main Lobby\",\n description:\n \"As you enter the Gerrish Business & Judge Science Center, you will find the main lobby where students enjoy hanging out and studying in between classes.\",\n imageName: \"buildings/gerrish-school/gerrish_school_of_business_area_1.jpg\",\n thumbNail: \"buildings/gerrish-school/gerrish_school_of_business_area_1_thumb.jpg\",\n ignoreBasePath: true,\n x: 75,\n y: 2,\n z: -20,\n cameraConfig: {\n startPoint: [0, 0, -80],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Center for Entrepreneurship\",\n description: `Startups begin with asking, \"What if...?\" At 91ÖØ¿Ú, that question is encouraged, pushed, prototyped, and, if done successfully, launched into a startup!`,\n imageName: \"buildings/gerrish-school/gerrish_school_of_business_area_5.jpg\",\n thumbNail: \"buildings/gerrish-school/gerrish_school_of_business_area_5_thumb.jpg\",\n ignoreBasePath: true,\n ignoreOnGallery: true,\n x: 80,\n y: 2,\n z: 10,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"At the Ginger Judge Science Center, you’ll find state-of-the-art classrooms, dry and wet labs, prep rooms, a robotics lab, and more.\",\n title: \"Ginger Judge Science Center\",\n imageName: \"waypoints/ginger-judge/ginger-jusge_pano.jpg\",\n thumbNail: \"waypoints/ginger-judge/ginger-judge_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.business}`,\n cameraConfig: {\n startPoint: [-10, 0, -10],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n description: `Built in 2019, the Wax Academic Center is home to the Schools of Education, Science & Technology, Social Sciences, Communication, & Humanities, and the Van Loan School of\n Professional Studies. Phase II of the New Academic Center was completed in late 2020 and features seminar rooms, a cafe, and the Cleary Lecture Hall.`,\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n imageName: \"waypoints/wax-acacemic-center/wax-acacemic-center_pano.jpg\",\n thumbNail: \"waypoints/wax-acacemic-center/wax-acacemic-center_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.business}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: `Startups begin by asking, \"What if...?\" At 91ÖØ¿Ú, that question is encouraged, pushed, prototyped, and, if done successfully, launched into a startup!`,\n title: \"Center for Entrepreneurship\",\n imageName: \"buildings/gerrish-school/gerrish_school_of_business_area_5.jpg\",\n thumbNail: \"buildings/gerrish-school/gerrish_school_of_business_area_5_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.business}`\n }\n ],\n },\n [CampusTourKeys.gingerJudge]: {\n title: \"Ginger Judge Science Center\",\n basePath: \"waypoints/ginger-judge/\",\n category: [Categories.scienceAndtechnology],\n scaleX: true,\n cameraConfig: {\n startPoint: [-30, 0, -7],\n markerScale: [8,8,8],\n },\n panoImage: \"ginger-jusge_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Science Lab\",\n description:\n \"Walk around the facility for a glimpse of our MakerSpace, 3D printers, teambuilding classrooms, and cutting-edge laboratories.\",\n imageName: \"buildings/judgeScienceCenter/judge_science_center_area_2.jpg\",\n thumbNail: \"buildings/judgeScienceCenter/judge_science_center_area_2_thumb.jpg\",\n ignoreBasePath: true,\n x: 40,\n y: 2,\n z: 0,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Makerspace\",\n description: `Students bring their ideas into focus—by bringing them to life.`,\n imageName: \"buildings/gerrish-school/gerrish_school_of_business_area_2.jpg\",\n ignoreBasePath: true,\n x: 30,\n y: -5,\n z: -15,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"In the School of Nursing, students learn the skills needed for fulfilling careers in the complex and ever-changing field of health care.\",\n title: \"Cummings School of Nursing and Health Sciences\",\n imageName: \"waypoints/nursing/nursing_pano.jpg\",\n thumbNail: \"waypoints/nursing/nursing_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`,\n cameraConfig: {\n startPoint: [-10, 0, -40],\n markerScale: [8,8,8],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Post Center is home to the School of Sport Science, the MacDonald Gymnasium, the field house, and a full-service fitness center.\",\n title: \"Post Center\",\n imageName: \"buildings/post-center/post_center_area_1.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Curtis L. Gerrish School of Business houses high-tech resources, team building labs, interactive multimedia classrooms, and dedicated internship and career development support services.\",\n title: \"Curtis L. Gerrish School of Business\",\n imageName: \"waypoints/gerrish-school-of-business/gerrish-school_pano.jpg\",\n thumbNail: \"waypoints/gerrish-school-of-business/gerrish-school_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`\n }\n ],\n },\n [CampusTourKeys.postSportScience]: {\n title: \"Post Sport Science & Fitness Center\",\n basePath: \"waypoints/post-sport/\",\n category: [Categories.sport],\n scaleX: true,\n cameraConfig: {\n startPoint: [-30, 0, -7],\n markerScale: [8,8,8],\n },\n panoImage: \"post-sport_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Post Center Main Lobby\",\n description: \"The Post Center is home to the School of Sport Science, the MacDonald Gymnasium, the field house, and a full-service fitness center. \",\n imageName: \"buildings/post-center/post_center_area_12.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_12_thumb.jpg\",\n ignoreBasePath: true,\n x: 45,\n y: 2,\n z: 0,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"MacDonald Gymnasium\",\n description: `MacDonald Gymnasium, with a capacity of 1,200 spectators, is the perfect place to watch the 91ÖØ¿Ú men's and women's basketball and men's and women's volleyball teams compete.`,\n imageName: \"buildings/post-center/post_center_area_1.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n x: 30,\n y: -5,\n z: -15,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Strength & Conditioning Spaces\",\n description: `91ÖØ¿Ú Strength & Conditioning focuses on the long-term development and performance of 91ÖØ¿Ú's student-athletes. The staff collaborates with 91ÖØ¿Ú Athletic Training to coordinate rehabilitation, nutrition, and analytics.`,\n imageName: \"buildings/post-center/post_center_area_6.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_6_thumb.jpg\",\n ignoreBasePath: true,\n x: 40,\n y: 5,\n z: 10,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"This state-of-the-art facility provides both the 91ÖØ¿Ú and surrounding North Shore communities with a home for collegiate and high school competition and practice, intramurals, student activities, formal speaking events, and events that bring people together.\",\n title: \"Raymond J. Bourque Arena Exterior\",\n imageName: \"buildings/bourque-arena/bourque_center_area_2.jpg\",\n ignoreBasePath: true,\n category: `${Categories.sport}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"North Field serves as a practice field for 91ÖØ¿Ú’s varsity programs and as a hub for intramural sports. The facility can accommodate up to 600 spectators.\",\n title: \"North Field Aerial\",\n imageName: \"waypoints/north-field/northfield_hotspot_2.jpg\",\n ignoreBasePath: true,\n category: `${Categories.sport}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"Built in 2003, Hempstead Stadium is home to 91ÖØ¿Ú’s football, men’s lacrosse, women’s lacrosse, rugby, men’s soccer, and women’s soccer programs\",\n title: \"Hempstead Stadium\",\n imageName: \"waypoints/hempstead-stadium/hempstead_stadium_hotspot_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.sport}`\n }\n ],\n },\n [CampusTourKeys.waxAcacemic]: {\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n basePath: \"waypoints/wax-acacemic-center/\",\n category: [Categories.scienceAndtechnology],\n scaleX: true,\n cameraConfig: {\n startPoint: [-10, 0, -7],\n markerScale: [4,4,4],\n },\n panoImage: \"wax-acacemic-center_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"TV Studio\",\n description:\n \"In TV/Film Production you'll gain an understanding of the creative, technical, and business aspects of delivering content across a variety of platforms.\",\n imageName: \"buildings/wax-center/wax_academic_center_area_2.jpg\",\n thumbNail: \"buildings/wax-center/wax_academic_center_area_2_thumb.jpg\",\n ignoreBasePath: true,\n x: 20,\n y: 2,\n z: 10,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Hempstead Commons\",\n description: `Hempstead Commons was completed in late 2020 and features seminar rooms, a cafe, and the Cleary Lecture Hall.`,\n imageName: \"buildings/wax-center/wax_academic_center_new_building_int.jpg\",\n ignoreBasePath: true,\n x: 20,\n y: 8,\n z: -40,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"In TV/Film Production you'll gain an understanding of the creative, technical, and business aspects of delivering content across a variety of platforms.\",\n title: \"Digital Media Center\",\n imageName: \"buildings/wax-center/wax_academic_center_area_2.jpg\",\n thumbNail: \"buildings/wax-center/wax_academic_center_area_2_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Curtis L. Gerrish School of Business houses high-tech resources, team building labs, interactive multimedia classrooms, and dedicated internship and career development support services.\",\n title: \"Curtis L. Gerrish School of Business\",\n imageName: \"waypoints/gerrish-school-of-business/gerrish-school_pano.jpg\",\n thumbNail: \"waypoints/gerrish-school-of-business/gerrish-school_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"At the Ginger Judge Science Center, you’ll find state-of-the-art classrooms, dry and wet labs, prep rooms, a robotics lab, and more.\",\n title: \"Ginger Judge Science Center\",\n imageName: \"waypoints/ginger-judge/ginger-jusge_pano.jpg\",\n thumbNail: \"waypoints/ginger-judge/ginger-judge_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.scienceAndtechnology}`,\n cameraConfig: {\n startPoint: [-10, 0, -10],\n },\n }\n ],\n },\n [CampusTourKeys.nursing]: {\n title: \"Cummings School of Nursing and Health Sciences\",\n basePath: \"waypoints/nursing/\",\n category: [Categories.nursing],\n scaleX: true,\n cameraConfig: {\n startPoint: [-10, 0, -40],\n markerScale: [8,8,8],\n },\n panoImage: \"nursing_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n imageName: \"buildings/nursing/nursing_area_8.jpg\",\n thumbNail: \"buildings/nursing/nursing_area_8_thumb.jpg\",\n title: \"Sports Science Lab\",\n subtitle: \"\",\n description:\"\",\n ignoreBasePath: true,\n x: -40,\n y: 2,\n z: 50,\n },\n {\n mediaType: MediaTypes.webgl,\n imageName: \"buildings/nursing/nursing_area_7.jpg\",\n thumbNail: \"buildings/nursing/nursing_area_7_thumb.jpg\",\n title: \"91ÖØ¿Ú Hospital Lab\",\n subtitle: \"\",\n description: \"With state-of-the-art labs, 91ÖØ¿Ú prepares students for positions in a wide range of clinical areas. The College’s affiliations include more than 70 Boston and local area hospitals and community-based care settings.\",\n ignoreBasePath: true,\n x: -10,\n y: 2,\n z: 20,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"At the Ginger Judge Science Center, you’ll find state-of-the-art classrooms, dry and wet labs, prep rooms, a robotics lab, and more.\",\n title: \"Ginger Judge Science Center\",\n imageName: \"buildings/gerrish-school/gerrish_school_of_business_area_8.jpg\",\n thumbNail: \"buildings/gerrish-school/gerrish_school_of_business_area_8_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.nursing}`,\n cameraConfig: {\n startPoint: [-10, 0, -10],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Post Center is home to the School of Sport Science, the MacDonald Gymnasium, the field house, and a full-service fitness center.\",\n title: \"Post Center\",\n imageName: \"buildings/post-center/post_center_area_1.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.nursing}`\n },\n ],\n },\n [CampusTourKeys.dianeLibrary]: {\n title: \"Diane M. Halle Library\",\n basePath: \"waypoints/halle-library/\",\n category: [Categories.studentLife],\n scaleX: true,\n cameraConfig: {\n startPoint: [-20, 0, -9],\n markerScale: [8,8,8],\n },\n panoImage: \"halle-library_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Diane M. Halle Library\",\n description:\n \"The Halle Library is home to academic services such as the writing and tutoring centers, the International Education department, Internship & Career Center, Cyber Cafe (open 24/7), and classrooms.\",\n imageName: \"buildings/halle-library/halle_library_area_1.jpg\",\n thumbNail: \"buildings/halle-library/halle_library_area_1_thumb.jpg\",\n ignoreBasePath: true,\n x: 30,\n y: -10,\n z: 50,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"International Education & Internship & Career\",\n description: \"Developing skills in your area of study within a global context will help you grow and improve your decision-making in the workplace once you graduate.\",\n imageName: \"buildings/halle-library/halle_library_area_6.jpg\",\n thumbNail: \"buildings/halle-library/halle_library_area_6_thumb.jpg\",\n ignoreBasePath: true,\n x: 50,\n y: 0,\n z: 50,\n }\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"Built in 1916, College Hall is home to our administrative offices—including the Office of the President, Office of Admission, financial aid, registrar, bursar, Information Technology Support, and business office.\",\n title: \"College Hall\",\n imageName: \"waypoints/college-hall/college_hall_pano.jpg\",\n thumbNail: \"waypoints/college-hall/college_hall_pano_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"Center for Belonging, which was built by the founders of 91ÖØ¿Ú in 1978, serves students, staff, and faculty of all faiths\",\n title: \"Center for Belonging\",\n imageName: \"waypoints/chapel/chapel_area_1.jpg\",\n thumbNail: \"waypoints/chapel/chapel_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`,\n cameraConfig: {\n startPoint: [100, 0, -50],\n },\n },\n // {\n // mediaType: MediaTypes.pano,\n // description: \"The Interfaith Chapel, which was built by the founders of 91ÖØ¿Ú in 1978, serves students, staff, and faculty of all faiths. It is the meeting place for our various religious groups and hosts events involving many traditions.\",\n // title: \"Interfaith Chapel\",\n // googlePanoImgLink: \"size=400x200&heading=-125&pitch=0&fov=100\",\n // panoId: \"qE_YZcAC6sWtGqkNaHnLOQ\",\n // category: `${Categories.studentLife}`,\n // pov: {\n // zoom: 0.8,\n // heading: 233.79,\n // pitch: 3.7,\n // },\n // },\n {\n mediaType: MediaTypes.webgl,\n description: \"Developing skills in your area of study within a global context will help you grow and improve your decision-making in the workplace once you graduate.\",\n title: \"International Education & Internship & Career\",\n imageName: \"buildings/halle-library/halle_library_area_6.jpg\",\n thumbNail: \"buildings/halle-library/halle_library_area_6_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n }\n ],\n },\n [CampusTourKeys.centerForArts]: {\n title: \"Walter J. Manninen Center for the Arts\",\n basePath: \"waypoints/manninen-center-of-arts/\",\n category: [Categories.visualAndArts],\n scaleX: true,\n cameraConfig: {\n startPoint: [80, 1.1, 5],\n markerScale: [8,8,8],\n },\n panoImage: \"manninen-center_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Artrium\",\n description:\n \"Elements of “green†design make the Walter J. Manninen Center for the Arts environmentally friendly and aesthetically pleasing.\",\n imageName: \"buildings/manninen-center/manninen_center_area_1.jpg\",\n thumbNail: \"buildings/manninen-center/manninen_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n x: 1,\n y: 2,\n z: 15,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Rose Theater\",\n description: \"The Rose Theater hosts dance and music concerts and theatrical performances. The acoustically superb venue makes for an excellent experience for patrons.\",\n imageName: \"buildings/manninen-center/manninen_center_area_3.jpg\",\n thumbNail: \"buildings/manninen-center/manninen_center_area_3_thumb.jpg\",\n ignoreBasePath: true,\n x: 5,\n y: 2,\n z: 0,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Heftler Gallery\",\n description: \"The Heftler Visiting Artist Gallery is a museum quality gallery featuring well known and specially selected artists and themes that pertain to students' majors.\",\n imageName: \"buildings/manninen-center/manninen_center_area_5.jpg\",\n thumbNail: \"buildings/manninen-center/manninen_center_area_5_thumb.jpg\",\n ignoreBasePath: true,\n x: 10,\n y: 2,\n z: -15,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: `Built in 2019, the Wax Academic Center is home to the Schools of Education, Science & Technology, Social Sciences, Communication, & Humanities, and the Van Loan School of\n Professional Studies. Phase II of the New Academic Center was completed in late 2020 and features seminar rooms, a cafe, and the Cleary Lecture Hall.`,\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n imageName: \"buildings/wax-center/wax_academic_center_area_9.jpg\",\n thumbNail: \"buildings/wax-center/wax_academic_center_area_9_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.nursing}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Halle Library is also home to academic services such as the writing and tutoring centers, the International Education department, Internship & Career Center, Cyber Cafe (open 24/7), and classrooms.\",\n title: \"Diane M. Halle Library\",\n imageName: \"buildings/halle-library/halle_library_area_1.jpg\",\n thumbNail: \"buildings/halle-library/halle_library_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}, ${Categories.sport}`\n },\n ],\n },\n}","import {\n StreetViewOptions,\n MapsContainerStyle,\n StreetView,\n} from \"../common/interfaces/IMaps\";\nimport { CampusTourKeys } from \"../common/models/WayPoints\";\nimport { MediaTypes } from \"../common/models/Media\";\nimport { Categories } from \"../common/models/Category\";\nimport { newToursData } from \"./waypointsData-newTours\";\n\nexport const data: StreetView = {\n [CampusTourKeys.frontGate]: {\n title: \"Welcome\",\n basePath: \"waypoints/frontGate/\",\n category: [Categories.studentLife],\n scaleX: true,\n cameraConfig: {\n startPoint: [-50, 0, -10],\n markerScale: [15,15,15],\n },\n panoImage: \"front-gate_pano.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.youtube,\n title: \"Welcome to 91ÖØ¿Ú\",\n description:\n \"The journey to 91ÖØ¿Ú—a destination for higher learning, career preparation, and lifelong connections—begins with you.\",\n videoUrl: \"5uJJmnbyLBY\",\n // lat: 42.55249,\n // lng: -70.842365,\n x: 50,\n y: 0,\n z: 70,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.webgl,\n description: \"Built in 1916, College Hall is home to our administrative offices—including the Office of the President, Office of Admission, financial aid, registrar, bursar, Information Technology Support, and business office.\",\n title: \"College Hall\",\n imageName: \"waypoints/college-hall/college_hall_pano.jpg\",\n thumbNail: \"waypoints/college-hall/college_hall_pano_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`,\n cameraConfig: {\n startPoint: [0, 0, -70],\n },\n },\n {\n wayPointKey: CampusTourKeys.amphitheater,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.amphitheater,\n hotspotNum: 2,\n },\n ],\n panoConfiguration: {\n lat: 42.5523381,\n lng: -70.8424198,\n pov: {\n zoom: 1.3,\n heading: 23.09,\n pitch: 0,\n },\n },\n },\n [CampusTourKeys.centerForBelonging]: {\n title: \"Center for Belonging\",\n basePath: \"waypoints/chapel/\",\n category: [Categories.studentLife],\n cameraConfig: {\n startPoint: [130, 0, 0],\n markerScale: [8,8,8],\n },\n panoImage: \"chapel_area_1.jpg\",\n panoImageThumb: \"chapel_area_1_thumb.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.webgl,\n title: \"Center for Belonging Exterior\",\n description: \"This building, which was built by the founders of 91ÖØ¿Ú in 1978, serves students, staff, and faculty of all faiths. In 2022, the building was renovated to expand its use for our students as a Center for Belonging.\",\n imageName: \"chapel_area_1.jpg\",\n thumbNail: \"chapel_area_1_thumb.jpg\",\n cameraConfig: {\n startPoint: [100, 0, -50],\n },\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"Center for Belonging Interior\",\n description: \"This building, which was built by the founders of 91ÖØ¿Ú in 1978, serves students, staff, and faculty of all faiths. In 2022, the building was renovated to expand its use for our students as a Center for Belonging.\",\n imageName: \"chapel_area_2.jpg\",\n thumbNail: \"chapel_area_2_thumb.jpg\",\n x: 10,\n y: 2,\n z: -20,\n },\n ],\n relatedPoints: [\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_1.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg\",\n title: \"Center for Belonging\",\n description: \"Unveiled in the fall of 2022, the newly renovated Center for Belonging is the campus hub for inclusive programming and activities, as well as all things spiritual life.\",\n },\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_2.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_2_thumb.jpg\",\n title: \"Dance Class\",\n description: \"91ÖØ¿Ú is committed to fostering an environment that honors all individuals. We celebrate diversity and hold it as our responsibility to move our community toward becoming a stronger reflection of our interconnected world.\",\n },\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_3.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_3_thumb.jpg\",\n title: \"Yoga Class\",\n description: \"The Center for Belonging offers a variety of mindfulness activities to help students reflect intentionally, make better decisions, and become more self confident by learning more about themselves.\",\n },\n ],\n },\n [CampusTourKeys.stoneridge]: {\n title: \"Stoneridge\",\n basePath: \"waypoints/stone-ridge/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Stoneridge Exterior\",\n description:\n \"Stoneridge Hall features a plethora of green elements, including a water refill station, bicycle parking, high efficiency appliances, and recycling facilities.\",\n imageName: \"stoneridge_hotspot_1.jpg\",\n lat: 42.554594,\n lng: -70.846218,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"Standish Hall is a 52-unit building that houses 294 students in apartments. With priority given to seniors,Standish Hall units have two or three bedrooms, a living room, private bath, and full kitchen.\",\n title: \"Standish Hall Exterior\",\n imageName: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n thumbNail: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"Opened in 2016, Peter Frates Hall is a co-ed, first-year residence hall with triple and quadruple occupancy room options. Frates Hall has air conditioning, beautiful open common spaces, and many rooms overlooking the ocean.\",\n title: \"Peter Frates Hall\",\n imageName: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n thumbNail: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.pano,\n description: \"Hamilton and Wenham Halls are oceanfront and co-ed residence halls open to first-year students who choose a healthy lifestyle.\",\n title: \"Hamilton / Wenham\",\n googlePanoImgLink: \"size=400x200&heading=143.15&pitch=7.5&fov=100\",\n panoId: \"8XMePqDK7P1jSwbnsyUK3w\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n ],\n panoConfiguration: {\n lat: 42.5546089,\n lng: -70.8458864,\n pov: {\n zoom: 1.4,\n heading: 264.66,\n pitch: 3.75,\n },\n },\n },\n [CampusTourKeys.marblehead]: {\n title: \"Marblehead\",\n basePath: \"waypoints/marblehead/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Marblehead Exterior\",\n description:\n \"The four-story, 260-bed Marblehead Hall was built in 2011 and has many amenities, including a fitness center.\",\n imageName: \"marblehead_hotspot_1.jpg\",\n lat: 42.553774,\n lng: -70.846261,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"Standish Hall is a 52-unit building that houses 294 students in apartments. With priority given to seniors,Standish Hall units have two or three bedrooms, a living room, private bath, and full kitchen.\",\n title: \"Standish Hall Exterior\",\n imageName: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n thumbNail: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"Opened in 2016, Peter Frates Hall is a co-ed, first-year residence hall with triple and quadruple occupancy room options. Frates Hall has air conditioning, beautiful open common spaces, and many rooms overlooking the ocean.\",\n title: \"Peter Frates Hall\",\n imageName: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n thumbNail: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.pano,\n description: \"Hamilton and Wenham Halls are oceanfront and co-ed residence halls open to first-year students who choose a healthy lifestyle.\",\n title: \"Hamilton / Wenham\",\n googlePanoImgLink: \"size=400x200&heading=143.15&pitch=7.5&fov=100\",\n panoId: \"8XMePqDK7P1jSwbnsyUK3w\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n ],\n panoConfiguration: {\n lat: 42.5538981,\n lng: -70.8461563,\n pov: {\n zoom: 0.5,\n heading: 196.39,\n pitch: 0,\n },\n },\n },\n [CampusTourKeys.bayview]: {\n title: \"Bayview\",\n basePath: \"waypoints/bayview/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Bayview Exterior\",\n description:\n \"Bayview Hall is a co-ed residence hall that includes spaces for students in either double, triple, or quadruple occupancy, all with private bathrooms.\",\n imageName: \"bayview_hotspot_1.jpg\",\n lat: 42.554126,\n lng: -70.846596,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"Standish Hall is a 52-unit building that houses 294 students in apartments. With priority given to seniors,Standish Hall units have two or three bedrooms, a living room, private bath, and full kitchen.\",\n title: \"Standish Hall Exterior\",\n imageName: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n thumbNail: \"buildings/standish-hall/standish_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.img,\n description: \"Opened in 2016, Peter Frates Hall is a co-ed, first-year residence hall with triple and quadruple occupancy room options. Frates Hall has air conditioning, beautiful open common spaces, and many rooms overlooking the ocean.\",\n title: \"Peter Frates Hall\",\n imageName: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n thumbNail: \"buildings/frates-hall/frates_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.pano,\n description: \"Hamilton and Wenham Halls are oceanfront and co-ed residence halls open to first-year students who choose a healthy lifestyle.\",\n title: \"Hamilton / Wenham\",\n googlePanoImgLink: \"size=400x200&heading=143.15&pitch=7.5&fov=100\",\n panoId: \"8XMePqDK7P1jSwbnsyUK3w\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n ],\n panoConfiguration: {\n lat: 42.5540628,\n lng: -70.8464078,\n pov: {\n zoom: -1,\n heading: 320.28,\n pitch: 9,\n },\n },\n },\n [CampusTourKeys.tupperLawn]: {\n title: \"Tupper Lawn\",\n basePath: \"waypoints/tupper/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Tupper Lawn Fountain\",\n description:\n \"Completed in 2005, the Fountain at Water’s Edge was commissioned by 91ÖØ¿Ú in honor of the Post family—longtime supporters of the College. \",\n imageName: \"tupperlawn_hotspot_1.jpg\",\n lat: 42.553441,\n lng: -70.848854,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.misselwood,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.mingoBeach,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.amphitheater,\n hotspotNum: 1,\n },\n ],\n panoConfiguration: {\n lat: 42.5536424,\n lng: -70.848969,\n pov: {\n zoom: 1.4,\n heading: 167.76,\n pitch: 3.7,\n },\n },\n },\n [CampusTourKeys.northField]: {\n title: \"North Field\",\n basePath: \"waypoints/north-field/\",\n category: [Categories.studentLife, Categories.sport],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"North Field\",\n description:\n \"North Field is the home of 91ÖØ¿Ú’s baseball and field hockey teams. In 2012, a new turf surface was added along with new lights to allow for extended use. \",\n imageName: \"northfield_hotspot_1.jpg\",\n x: 0,\n y: 1,\n z: -2,\n },\n {\n mediaType: MediaTypes.img,\n title: \"North Field Aerial\",\n imageName: \"northfield_hotspot_2.jpg\",\n description:\n \"North Field serves as a practice field for 91ÖØ¿Ú’s varsity programs and as a hub for intramural sports. The facility can accommodate up to 600 spectators.\",\n x: -3,\n y: 2,\n z: -3,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.hempsteadStadium,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.softballComplex,\n hotspotNum: 1,\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Post Center is home to the School of Sport Science, the MacDonald Gymnasium, the field house, and a full-service fitness center.\",\n title: \"Post Center\",\n imageName: \"buildings/post-center/post_center_area_1.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}, ${Categories.sport}`\n }\n ],\n panoImage: \"northfield_basepoint.jpg\",\n panoImageThumb: \"northfield_basepoint_thumb.jpg\",\n },\n [CampusTourKeys.theLodge]: {\n title: \"The Lodge\",\n basePath: \"waypoints/lodge/\",\n category: [Categories.studentLife],\n scaleX: true,\n cameraConfig: {\n startPoint: [-80, 1.1, 5],\n markerScale: [8,8,8],\n },\n panoImage: \"the_lodge_pano.jpg\",\n panoImageThumb: \"the_lodge_pano_thumb.jpg\",\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"The Lodge\",\n description:\n \"Located between the Post Center and Tower Hall, the Lodge provides a variety of breakfast, lunch, and late-night dining options. \",\n imageName: \"lodge_hotspot_1.jpg\",\n x: 10,\n y: 2,\n z: -20,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Lodge Fireplace\",\n description:\n \"With plenty of comfortable seating, games, a wood stove, and more; the Lodge is one of the most popular places on campus for students to get together. \",\n imageName: \"lodge_hotspot_2.jpg\",\n x: 10,\n y: 2,\n z: 0,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Lodge Pool Table\",\n description:\n \"As a way to exercise the mind between studies, the Lodge offers a game of pool for the students.\",\n imageName: \"lodge_hotspot_3.jpg\",\n x: 10,\n y: 2,\n z: 20,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.img,\n description: \"\",\n title: \"Gully’s Seating Areas\",\n imageName: \"buildings/gullys/gullys_area_2.jpg\",\n thumbNail: \"buildings/gullys/gullys_area_2.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"On the upper level of the Callahan Center you will find the main dining hall, which offers a wide variety of freshly prepared meals.\",\n title: \"Callahan Center Dining Area\",\n imageName: \"buildings/callahan-center/callahan_center_area_1.jpg\",\n thumbNail: \"buildings/callahan-center/callahan_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"On the upper level of the Callahan Center you will find the main dining hall, which offers a wide variety of freshly prepared meals.\",\n title: \"Samuel C. Wax Academic Center and Hempstead Commons\",\n imageName: \"buildings/wax-center/wax_academic_center_area_9.jpg\",\n thumbNail: \"buildings/wax-center/wax_academic_center_area_9_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n ],\n },\n [CampusTourKeys.firstYearQuad]: {\n title: \"First-Year Quad\",\n basePath: \"waypoints/first-year/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.youtube,\n title: \"First-Year Area\",\n description:\n \"The First-Year Area provides new students the opportunity to adjust to college together in a supportive and vibrant environment with focused programming and college support.\",\n videoUrl: \"q4lOcrhsaBo\",\n x: 0,\n y: -2,\n z: -4,\n },\n ],\n relatedPoints: [\n {\n mediaType: MediaTypes.pano,\n description: \"Hamilton and Wenham Halls are oceanfront and co-ed residence halls open to first-year students who choose a healthy lifestyle.\",\n title: \"Hamilton / Wenham\",\n googlePanoImgLink: \"size=400x200&heading=143.15&pitch=7.5&fov=100\",\n panoId: \"8XMePqDK7P1jSwbnsyUK3w\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n {\n mediaType: MediaTypes.img,\n description: \"The co-ed, first-year Reynolds Hall offers common laundry, kitchen, and lounge space. Reynolds Hall is a Gull Leadership Living Learning Community (LLC) for first-year students looking to develop the skills and knowledge to become student leaders and to successfully transition to college life.\",\n title: \"Reynolds Hall Exterior\",\n imageName: \"buildings/reynolds-hall/reynolds_hall_area_1.jpg\",\n thumbNail: \"buildings/reynolds-hall/reynolds_hall_area_1.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}`\n },\n {\n mediaType: MediaTypes.pano,\n description: `The four-story, 260-bed Marblehead Hall was built in 2011 and has many amenities, including a fitness center.\n It includes spacious lounges, kitchenettes on every floor, study nooks, and a fitness center.`,\n title: \"Marblehead\",\n googlePanoImgLink: \"size=400x200&heading=196.39&pitch=0&fov=100\",\n panoId: \"INdhlUpJcxk3X4sTx-FkAQ\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: 0.5,\n heading: 196.39,\n pitch: 0,\n },\n },\n ],\n panoImage: \"first_year_quad.jpg\",\n panoImageThumb: \"first_year_quad_thumb.jpg\",\n },\n [CampusTourKeys.misselwood]: {\n title: \"Misselwood\",\n basePath: \"waypoints/misselwood/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Misselwood\",\n description:\n \"This 4.5 acre oceanfront estate houses various events, as well as our non-traditional classroom, La Chanterelle\",\n imageName: \"misselwood_hotspot_1.jpg\",\n lat: 42.550786,\n lng: -70.838295,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Misselwood Exterior\",\n imageName: \"misselwood_hotspot_2.jpg\",\n description:\n \"The Misselwood Estate is the perfect venue for weddings, corporate events, or social meetings and gatherings. It also hosts the Misselwood Concours d’Elegance.\",\n lat: 42.550796,\n lng: -70.838206,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Misselwood Summer Concert\",\n imageName: \"misselwood_hotspot_3.jpg\",\n description:\n \"Misselwood and its beautiful oceanside lawn is the perfect venue for all types of events, including our annual Summer Concert Series. \",\n lat: 42.550732,\n lng: -70.838371,\n },\n ],\n relatedPoints: [\n {\n title: \"Misselwood Coast\",\n description:\n \"With panoramic view of the Atlantic Ocean and Boston’s historic North Shore, Misselwood is a place you won’t soon forget.\",\n imageName: \"misselwood_related_1.jpg\",\n },\n {\n title: \"Misselwood Wedding\",\n description:\n \"As the prime location on the North Shore for weddings, Misselwood offers a particularly beautiful and stunning setting for ceremonies and receptions.\",\n imageName: \"misselwood_related_2.jpg\",\n },\n {\n mediaType: MediaTypes.pano,\n description: \"Completed in 2005, the Fountain at Water’s Edge was commissioned by 91ÖØ¿Ú in honor of the Post family—longtime supporters of the College.\",\n title: \"Tupper Lawn\",\n googlePanoImgLink: \"size=400x200&heading=167.76&pitch=3.7&fov=100\",\n panoId: \"lD0qbY7VXQAncF7nDxyVYQ\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: 1.4,\n heading: 167.76,\n pitch: 3.7,\n },\n }\n ],\n panoConfiguration: {\n lat: 42.550863,\n lng: -70.8383515,\n pov: {\n zoom: 0,\n heading: 167.65,\n pitch: 7.5,\n },\n },\n },\n [CampusTourKeys.mingoBeach]: {\n title: \"Mingo Beach\",\n basePath: \"waypoints/mingo-beach/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.youtube,\n title: \"Mingo Beach\",\n description:\n \"One of three private beaches on campus, Mingo Beach is a popular place for students to relax and hang out. \",\n thumbNail: \"mingobeach_hotspot_1.jpg\",\n imageName: \"mingobeach_hotspot_1.jpg\",\n videoUrl: \"xZBDJrFfAEg\",\n x: -2,\n y: -2,\n z: -4,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Beach Sunset\",\n imageName: \"mingobeach_hotspot_2.jpg\",\n description:\n \"On the other side of Misselwood sits 91ÖØ¿Ú Beach, which features a grassy lawn overlooking the water, a boat house, and a beach volleyball court. \",\n x: 1,\n y: -2,\n z: -4,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Beach Sunrise\",\n imageName: \"mingobeach_hotspot_3.jpg\",\n description:\n \"91ÖØ¿Ú’s three private beaches are ideal spots to watch breathtaking sunrises.\",\n x: 3,\n y: 0,\n z: -4,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Patch Beach\",\n imageName: \"mingobeach_hotspot_4.jpg\",\n description:\n \"Patch Beach—commonly referred to as Tupper Beach—is a long stretch of sandy beach beyond Tupper Manor and the Wylie Inn & Conference Center. \",\n x: 6,\n y: 0,\n z: -4,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.misselwood,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.tupperLawn,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.amphitheater,\n hotspotNum: 1,\n },\n ],\n panoImage: \"mingo_beach_pano.jpg\",\n panoImageThumb: \"mingo_beach_pano_thumb.jpg\",\n },\n [CampusTourKeys.amphitheater]: {\n title: \"91ÖØ¿Ú Lakes/Amphitheater\",\n basePath: \"waypoints/lakes/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"91ÖØ¿Ú Lakes\",\n imageName: \"lakes_amphitheater_hotspot_1.jpg\",\n description:\n \"The Lakes sit at the heart of 91ÖØ¿Ú’s campus and are a constant source of beauty for walks around campus and the annual regatta. \",\n lat: 42.5537,\n lng: -70.841429,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Amphitheater\",\n imageName: \"lakes_amphitheater_hotspot_2.jpg\",\n description:\n \"The brick and stone Amphitheater graces the lawn overlooking The Lakes. The venue is a favorite spot for classes, gatherings, and quiet study on beautiful days. \",\n lat: 42.553784,\n lng: -70.841482,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.mingoBeach,\n hotspotNum: 1,\n },\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_1.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg\",\n title: \"Center for Belonging\",\n description: \"Unveiled in the fall of 2022, the newly renovated Center for Belonging is the campus hub for inclusive programming and activities, as well as all things spiritual life.\",\n },\n {\n wayPointKey: CampusTourKeys.collegeHall,\n hotspotNum: 1,\n },\n ],\n panoConfiguration: {\n lat: 42.5538399,\n lng: -70.8412685,\n pov: {\n zoom: -2,\n heading: 190,\n pitch: -5,\n },\n },\n },\n [CampusTourKeys.collegeHall]: {\n title: \"College Hall\",\n basePath: \"waypoints/college-hall/\",\n video: \"https://youtu.be/5uJJmnbyLBY\",\n category: [Categories.studentLife],\n cameraConfig: {\n startPoint: [300, 1.1, 5],\n markerScale: [30, 30, 30],\n },\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"College Hall\",\n description:\n \"Built in 1916, College Hall is home to our administrative offices—including the Office of the President, Office of Admission, financial aid, registrar, bursar, Information Technology Support, and business office. \",\n imageName: \"college_hall_hotspot_1.jpg\",\n x: 0,\n y: 0,\n z: -40,\n },\n {\n mediaType: MediaTypes.img,\n title: \"College Hall Lobby\",\n imageName: \"college_hall_hotspot_2.jpg\",\n x: 0,\n y: 0,\n z: 0,\n },\n {\n mediaType: MediaTypes.webgl,\n title: \"College Hall Coastal View\",\n imageName: \"college_hall_hotspot_3.jpg\",\n thumbNail: \"college_hall_hotspot_3_thumb.jpg\",\n x: 20,\n y: 0,\n z: 60,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.policeBuilding,\n hotspotNum: 1,\n },\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_1.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg\",\n title: \"Center for Belonging\",\n description: \"Unveiled in the fall of 2022, the newly renovated Center for Belonging is the campus hub for inclusive programming and activities, as well as all things spiritual life.\",\n },\n {\n mediaType: MediaTypes.pano,\n description: \"The Lakes sit at the heart of 91ÖØ¿Ú’s campus and are a constant source of beauty for walks around campus and the annual regatta.\",\n title: \"91ÖØ¿Ú Lakes/Amphitheater\",\n googlePanoImgLink: \"size=400x200&heading=190&pitch=-5&fov=100\",\n panoId: \"MhvKhoe_z4e4HG0N4mDDCQ\",\n category: `${Categories.studentLife}`,\n pov: {\n zoom: -2,\n heading: 190,\n pitch: -5,\n },\n }\n ],\n panoImage: \"college_hall_pano.jpg\",\n panoImageThumb: \"college_hall_pano_thumb.jpg\",\n },\n [CampusTourKeys.hempsteadStadium]: {\n title: \"Melissa Hempstead '69 Stadium\",\n basePath: \"waypoints/hempstead-stadium/\",\n category: [Categories.studentLife, Categories.sport],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Hempstead Stadium\",\n description:\n \"Built in 2003, Hempstead Stadium is home to 91ÖØ¿Ú’s football, men’s lacrosse, women’s lacrosse, rugby, men’s soccer, and women’s soccer programs. \",\n imageName: \"hempstead_stadium_hotspot_1.jpg\",\n lat: 42.554865,\n lng: -70.841693,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Hempstead Stadium Entrance\",\n description:\n \"The stadium is equipped with a FieldTurf surface and has seating for 3,000 spectators, including new visitor stands with an 800-person capacity built in 2012. \",\n imageName: \"hempstead_stadium_hotspot_2.jpg\",\n lat: 42.55488,\n lng: -70.841664,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.softballComplex,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.northField,\n hotspotNum: 1,\n },\n {\n mediaType: MediaTypes.webgl,\n description: \"The Post Center is home to the School of Sport Science, the MacDonald Gymnasium, the field house, and a full-service fitness center.\",\n title: \"Post Center\",\n imageName: \"buildings/post-center/post_center_area_1.jpg\",\n thumbNail: \"buildings/post-center/post_center_area_1_thumb.jpg\",\n ignoreBasePath: true,\n category: `${Categories.studentLife}, ${Categories.sport}`\n }\n ],\n panoConfiguration: {\n lat: 42.5548107,\n lng: -70.8416129,\n pov: {\n zoom: -0.5,\n heading: 336.99,\n pitch: 7.5,\n },\n },\n },\n [CampusTourKeys.policeBuilding]: {\n title: \"Department of Public Safety & Police\",\n basePath: \"waypoints/public-safety/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Public Safety\",\n imageName: \"public_safety_hotspot_1.jpg\",\n description:\n \"With a staff of public safety officers as well as sworn police officers, our commitment to safety is a top priority.\",\n lat: 42.552193,\n lng: -70.842744,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Public Safety Sign\",\n imageName: \"public_safety_hotspot_2.jpg\",\n description:\n \"91ÖØ¿Ú’s emergency blue light network, visible throughout the campus, adds an extra layer of security for students in need of immediate assistance.\",\n lat: 42.552225,\n lng: -70.842705,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Public Safety Exterior\",\n imageName: \"public_safety_hotspot_1.jpg\",\n description:\n \"The department also oversees emergency medical response, fire safety and detection, and parking enforcement, as well as other community policing functions.\",\n lat: 42.552293,\n lng: -70.842682,\n },\n ],\n relatedPoints: [\n {\n ignoreBasePath: true,\n mediaType: MediaTypes.img,\n imageName: \"buildings/center-for-belonging/center_for_belonging_area_1.jpg\",\n thumbNail: \"buildings/center-for-belonging/center_for_belonging_area_1_thumb.jpg\",\n title: \"Center for Belonging\",\n description: \"Unveiled in the fall of 2022, the newly renovated Center for Belonging is the campus hub for inclusive programming and activities, as well as all things spiritual life.\",\n },\n {\n wayPointKey: CampusTourKeys.collegeHall,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.theLodge,\n hotspotNum: 1,\n },\n ],\n panoConfiguration: {\n lat: 42.5521103,\n lng: -70.8425188,\n pov: {\n zoom: -0.5,\n heading: 322.03,\n pitch: 7.5,\n },\n },\n },\n [CampusTourKeys.softballComplex]: {\n title: \"Softball Complex\",\n basePath: \"waypoints/softball/\",\n category: [Categories.studentLife, Categories.sport],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Softball Complex\",\n description:\n \"Surfaced with a “Fenway Mix†infield and a bluegrass/ryegrass combination outfield. The playing surface is state-of-the-art. The facility can accommodate 1,500 patrons\",\n imageName: \"softball_complex_hotspot_1.jpg\",\n x: -4,\n y: 0,\n z: -2,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.northField,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.hempsteadStadium,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.tupperLawn,\n hotspotNum: 1,\n },\n ],\n panoImage: \"softball_basepoint.jpg\",\n panoImageThumb: \"softball_basepoint_thumb.jpg\",\n },\n [CampusTourKeys.hamilton]: {\n title: \"Hamilton/Wenham\",\n basePath: \"waypoints/hamilton/\",\n category: [Categories.studentLife],\n panoMarkers: [\n {\n mediaType: MediaTypes.img,\n title: \"Wenham Exterior\",\n description:\n \"Wenham Hall is a Healthy Living Learning Community (LLC). A former carriage house and stable, the first-year residence building was renovated in 2009 to make room for 91ÖØ¿Ú's growing student population.\",\n imageName: \"hamilton_wenham_hotspot_1.jpg\",\n lat: 42.551894,\n lng: -70.835933,\n },\n {\n mediaType: MediaTypes.img,\n title: \"Hamilton Exterior\",\n description:\n \"Hamilton Hall is a Healthy Living Learning Community (LLC) open to first-year students. Located in a converted Dutch colonial house, Hamilton Hall is just steps from the beach.\",\n imageName: \"hamilton_wenham_hotspot_2.jpg\",\n lat: 42.55183,\n lng: -70.836084,\n },\n ],\n relatedPoints: [\n {\n wayPointKey: CampusTourKeys.marblehead,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.bayview,\n hotspotNum: 1,\n },\n {\n wayPointKey: CampusTourKeys.stoneridge,\n hotspotNum: 1,\n },\n ],\n panoConfiguration: {\n lat: 42.5519815,\n lng: -70.8361278,\n pov: {\n zoom: -0.3,\n heading: 143.15,\n pitch: 7.5,\n },\n },\n },\n};\n\nexport default { ...data, ...newToursData } ;\n\nexport const panoOptions: StreetViewOptions = {\n fullscreenControl: false,\n addressControl: false,\n motionTracking: false,\n visible: true,\n linksControl: true,\n enableCloseButton: false,\n standAlone: true,\n showRoadLabels: false,\n zoomControl: true,\n clickToGo: true,\n};\n// https://developers.google.com/maps/documentation/javascript/reference?hl=en#StreetViewPanoramaOptions\n\nexport const mapContainerStyle: MapsContainerStyle = {\n height: \"100vh\",\n width: \"100%\",\n};\n","import { WayPointAsset } from './../common/interfaces/IMaps';\nimport { BuildingTourKeys, CampusTourKeys } from \"../common/models/WayPoints\";\nimport { IMarker } from \"../common/interfaces/IMaps\";\nimport { flyMenuData } from './menuData'\nimport { MenuTypes } from \"../common/models/Menu\";\nimport { data as buildingData } from \"./buildingsData\";\nimport { data as waypointsData } from \"./waypointsData\";\n\ntype MarkerType = {\n [idx: number]: string;\n};\n\nconst buildingIcon = require(\"../assets/wayfinding/map_pin_buildings.svg\");\nconst waypointIcon = require(\"../assets/wayfinding/map_pin_waypoints.svg\");\nexport const markerType: MarkerType = {\n 1: \"buildings\",\n 2: \"campus-tour\",\n};\n\nconst getMarkerImg = (slug: string, assetIdx: number, type: string) => {\n let path: string = '';\n if (type === 'building') {\n const current = buildingData[slug]\n const basePath = current.basePath;\n const imagePath = (current.assets as WayPointAsset[])[assetIdx].imageName\n path = require(`../assets/${basePath}${imagePath}`)\n }\n\n if (type === 'destination') {\n const panoScreen = (lat: number, lng: number, h: number) =>\n `https://maps.googleapis.com/maps/api/streetview?size=260x450&location=${lat},${lng}&fov=80&heading=${h}&pitch=0&key=${process.env.REACT_APP_MAP_KEY}`;\n\n const current = waypointsData[slug]\n const basePath = current.basePath;\n path = current?.panoImageThumb ? require(`../assets/${basePath}${current.panoImageThumb}`) : panoScreen(current.panoConfiguration?.lat as number, current.panoConfiguration?.lng as number, current.panoConfiguration?.pov.heading as number)\n }\n return path\n}\n\nexport const buildingMarkers: IMarker[] = [\n {\n title: flyMenuData[MenuTypes.student].menuItems[0].title,\n image: getMarkerImg(BuildingTourKeys.callahanCenter, 1, 'building'),\n lat: 42.553318,\n lng: -70.843389,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.callahanCenter,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[2].title,\n image: getMarkerImg(BuildingTourKeys.manninenCenterForArts, 1, 'building'),\n lat: 42.552649,\n lng: -70.83953,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.manninenCenterForArts,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[3].title,\n image: getMarkerImg(BuildingTourKeys.halleLibrarya, 2, 'building'),\n lat: 42.553184,\n lng: -70.840865,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.halleLibrarya,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[4].title,\n image: getMarkerImg(BuildingTourKeys.waxAcademicCenter, 0, 'building'),\n lat: 42.554204,\n lng: -70.840648,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.waxAcademicCenter,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[6].title,\n image: getMarkerImg(BuildingTourKeys.businessSchool, 1, 'building'),\n lat: 42.553772,\n lng: -70.842843,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.businessSchool,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[7].title,\n image: getMarkerImg(BuildingTourKeys.judgeCenter, 0, 'building'),\n lat: 42.553789,\n lng: -70.842567,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.judgeCenter,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[8].title,\n image: getMarkerImg(BuildingTourKeys.postCenter, 1, 'building'),\n lat: 42.555021,\n lng: -70.839789,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.postCenter,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[9].title,\n image: getMarkerImg(BuildingTourKeys.bourqueArena, 1, 'building'),\n lat: 42.556988,\n lng: -70.847434,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.bourqueArena,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[10].title,\n image: getMarkerImg(BuildingTourKeys.nursingBuilding, 6, 'building'),\n lat: 42.5545331361293,\n lng: -70.84173528794518,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.nursingBuilding,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[11].title,\n image: getMarkerImg(BuildingTourKeys.fratesHall, 0, 'building'),\n lat: 42.55169,\n lng: -70.838013,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.fratesHall,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[12].title,\n image: getMarkerImg(BuildingTourKeys.reynoldsHall, 0, 'building'),\n lat: 42.552931,\n lng: -70.838156,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.reynoldsHall,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[13].title,\n image: getMarkerImg(BuildingTourKeys.stadishHall, 0, 'building'),\n lat: 42.556002,\n lng: -70.845346,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.stadishHall,\n type: markerType[1],\n },\n {\n title: flyMenuData[MenuTypes.student].menuItems[14].title,\n image: getMarkerImg(BuildingTourKeys.gullys, 2, 'building'),\n lat: 42.5542746,\n lng: -70.8423543,\n iconPath: buildingIcon,\n slug: BuildingTourKeys.gullys,\n type: markerType[1],\n },\n];\n\n// Start Waypoints\nexport const waypointMarkers: IMarker[] = [\n {\n title: \"Welcome\",\n image: getMarkerImg(CampusTourKeys.frontGate, 1, 'destination'),\n lat: 42.552296,\n lng: -70.842506,\n iconPath: waypointIcon,\n slug: CampusTourKeys.frontGate,\n type: markerType[2],\n },\n {\n title: \"Center for Belonging\",\n image: getMarkerImg(CampusTourKeys.centerForBelonging, 1, 'destination'),\n lat: 42.5529921,\n lng: -70.8425502,\n iconPath: waypointIcon,\n slug: CampusTourKeys.centerForBelonging,\n type: markerType[2],\n },\n {\n title: \"Stoneridge\",\n image: getMarkerImg(CampusTourKeys.stoneridge, 1, 'destination'),\n lat: 42.5546089,\n lng: -70.8458864,\n iconPath: waypointIcon,\n slug: CampusTourKeys.stoneridge,\n type: markerType[2],\n },\n {\n title: \"Marblehead\",\n image: getMarkerImg(CampusTourKeys.marblehead, 1, 'destination'),\n lat: 42.5538981,\n lng: -70.8461563,\n iconPath: waypointIcon,\n slug: CampusTourKeys.marblehead,\n type: markerType[2],\n },\n {\n title: \"Bayview\",\n image: getMarkerImg(CampusTourKeys.bayview, 1, 'destination'),\n lat: 42.5540628,\n lng: -70.8464078,\n iconPath: waypointIcon,\n slug: CampusTourKeys.bayview,\n type: markerType[2],\n },\n // {\n // title: \"Tupper Lawn\",\n // image: getMarkerImg(CampusTourKeys.tupperLawn, 1, 'destination'),\n // lat: 42.5536424,\n // lng: -70.848969,\n // iconPath: waypointIcon,\n // slug: CampusTourKeys.tupperLawn,\n // type: markerType[2],\n // },\n {\n title: \"North Field\",\n image: getMarkerImg(CampusTourKeys.northField, 1, 'destination'),\n lat: 42.556106,\n lng: -70.839572,\n iconPath: waypointIcon,\n slug: CampusTourKeys.northField,\n type: markerType[2],\n },\n {\n title: \"The Lodge\",\n image: getMarkerImg(CampusTourKeys.theLodge, 1, 'destination'),\n lat: 42.553612,\n lng: -70.838247,\n iconPath: waypointIcon,\n slug: CampusTourKeys.theLodge,\n type: markerType[2],\n },\n // {\n // title: \"First-Year Quad\",\n // image: getMarkerImg(CampusTourKeys.firstYearQuad, 1, 'destination'),\n // lat: 42.553611,\n // lng: -70.838247,\n // iconPath: waypointIcon,\n // slug: CampusTourKeys.firstYearQuad,\n // },\n {\n title: \"Misselwood\",\n image: getMarkerImg(CampusTourKeys.misselwood, 1, 'destination'),\n lat: 42.550863,\n lng: -70.8383515,\n iconPath: waypointIcon,\n slug: CampusTourKeys.misselwood,\n type: markerType[2],\n },\n {\n title: \"Mingo Beach\",\n image: getMarkerImg(CampusTourKeys.mingoBeach, 1, 'destination'),\n lat: 42.55054,\n lng: -70.840065,\n iconPath: waypointIcon,\n slug: CampusTourKeys.mingoBeach,\n type: markerType[2],\n },\n // {\n // title: \"91ÖØ¿Ú Lakes/Amphitheater\",\n // image: getMarkerImg(CampusTourKeys.amphitheater, 1, 'destination'),\n // lat: 42.5538796,\n // lng: -70.8413227,\n // iconPath: waypointIcon,\n // slug: CampusTourKeys.amphitheater,\n // type: markerType[2],\n // },\n {\n title: \"College Hall\",\n image: getMarkerImg(CampusTourKeys.collegeHall, 1, 'destination'),\n lat: 42.551296,\n lng: -70.839913,\n iconPath: waypointIcon,\n slug: CampusTourKeys.collegeHall,\n type: markerType[2],\n },\n {\n title: \"Hempstead Stadium\",\n image: getMarkerImg(CampusTourKeys.hempsteadStadium, 1, 'destination'),\n lat: 42.5548107,\n lng: -70.8416129,\n iconPath: waypointIcon,\n slug: CampusTourKeys.hempsteadStadium,\n type: markerType[2],\n },\n {\n title: \"Public Safety & Police Building\",\n image: getMarkerImg(CampusTourKeys.policeBuilding, 1, 'destination'),\n lat: 42.5521103,\n lng: -70.8425188,\n iconPath: waypointIcon,\n slug: CampusTourKeys.policeBuilding,\n type: markerType[2],\n },\n // {\n // title: \"Softball Complex\",\n // image: getMarkerImg(CampusTourKeys.softballComplex, 1, 'destination'),\n // lat: 42.555903,\n // lng: -70.840851,\n // iconPath: waypointIcon,\n // slug: CampusTourKeys.softballComplex,\n // type: markerType[2],\n // },\n // {\n // title: \"Hamilton/Wenham\",\n // image: getMarkerImg(CampusTourKeys.hamilton, 1, 'destination'),\n // lat: 42.5519815,\n // lng: -70.8361278,\n // iconPath: waypointIcon,\n // slug: CampusTourKeys.hamilton,\n // type: markerType[2],\n // },\n];\n","export const syncLastDest = {\n store: (keyName: string, value: string) =>\n localStorage.setItem(keyName, value)\n ,\n get: (keyName: string) => {\n const res = localStorage.getItem(keyName)\n return res ? res : null\n }\n}","/*global google*/\n\nimport React from \"react\"\nimport { GoogleMap, LoadScript, Marker, InfoWindow } from \"@react-google-maps/api\"\nimport mapStyles from \"../content/mapStyles.json\"\nimport ActionBtns from \"../components/action-btns/action-btns\"\nimport BtnArrow from '../assets/infoModalArrow.png'\n\nimport { buildingMarkers, waypointMarkers, markerType } from '../content/wayfindingMarkers'\nimport { IMarker, DefaultCenter, MapsContainerStyle } from \"../common/interfaces/IMaps\"\nimport BaseComponent from \"../common/base-classes/BaseComponent\"\nimport { mapContainerStyle } from '../content/waypointsData'\nimport * as H from 'history';\nimport { syncLastDest } from \"../common/utils/StoreLastDestination\"\n\ntype WayfindingState = {\n markers: IMarker[]\n defaultCenter: DefaultCenter\n mapContainerStyle: MapsContainerStyle\n showInfoModal: boolean;\n showActiveInfoModal: boolean\n infoModalIdx: number\n activeMarker: IMarker;\n gsLoaded: boolean\n}\n\ntype WayfindingProps = {\n history: H.History;\n}\n\nclass Wayfinding extends BaseComponent {\n\n getInitialState() {\n return {\n markers: [] as IMarker[],\n showInfoModal: false,\n showActiveInfoModal: false,\n mapContainerStyle: mapContainerStyle,\n infoModalIdx: 0,\n gsLoaded: false,\n defaultCenter: {\n lat: 42.553951,\n lng: -70.8433606\n },\n activeMarker: {} as IMarker\n } as WayfindingState\n }\n\n componentDidMount() {\n this.setState({ markers: this.mergeMarkers() }, () => this.activateMarker())\n }\n\n mergeMarkers = (): IMarker[] => [...waypointMarkers, ...buildingMarkers];\n\n handleMarkerClick = (slug: string | undefined, type: string): void => {\n slug && this.props.history.push(`/${type}/${slug}`);\n (slug && slug === markerType[1]) && syncLastDest.store('activeDestination', slug);\n }\n\n handleMouseEvent = (state: boolean, idx?: number): void => {\n if (idx) {\n this.setState({ showInfoModal: state, infoModalIdx: idx })\n } else {\n this.setState({ showActiveInfoModal: state })\n }\n }\n\n setMapVisibilty = (state: boolean): void => this.setState({ gsLoaded: state })\n\n activateMarker = (): void => {\n const { markers } = this.state\n const destSlug = syncLastDest.get('activeDestination')\n const setDefaultMarker = () => this.setState({ activeMarker: markers[0] })\n\n if (destSlug) {\n const marker = markers.find(marker => marker.slug === destSlug);\n\n if (marker) {\n marker.lat = marker ? marker.lat : markers[0].lat;\n marker.lng = marker ? marker.lng : markers[0].lng;\n this.setState({ activeMarker: marker })\n } else {\n setDefaultMarker()\n }\n return\n } else {\n setDefaultMarker()\n }\n }\n\n infoModal = (marker: IMarker): JSX.Element => \n this.handleMouseEvent(false)}\n >\n
\n
{marker.title}
\n this.handleMarkerClick(marker.slug, marker.type as string)}\n className=\"map-info-window__thumb\" src={marker.image} alt={marker.title}\n />\n this.handleMarkerClick(marker.slug, marker.type as string)}\n className=\"btn btn-transparent map-info-window__link pb-0 px-0 ml-auto d-flex justify-content-end\"\n >\n \"Arrow\n \n
\n \n\n markerOpts = (marker: IMarker) => ({\n position: { lat: marker.lat, lng: marker.lng },\n icon: {\n url: marker.image ? marker.image : marker.iconPath,\n size: new google.maps.Size(60, 60),\n },\n onClick: () => this.handleMarkerClick(marker.slug, marker.type as string),\n })\n\n render() {\n const { markers, defaultCenter, mapContainerStyle, showInfoModal,\n infoModalIdx, activeMarker, gsLoaded, showActiveInfoModal\n } = this.state;\n const { markerOpts } = this\n\n return (\n \n \n this.setMapVisibilty(true)}>\n {\n gsLoaded &&\n
\n this.showLoading(false)}\n >\n this.handleMouseEvent(true)}\n onMouseOut={() => this.handleMouseEvent(false)}\n animation={google.maps.Animation.DROP}\n onLoad={() => this.setState({ showActiveInfoModal: true })}\n >\n { showActiveInfoModal && this.infoModal(activeMarker) }\n \n {\n markers.length !== 0 && markers.map((marker: IMarker, idx: number) =>\n (activeMarker.slug !== marker.slug) &&\n \n this.handleMouseEvent(true, idx)}\n onMouseOut={() => this.handleMouseEvent(false, idx)}\n animation={google.maps.Animation.DROP}\n >\n {\n (showInfoModal && idx === infoModalIdx) && this.infoModal(marker)\n }\n \n \n )\n }\n \n
\n }\n
\n
\n )\n }\n}\n\nexport default Wayfinding","const toggleModalClasses = () => {\n return {\n open: () => {\n document.body.style.overflowY = 'hidden';\n document.body.classList.add('modal-open');\n },\n close: () => {\n document.body.style.overflowY = 'auto';\n document.body.classList.remove('modal-open');\n }\n }\n}\nexport default toggleModalClasses;","import React from 'react'\nimport View360Icon from '../../assets/View360.png'\n\ntype TProps = {\n stopRotation?: () => void\n pausePano?: () => void\n}\n\nconst PanoHelper: React.FC = ({ stopRotation, pausePano }) => { \n return (\n
{\n stopRotation && stopRotation()\n pausePano && pausePano()\n }}\n >\n
\n \"360\n
\n
\n

\n Drag left and right to look around\n

\n
\n
\n )\n}\n\nexport default PanoHelper","import React, { useState } from 'react'\n\nimport { useThree, useFrame, extend, ReactThreeFiber } from 'react-three-fiber'\n\nimport { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'\nimport * as THREE from 'three'\n\ntype Props = {\n [x: string]: any;\n}\n\nextend({ OrbitControls })\n\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n 'orbitControls': ReactThreeFiber.Object3DNode;\n }\n }\n}\n\nconst WebglControls: React.FC = (props) => {\n const { camera, gl } = useThree()\n const ref = React.useRef()\n const [cameraIsSet, setCameraIsSet] = useState(false)\n\n useFrame(() => {\n ref && (ref.current as any).update()\n })\n\n React.useEffect(() => {\n const canvas = document.querySelector('canvas')\n canvas && canvas.addEventListener('wheel', (e) => onWheel(e))\n \n if (props.startPoint && props.startPoint.length === 3) {\n setCameraIsSet(true)\n if (cameraIsSet) return;\n\n camera.position.set(props.startPoint[0], props.startPoint[1], props.startPoint[2])\n camera.updateProjectionMatrix()\n }\n\n return document.removeEventListener('wheel', (e) => onWheel(e))\n })\n\n const onWheel = (event: WheelEvent) => {\n event.stopPropagation();\n \n if (event.deltaY < 0) {\n camera.zoom += 0.3\n }\n if (event.deltaY > 0) {\n camera.zoom -= 0.3\n }\n if (camera.zoom < 0.8) {\n camera.zoom = 0.8\n }\n if (camera.zoom > 10) {\n camera.zoom = 10\n }\n camera.updateProjectionMatrix()\n }\n\n return \n}\n\nexport default WebglControls\n","import React from \"react\";\n\ninterface IWebGLContext {\n playPano?: () => void\n pausePano?: () => void\n stopRotation?: () => void\n panoIsRotating: boolean\n}\n\nconst WebGLContext = React.createContext({} as IWebGLContext);\n\nexport default WebGLContext;","import { WayPointAsset } from './../common/interfaces/IMaps';\nimport React from \"react\";\n\ninterface IHotspotsContext {\n handleModal: (state: boolean, hotspot: WayPointAsset) => void\n markers: WayPointAsset[]\n}\n\nconst HotspotsContext = React.createContext({} as IHotspotsContext);\n\nexport default HotspotsContext;","import React, { Suspense, lazy, useMemo } from 'react'\nimport { Canvas } from 'react-three-fiber'\n\nimport WebglControls from './webgl-controls'\nimport WebGLContext from '../../context/webgl-context'\nimport HotspotsContext from '../../context/hotspots-context'\n\nimport { CameraConfig } from '../../common/interfaces/IMaps'\n\nconst WebglDome = lazy(() => import('./webgl-dome'))\n\ntype Props = {\n imagePath: string\n onLoaded: () => void\n cameraConfig?: CameraConfig\n}\n\nconst WebglPanorama: React.FC = ({ imagePath, onLoaded, cameraConfig }) => {\n const context = React.useContext(WebGLContext)\n const contextHotposts = React.useContext(HotspotsContext)\n const { panoIsRotating } = context\n const { markers, handleModal } = contextHotposts\n\n return (\n \n {\n useMemo(() => \n \n , [cameraConfig, panoIsRotating])\n }\n \n \n {\n useMemo(() => \n handleModal(true, marker)}\n onLoaded={() => onLoaded()}\n markerScale={cameraConfig?.markerScale}\n />\n , [cameraConfig, handleModal, imagePath, markers, onLoaded])\n }\n \n \n )\n}\n\nexport default WebglPanorama","import React from 'react'\nimport { CSSTransition } from 'react-transition-group'\nimport Img from 'react-cool-img'\n\nimport { WayPointAsset } from '../../common/interfaces/IMaps'\nimport { MediaTypes } from '../../common/models/Media'\n\nimport Placeholder from '../../assets/placeholder.png'\nimport LoadingIcon from '../../assets/loader.gif'\n\nimport PanoHelper from './pano-details-helper'\nimport WebglPanorama from '../webgl-panorama/webgl-panorama'\n\nimport WebGLContext from '../../context/webgl-context'\nimport { Play, Stop } from '../../content/svgIcons'\nimport { GoogleMap, StreetViewPanorama } from '@react-google-maps/api'\nimport { mapContainerStyle } from '../../content/waypointsData'\n\ntype Props = {\n asset: WayPointAsset\n activeSlide: number\n isLoading: boolean\n showPanoTooltip: boolean\n onLoad: (type?: string) => void\n stopRotation: () => void\n panoOpts: any\n}\n\nconst DetailsItem: React.FC = ({ asset, onLoad, showPanoTooltip,\n isLoading, stopRotation, panoOpts }) => {\n const iframeRef = React.createRef()\n const youtubeBaseUrl = process.env.REACT_APP_YOUTUBE\n const vimeoBaseUrl = process.env.REACT_APP_VIMEO\n const context = React.useContext(WebGLContext)\n const assetsMapper = (asset: WayPointAsset): React.ReactElement => {\n switch (asset.mediaType) {\n case MediaTypes.pano:\n return (\n \n onLoad(MediaTypes.pano)}\n />\n \n )\n case MediaTypes.img:\n return (\n onLoad()}\n />\n )\n case MediaTypes.youtube:\n case MediaTypes.vimeo:\n const url = asset.mediaType === MediaTypes.youtube ? youtubeBaseUrl : vimeoBaseUrl\n return (\n onLoad()}\n >\n )\n case MediaTypes.webgl:\n return (\n \n onLoad(MediaTypes.webgl)}\n cameraConfig={asset.cameraConfig}\n />\n {!panoIsRotating &&
\n \n
}\n {panoIsRotating &&
pausePano && pausePano()}>\n \n
}\n
\n )\n\n default:\n return (\n onLoad()}\n />\n )\n }\n }\n\n const handleClick = (e: React.MouseEvent) => {\n const targ = e.target as HTMLDivElement;\n const parentClick = targ.tagName === 'CANVAS'\n\n stopRotation()\n parentClick && pausePano && pausePano()\n }\n\n const { pausePano, playPano, panoIsRotating } = context\n\n return (\n \n \n
handleClick(e)}\n >\n {Object.keys(asset).length !== 0 && assetsMapper(asset)}\n {showPanoTooltip && asset.mediaType === MediaTypes.webgl && pausePano && pausePano()}\n stopRotation={() => stopRotation()}\n />}\n
\n \"loading\n
\n
\n \n
\n )\n}\n\nexport default DetailsItem","import React from 'react'\nimport { CSSTransition } from 'react-transition-group';\n\nimport BaseComponent from '../../common/base-classes/BaseComponent';\nimport { IModalProps } from '../../common/interfaces/IModal';\nimport { MediaTypes } from '../../common/models/Media';\nimport { PanoConfiguration, WayPointAsset } from '../../common/interfaces/IMaps';\nimport toggleModalClasses from '../../common/utils/ToggleModalClasses';\n\nimport DetailsItem from '../gallery/details-item';\n\nimport WebGLContext from '../../context/webgl-context';\nimport { panoOptions } from '../../content/waypointsData';\n\ntype ModalState = {\n activeSlide: number\n captionHeight: number\n showModal: boolean\n slideContent: WayPointAsset\n showPanoTooltip: boolean\n detailsIsLoading: boolean\n activateRotation: boolean\n panoIsRotating: boolean\n panoOpts: PanoConfiguration\n}\n\ninterface ModalProps extends IModalProps {\n content: WayPointAsset[];\n activeSlide: number;\n categories?: Array\n}\n\nclass BuildingDetailsModal extends BaseComponent {\n private timer: any;\n private interval: any\n private captionRef: React.RefObject;\n\n constructor(props: ModalProps) {\n super(props)\n this.captionRef = React.createRef()\n }\n\n getInitialState() {\n return {\n activeSlide: this.props.activeSlide,\n captionHeight: 0,\n showModal: this.props.show,\n slideContent: {} as WayPointAsset,\n showPanoTooltip: false,\n detailsIsLoading: true,\n activateRotation: true,\n panoIsRotating: true\n } as ModalState\n }\n\n componentDidMount() {\n toggleModalClasses().open()\n this.setState({ activeSlide: this.props.activeSlide }, () => {\n this.setCurrentSlide()\n })\n }\n\n componentWillUnmount() {\n toggleModalClasses().close()\n }\n\n getCaptionHeight = () => {\n const caption = this.captionRef.current\n\n setTimeout(() => {\n this.setState({ captionHeight: caption ? caption.clientHeight : 0 })\n }, 10)\n }\n\n slideControls = (type: string): void => {\n const { activeSlide } = this.state;\n const { content } = this.props;\n\n this.setState({\n showPanoTooltip: false,\n detailsIsLoading: true,\n activateRotation: true,\n panoIsRotating: true\n })\n\n if (type === 'next') {\n if (activeSlide + 1 === content.length) {\n this.setState({ activeSlide: 0 }, () => this.setCurrentSlide())\n return\n } else {\n this.setState({ activeSlide: activeSlide + 1 }, () => this.setCurrentSlide())\n }\n }\n\n if (type === 'prev') {\n if (activeSlide - 1 < 0) {\n this.setState({ activeSlide: content.length - 1 }, () => this.setCurrentSlide())\n return\n } else {\n this.setState({ activeSlide: activeSlide - 1 }, () => this.setCurrentSlide())\n }\n }\n }\n\n setCurrentSlide = () => {\n const { activeSlide } = this.state;\n const { content } = this.props;\n this.setState({\n slideContent: content[activeSlide],\n },\n () => {\n if (this.state.slideContent.mediaType === MediaTypes.pano) {\n let options: any = { ...this.state.panoOpts }\n options = {\n pano: this.state.slideContent.panoId,\n ...panoOptions,\n pov: this.state.slideContent.pov\n }\n this.setState({ panoOpts: options },\n () => this.setState({\n showPanoTooltip: true\n }, () =>\n this.timer = setTimeout(() =>\n this.setState({ showPanoTooltip: false })\n , 4000)\n )\n )\n }\n this.getCaptionHeight()\n }\n )\n }\n\n onClose = (): void => {\n this.setState({ showModal: false })\n setTimeout(() => { this.props.onClose() }, 150)\n }\n\n detailsIsLoaded = (mediaType?: string): void => {\n clearTimeout(this.timer);\n\n this.setState({ detailsIsLoading: false })\n \n if (mediaType && mediaType === MediaTypes.webgl) {\n this.setState({ showPanoTooltip: true })\n this.timer = setTimeout(() =>\n this.setState({ showPanoTooltip: false })\n , 5000)\n }\n }\n\n stopRotation = () => {\n clearInterval(this.interval)\n }\n\n playPano = () => this.setState({ panoIsRotating: true })\n pausePano = () => this.setState({ panoIsRotating: false })\n\n render() {\n const { content, categories } = this.props;\n const { activeSlide, captionHeight, showModal, slideContent, panoIsRotating } = this.state\n const { playPano, pausePano, stopRotation } = this\n\n return (\n \n \n
\n
\n
\n
\n this.onClose()}\n >\n Close\n \n \n \n \n \n

{slideContent.title}

\n {slideContent.subtitle !== '' &&
{slideContent.subtitle}
}\n {slideContent.description !== '' &&

{slideContent.description}

}\n
\n\n \n {\n Object.keys(slideContent).length !== 0 &&\n this.detailsIsLoaded(type)}\n stopRotation={() => {\n this.stopRotation()\n this.setState({ showPanoTooltip: false })\n }}\n />\n }\n \n \n

{slideContent.title}

\n {slideContent.subtitle !== '' &&
{slideContent.subtitle}
}\n {slideContent.description !== '' &&

{slideContent.description}

}\n
\n\n
\n this.onClose()}\n >\n Close\n \n \n \n \n \n
    \n
  • \n
    tour categories
    \n

    \n { \n categories ? categories.map((cat, idx) => (\n {cat}{categories.length !== (idx + 1) && ', '}\n )) : slideContent.category\n }\n

    \n
  • \n
\n
\n\n
\n {\n content.length > 1 && \n }\n
\n {activeSlide >= 9 ? '' : '0'}{activeSlide + 1}\n \n {content ? content.length : 0}\n
\n\n {\n content.length > 1 && (\n \n )\n }\n\n
\n
\n\n
\n\n \n \n \n \n
\n
\n )\n }\n}\n\nexport default BuildingDetailsModal\n","import React from 'react'\nimport { NotFound } from '../content/svgIcons'\nimport LoadingService from '../common/utils/LoadingService'\nimport ILoadIndicator from '../common/interfaces/ILoadIndicator';\n\nconst NoMatch = () => {\n const loadIndicator: ILoadIndicator = LoadingService.getInstance();\n\n React.useEffect(() => {\n loadIndicator.notify(false)\n })\n\n return (\n
\n
\n
\n
\n
\n

404

\n

Page not found

\n

The page you are looking for was removed, renamed or might never existed

\n
\n
\n
\n \n
\n
\n
\n
\n )\n}\n\nexport default NoMatch\n","import React from 'react'\n\nimport { MediaTypes } from '../../common/models/Media'\n\nimport { Gallery, View360, Camera } from '../../content/svgIcons'\n\ntype Props = {\n title: string\n categories: string[]\n mediaType: string\n}\n\nconst GalleryItemSubtle: React.FC = ({ title, categories, mediaType }) => {\n\n const iconType = (mediaType: string) => {\n switch (mediaType) {\n case MediaTypes.img:\n return \n case MediaTypes.pano:\n case MediaTypes.webgl:\n return \n case MediaTypes.youtube:\n return \n case MediaTypes.vimeo:\n return \n default:\n return \n }\n }\n\n return (\n
\n
\n
\n

\n {categories && categories.map((cat, idx) => (\n {cat}{categories.length !== (idx + 1) && ', '}\n ))}\n

\n
\n
\n {iconType(mediaType)}\n
\n
\n )\n}\n\nexport default GalleryItemSubtle\n","import React from 'react'\nimport Img from 'react-cool-img'\n\nimport { WayPointAsset } from '../../common/interfaces/IMaps'\nimport { MediaTypes } from '../../common/models/Media'\n\nimport Placeholder from '../../assets/placeholder.png'\n\nimport GalleryItemSubtle from './gallery-item-subtle'\n\ntype Props = {\n assets: WayPointAsset[]\n categories: Array\n onClick: (e: React.MouseEvent, idx: number) => void\n}\n\nconst GalleryItem: React.FC = ({ assets, onClick, categories }) => {\n const assetsMapper = (asset: WayPointAsset): React.ReactElement => {\n switch (asset.mediaType) {\n case MediaTypes.img:\n case MediaTypes.webgl:\n return (\n \n )\n case MediaTypes.youtube:\n case MediaTypes.vimeo:\n case MediaTypes.pano:\n return (\n \n )\n default:\n return (\n \n )\n }\n }\n\n return (\n \n {\n assets.map((asset, idx: number) => (\n
\n onClick(e, idx)}\n >\n {assetsMapper(asset)}\n \n \n
\n )\n )\n }\n
\n )\n}\n\nexport default GalleryItem\n","export default class DataService {\n protected headers: HeadersInit = { \"Content-Type\": \"application/json\" }\n\n async fetch(\n url: string,\n method: string = \"GET\",\n body: any = null,\n ): Promise {\n\n let options: any = {\n method: method,\n }\n\n if (method !== \"GET\") {\n options.body = body\n }\n\n try {\n const response = await fetch(url, options);\n return response\n } catch (error) {\n throw new Error(error)\n }\n }\n}","import { RelatedPoint, WayPointAsset } from './../interfaces/IMaps';\nimport { MediaTypes } from '../models/Media';\nimport DataService from './data-service';\n\ntype IMediaSrc = {\n imageName?: string\n thumbNail?: string\n}\n\nclass ThumbnailsService {\n\n private svc = new DataService();\n\n handleType = (asset: WayPointAsset | RelatedPoint, basePath?: string, queryParam?: string): IMediaSrc => {\n switch (asset.mediaType) {\n case MediaTypes.img:\n case MediaTypes.webgl:\n const body = {} as IMediaSrc\n asset.thumbNail\n ?\n (body.thumbNail = (asset.ignoreBasePath ? \"\" : basePath as string) + asset.thumbNail)\n :\n (body.thumbNail = (asset.ignoreBasePath ? \"\" : basePath as string) + asset.imageName)\n body.imageName = (asset.ignoreBasePath ? \"\" : basePath as string) + asset.imageName\n return body\n case MediaTypes.pano:\n return {\n thumbNail: `https://maps.googleapis.com/maps/api/streetview?${queryParam || ''}&pano=${asset?.panoId || ''}&key=${process.env.REACT_APP_MAP_KEY}`,\n }\n case MediaTypes.youtube:\n return {\n thumbNail: `https://img.youtube.com/vi/${asset?.videoUrl || ''}/hqdefault.jpg`\n }\n default:\n return {\n imageName: '',\n thumbNail: ''\n };\n }\n }\n}\n\nexport default ThumbnailsService","export const getQueryParams = (props: any, keyName: string) => {\n let queryParams = new URLSearchParams(props.location.search)\n const param = queryParams.get(keyName)\n return param\n}\n","import React from \"react\"\nimport BaseComponent from \"../common/base-classes/BaseComponent\"\nimport Masonry from \"react-masonry-component\"\nimport BuildingDetailsModal from \"../components/modals/building-details-modal\"\nimport InfiniteScroll from \"react-infinite-scroll-component\"\nimport NoMatch from \"./NoMatch\";\nimport GalleryItem from \"../components/gallery/gallery-item\";\nimport * as H from 'history';\n\nimport waypointsData from '../content/waypointsData'\nimport buildingsData from '../content/buildingsData'\nimport { flyMenuData } from '../content/menuData'\nimport { IFlyMenu, MenuItem, Categories } from \"../common/models/Category\"\nimport { WayPointAsset, WayPointBody, StreetView } from \"../common/interfaces/IMaps\";\nimport { IMatch } from \"../common/interfaces/IProps\"\nimport { BuildingTourKeys } from \"../common/models/WayPoints\"\nimport { LoadScript } from \"@react-google-maps/api\"\nimport ThumbnailsService from \"../common/services/thumbnails-service\"\nimport { getQueryParams } from \"../common/utils/QueryParams\"\n\ntype GalleryState = {\n show: boolean\n galleryItems: WayPointAsset[]\n data: WayPointAsset[]\n showGallery: boolean;\n showLoader: boolean;\n hasMore: boolean;\n title: string;\n description: string;\n imagesLoaded: boolean;\n clickedImgIndx: number\n categories: Array;\n pageTexts: MenuItem;\n notFound: boolean\n}\n\ntype GalleryProps = {\n match: IMatch\n history: H.History;\n}\n\nclass Gallery extends BaseComponent {\n private thumbSvc = new ThumbnailsService()\n\n getInitialState() {\n return {\n galleryItems: [] as WayPointAsset[],\n show: false,\n showGallery: false,\n showLoader: false,\n hasMore: false,\n title: '',\n description: '',\n data: [],\n imagesLoaded: false,\n clickedImgIndx: 0,\n categories: [],\n pageTexts: {} as MenuItem,\n notFound: false,\n } as GalleryState\n }\n\n componentDidMount() {\n const { params, url } = this.props.match\n\n this.filterByCategory(params.slug as string, url)\n }\n\n UNSAFE_componentWillReceiveProps(props: GalleryProps) {\n if (this.props.match.params.slug !== props.match.params.slug) {\n const { params, url } = props.match\n window.scroll(0, 0)\n\n this.filterByCategory(params.slug as string, url)\n }\n }\n\n filterByCategory = (slug: string, url: string) => {\n this.setState({ showGallery: false })\n this.showLoading(true)\n\n let pageTexts: MenuItem | undefined;\n const waypoints = JSON.parse(JSON.stringify(waypointsData)) as StreetView\n const buildings = JSON.parse(JSON.stringify(buildingsData)) as StreetView\n let images: WayPointAsset[] = []\n const isBuildingPage = url.includes('buildings') ? true : (url.includes('your-path') ? false : true)\n\n for (let [, value] of Object.entries(flyMenuData as IFlyMenu)) {\n pageTexts === undefined && (\n pageTexts = value.menuItems.find(cat => cat.slug === slug) as MenuItem\n )\n }\n\n if (!pageTexts) {\n this.setState({ notFound: true })\n this.showLoading(false)\n return\n }\n\n console.log('pageTexts', pageTexts)\n\n this.setState({ pageTexts: pageTexts as MenuItem, notFound: false })\n\n const updImgPath = (waypoint: WayPointBody) => {\n const item = JSON.parse(JSON.stringify(waypoint)) as WayPointBody\n const assets = item.assets ? item.assets : item.panoMarkers as WayPointAsset[];\n const imgsWithPath = assets\n .filter(asset => !asset.ignoreBasePath)\n .map(asset => {\n asset.thumbNail = this.thumbSvc.handleType(asset, item.basePath).thumbNail\n asset.imageName = this.thumbSvc.handleType(asset, item.basePath).imageName\n return asset\n })\n\n images = [...images, ...imgsWithPath]\n\n if (!isBuildingPage) {\n images = images.filter(img => \n (!img.category || img.category === [pageTexts?.title][0]) && img\n )\n }\n }\n\n if (!isBuildingPage) {\n this.setState({ categories: [pageTexts.title] })\n\n const assets = { ...waypoints, ...buildings }\n for (let [, item] of Object.entries(assets)) {\n if (item.category?.includes(pageTexts?.categoryName as string)) {\n updImgPath(item)\n }\n }\n }\n\n // TODO: Refactor logic matching and searching related buildings\n if (url.includes('buildings') && !url.includes(BuildingTourKeys.artsCenter) && !url.includes(BuildingTourKeys.athletics)) {\n this.setState({ categories: buildingsData[slug].category })\n updImgPath(buildingsData[slug])\n }\n\n const isArtsCenter = url.includes(BuildingTourKeys.artsCenter);\n const isAthletics = url.includes(BuildingTourKeys.athletics);\n\n const setArtsAndAthleticItems = (categories: string[]): void => {\n for (let [, item] of Object.entries(buildings)) {\n categories\n .some(cat => item.category.includes(cat)) && \n updImgPath(item)\n }\n this.setState({ categories })\n }\n\n isArtsCenter && setArtsAndAthleticItems([Categories.visualAndArts])\n\n isAthletics && setArtsAndAthleticItems([Categories.sport])\n\n this.setState({\n title: pageTexts?.title as string,\n description: pageTexts?.description as string,\n galleryItems: Array.from(images.slice(0, 9)),\n data: images\n }, () => {\n this.handleQueryParamas()\n const allItemsLength = this.state.data.length\n const shownItemsLength = this.state.galleryItems.length\n allItemsLength !== shownItemsLength ? this.setState({ hasMore: true }, () => document.querySelector('.infinite-scroll-component__outerdiv')?.classList.remove('noMoreItems'))\n : this.setState({ hasMore: false }, () => document.querySelector('.infinite-scroll-component__outerdiv')?.classList.add('noMoreItems'))\n this.showLoading(false)\n })\n }\n\n handleQueryParamas = () => {\n const param = getQueryParams(this.props, 'item')\n if (param) {\n const res = this.state.data.findIndex(image => image?.thumbNail?.includes(param))\n this.setState({ clickedImgIndx: res, show: true })\n return param\n }\n }\n\n handleDetails = (e: React.MouseEvent | null, idx?: number) => {\n const { show } = this.state\n\n e !== null && e.preventDefault()\n const param = getQueryParams(this.props, 'item');\n\n if (param) {\n this.props.history.goBack()\n }\n\n this.setState({\n clickedImgIndx: idx as number,\n show: !show\n })\n }\n\n handleImagesLoaded = () => {\n const { showGallery } = this.state;\n !showGallery && setTimeout(() =>\n this.setState({ showGallery: true, imagesLoaded: true })\n , 100)\n }\n\n loadMore = () => {\n const { galleryItems, data } = this.state;\n this.setState({ showLoader: true })\n const size = galleryItems.length\n const items = Array.from(data.slice(size, size + 9))\n\n size !== data.length ? (\n this.setState({\n ...this.state,\n galleryItems: [...this.state.galleryItems, ...items],\n }, () => this.setState({ showLoader: false, hasMore: true }))\n ) : this.setState({ hasMore: false }, () => document.querySelector('.infinite-scroll-component__outerdiv')?.classList.add('noMoreItems'))\n }\n\n render() {\n const { show, galleryItems, showGallery, showLoader, hasMore, title, description, data, clickedImgIndx, categories, notFound } = this.state\n\n return (\n \n \n {\n !notFound ? (\n
\n
\n

\n {description !== '' &&

{description}

}\n
\n {galleryItems.length !== 0 ?\n this.loadMore()}\n hasMore={hasMore}\n loader={\n Loading.....\n }\n className={`${showGallery && 'show'}`}\n >\n
\n Scroll Down\n
\n this.handleImagesLoaded()}\n options={{\n initLayout: true,\n transitionDuration: 100,\n }}\n >\n this.handleDetails(ev, idx)}\n categories={categories}\n />\n \n \n :

Images Not found

\n }\n\n {show && (\n this.handleDetails(null)}\n content={data}\n activeSlide={clickedImgIndx}\n categories={categories}\n />\n )}\n
\n ) : \n }\n
\n
\n )\n }\n}\n\nexport default Gallery\n","import React, { useCallback, useState } from 'react'\nimport { IModalProps } from '../../common/interfaces/IModal'\nimport LoadingIcon from '../../assets/loader.gif'\nimport { CSSTransition } from 'react-transition-group'\nimport { WayPointAsset } from '../../common/interfaces/IMaps'\nimport { MediaTypes } from '../../common/models/Media'\nimport WebglPanorama from '../webgl-panorama/webgl-panorama'\nimport PanoHelper from '../gallery/pano-details-helper'\nimport WebGLContext from '../../context/webgl-context'\n\ninterface IProps extends IModalProps {\n basePath: string\n data: WayPointAsset\n}\n\nconst MarkerModal: React.SFC = ({ show, onClose, data, basePath }) => {\n const nodeRef = React.useRef(null);\n\n const [imageVisibility, setVisibility] = React.useState(false)\n\n const [showModal, setModal] = React.useState(false)\n\n const youtubeBaseUrl = process.env.REACT_APP_YOUTUBE\n const vimeoBaseUrl = process.env.REACT_APP_VIMEO\n const videoUrl = data.mediaType === MediaTypes.youtube ? youtubeBaseUrl : vimeoBaseUrl\n\n let timer: ReturnType;\n const [panoIsRotating, setPanoRotation] = useState(true)\n const [showPanoHelper, setShowPanoHelper] = useState(false)\n\n const stopRotation = () => {\n setShowPanoHelper(false)\n setPanoRotation(false)\n }\n const playPano = () => setPanoRotation(true)\n const pausePano = () => setPanoRotation(false)\n \n const panoIsLoaded = (): void => {\n setVisibility(true)\n clearTimeout(timer);\n setShowPanoHelper(true)\n timer = setTimeout(() => {\n setShowPanoHelper(false)\n } , 5000)\n }\n\n const handleClose = useCallback(\n () => {\n setModal(false)\n setTimeout(() => { onClose() }, 150)\n },\n [onClose],\n )\n\n const handleOutsideClick = useCallback(\n (e: any) => \n (nodeRef.current && nodeRef.current === e.target)\n && handleClose()\n ,\n [handleClose],\n )\n\n const handlePanoClick = (e: React.MouseEvent) => {\n const targ = e.target as HTMLDivElement;\n const parentClick = targ.tagName === 'CANVAS'\n\n stopRotation()\n parentClick && pausePano()\n }\n\n React.useEffect(() => {\n setModal(show)\n document.addEventListener('click', (e) => handleOutsideClick(e), false)\n return document.removeEventListener('click', (e) => handleOutsideClick(e), false)\n }, [show, handleOutsideClick])\n\n const renderMedia = (mediaType: string) => {\n switch (mediaType) {\n case MediaTypes.img:\n return setVisibility(true)}\n className={`${imageVisibility ? 'show' : 'loadig'}`}\n src={require(`../../assets/${!data.ignoreBasePath ? basePath : ''}${data.imageName}`)}\n alt={data.title}\n />\n case MediaTypes.youtube:\n case MediaTypes.vimeo:\n return setVisibility(true)}\n allowFullScreen>\n case MediaTypes.webgl:\n return (\n \n
handlePanoClick(e)}>\n panoIsLoaded()}\n cameraConfig={data.cameraConfig}\n />\n {imageVisibility && showPanoHelper && pausePano()} stopRotation={() => stopRotation()}/>}\n
\n
\n )\n default:\n return null;\n }\n }\n\n const lgModalClass = (mediaType: string) => mediaType === MediaTypes.webgl ? 'modal-large' : ''\n\n return (\n \n \n \n
\n
\n\n
\n
\n
{data?.title}
\n handleClose()}\n >\n \n \n \n \n
\n
\n \"loading\n
\n { renderMedia(data.mediaType) }\n {data?.description &&

{data?.description}

}\n
\n\n
\n
\n \n \n
\n
\n )\n}\n\nexport default MarkerModal\n","import React from \"react\";\nimport ControlsIcon from \"../../assets/pano/nextDestination.png\";\n\ntype Props = {\n type: string;\n handleClick: (activeDest: string) => void;\n activeDest: string;\n show: boolean\n};\n\nconst DestinationControls: React.FC = ({\n handleClick,\n type,\n activeDest,\n show\n}) => {\n const [shouldRender, setRender] = React.useState(show);\n\n React.useEffect(() => {\n if (show) setRender(true);\n }, [show]);\n\n const onAnimationEnd = () => {\n if (!show) setRender(false);\n };\n\n return (\n shouldRender ? (\n \n handleClick(activeDest)}\n >\n

\n {type === \"next\" ? \"Next Destination\" : \"Prev Destination\"}\n

\n \"Destination\n \n \n ) : null\n );\n};\n\nexport default DestinationControls;\n","import React from 'react'\nimport { StreetViewPanorama, GoogleMap, LoadScript, Marker } from '@react-google-maps/api';\n\nimport BaseComponent from '../../common/base-classes/BaseComponent';\nimport { DefaultCenter, MapsContainerStyle, StreetView, PanoConfigurationPov, PanoConfiguration, WayPointAsset, CameraConfig } from '../../common/interfaces/IMaps';\n\nimport PanoMarker from '../../assets/pano/panoMarker.png'\n\nimport MarkerModal from '../modals/marker-modal';\nimport DestinationControls from './destination-controls';\nimport WebglPanorama from '../webgl-panorama/webgl-panorama';\n\nimport { mapContainerStyle, panoOptions } from '../../content/waypointsData';\nimport MenuContext from '../../context/menu-context';\nimport HotspotsContext from '../../context/hotspots-context';\nimport WebGLContext from '../../context/webgl-context';\n\ntype StreetViewState = {\n mapContainerStyle: MapsContainerStyle\n options: PanoConfiguration\n center: DefaultCenter\n showModal: boolean;\n showOverlayItems: boolean;\n panoImage: string;\n cameraConfig: CameraConfig | undefined\n markers: WayPointAsset[]\n modalData: WayPointAsset;\n imgBasePath: string\n}\n\ntype StreetViewProps = {\n activeDestination: string\n title?: string;\n autoRotation: boolean\n data: StreetView\n show?: boolean;\n showTitle?: boolean;\n showNext?: boolean\n showPrev?: boolean\n handleNextDest?: (activeDestination?: string) => void\n handlePrevDest?: (activeDestination?: string) => void\n handlePanoClick?: () => void\n activeIndx?: number\n}\n\nclass SreetViewPano extends BaseComponent {\n\n private intervalId: any;\n static contextType = MenuContext\n\n getInitialState() {\n return {\n mapContainerStyle: mapContainerStyle,\n options: {} as PanoConfiguration,\n center: {} as DefaultCenter,\n showModal: false,\n showOverlayItems: false,\n panoImage: '',\n imgBasePath: '',\n markers: [] as WayPointAsset[],\n modalData: {} as WayPointAsset,\n cameraConfig: undefined\n } as StreetViewState\n }\n\n componentDidMount() {\n this.showLoading(true);\n this.initStreetView(this.props)\n }\n\n UNSAFE_componentWillReceiveProps(props: StreetViewProps) {\n if (this.props.activeDestination !== props.activeDestination) {\n this.initStreetView(props)\n }\n }\n\n panoRotation = (rotate: boolean) => {\n const { activeIndx } = this.props;\n\n (activeIndx === 0 && rotate) ? setTimeout(() => {\n this.intervalId = setInterval(() => {\n if (this.state.showOverlayItems) {\n let options = { ...this.state.options }\n options = {\n lat: options.lat,\n lng: options.lng,\n pov: {\n ...options.pov,\n heading: options.pov.heading + 0.2,\n }\n }\n this.setState({ options: options })\n }\n }, 100)\n }, 1500) : this.stopRotation()\n }\n\n stopRotation = () => {\n const { handlePanoClick } = this.props\n\n handlePanoClick && handlePanoClick()\n clearInterval(this.intervalId)\n }\n\n initStreetView = (props: StreetViewProps) => {\n const { data, activeDestination } = props;\n\n if (data[activeDestination].panoConfiguration) {\n const center = {\n lat: data[activeDestination].panoConfiguration?.lat as number,\n lng: data[activeDestination].panoConfiguration?.lng as number\n }\n const pov = data[activeDestination].panoConfiguration?.pov as PanoConfigurationPov\n const optionsObj: any = {\n ...panoOptions,\n ...{ position: center },\n ...{ pov: pov }\n }\n\n this.setState({\n options: optionsObj,\n center: center,\n })\n }\n\n this.panoRotation(props.autoRotation)\n\n const hotspots = data[activeDestination].panoMarkers\n\n this.setState({ markers: hotspots ? hotspots : [] as WayPointAsset[] })\n\n if (data[activeDestination].panoImage) {\n this.setState({ \n panoImage: data[activeDestination].basePath + data[activeDestination].panoImage as string,\n cameraConfig: data[activeDestination].cameraConfig\n }, () => {\n this.setState({ showOverlayItems: true })\n })\n } else { this.setState({ panoImage: '' }) }\n }\n\n handleModal = (state: boolean, hotspot?: WayPointAsset) => {\n const { data } = this.props\n const { activeDestination } = this.props\n\n this.setState({\n showModal: state,\n imgBasePath: data[activeDestination].basePath,\n modalData: hotspot ? hotspot : {} as WayPointAsset\n })\n }\n\n handleClickControls = (activeDest: string, type: string) => {\n const { handleNextDest, handlePrevDest } = this.props;\n\n type === 'prev' ? (\n handlePrevDest && handlePrevDest(activeDest)\n ) : (\n handleNextDest && handleNextDest(activeDest)\n )\n }\n\n panoLoaded = () => {\n this.setState({ showOverlayItems: true }, () => {\n this.showLoading(false)\n })\n }\n\n render() {\n const { mapContainerStyle, options, center, showModal, showOverlayItems, panoImage, markers, modalData, cameraConfig } = this.state\n const { showNext, data, activeDestination, showPrev, autoRotation, show } = this.props;\n const { handleModal } = this\n return (\n \n {\n autoRotation &&\n this.stopRotation()}\n className=\"welcome-overlay position-absolute w-100 h-100\"\n >\n \n }\n\n \n {\n showOverlayItems && (\n \n \n

{data[activeDestination].title}

\n \n this.handleClickControls(activeDestination, \"prev\")}\n />\n this.handleClickControls(activeDestination, \"next\")}\n />\n
\n )\n }\n {\n panoImage !== '' ?\n (\n \n \n this.showLoading(false)}\n />\n \n \n )\n : (\n \n this.panoLoaded()}\n options={options}\n />\n {\n markers && markers.map((marker, idx) =>\n handleModal(true, marker)}\n />\n )\n }\n \n )}\n
\n {showModal && (\n handleModal(false)}\n data={modalData}\n basePath={this.state.imgBasePath}\n />\n )}\n \n )\n }\n}\n\nexport default SreetViewPano","export const carouselSettings = (slidesToShowInit?: number) => ({\n dots: false,\n arrows: false,\n infinite: true,\n slidesToShow: slidesToShowInit ? slidesToShowInit : 3,\n slidesToScroll: 1,\n className: \"relatedPoints__carousel\",\n draggable: false,\n responsive: [\n {\n breakpoint: 1199,\n settings: {\n slidesToShow: 2,\n },\n },\n {\n breakpoint: 767,\n settings: {\n slidesToShow: 2,\n centerMode: true,\n centerPadding: '10%',\n }\n },\n {\n breakpoint: 575,\n settings: {\n slidesToShow: 1,\n centerMode: true,\n centerPadding: '13%',\n },\n },\n ],\n});\n\nexport default carouselSettings","import React from 'react'\nimport Img from 'react-cool-img'\nimport Placeholder from \"../../assets/placeholder.png\";\nimport { WayPointAsset, RelatedPoint } from '../../common/interfaces/IMaps'\nimport { MediaTypes } from '../../common/models/Media';\nimport ThumbnailsService from '../../common/services/thumbnails-service';\n\ntype Props = {\n relatedPoint: WayPointAsset | RelatedPoint\n onClick: () => void\n}\n\nconst RelatedPointsSlide: React.FC = ({ relatedPoint, onClick }) => {\n const renderImagePath = () => {\n const svc = new ThumbnailsService();\n let src = '';\n\n if (relatedPoint.mediaType === MediaTypes.pano) {\n src = svc.handleType(relatedPoint, undefined, relatedPoint.googlePanoImgLink).thumbNail || ''\n } else {\n src = relatedPoint.thumbNail ?\n ( relatedPoint.ignoreBasePath ? require(`../../assets/${relatedPoint.thumbNail}`) :\n relatedPoint.thumbNail) : require(`../../assets/${relatedPoint.imageName}`)\n }\n\n return src\n }\n\n return onClick()}\n >\n
{relatedPoint.title}
\n

{relatedPoint.description}

\n \n \n}\n\nexport default RelatedPointsSlide\n","import React from \"react\";\nimport Slider, { Settings } from \"react-slick\";\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\n\nimport BaseComponent from \"../../common/base-classes/BaseComponent\";\nimport ThumbnailsService from \"../../common/services/thumbnails-service\";\n\nimport {\n StreetView,\n WayPointAsset,\n RelatedPoint,\n} from \"../../common/interfaces/IMaps\";\n\nimport BuildingDetailsModal from \"../modals/building-details-modal\";\n\nimport Arrow from \"../../assets/pano/nextDestination.png\";\n\nimport carouselSettings from \"./related-points-settings\";\nimport RelatedPointsSlide from \"./related-points-slide\";\n\ninterface IRelatedPointsProps extends RouteComponentProps {\n data: StreetView;\n activeDestination: string;\n};\n\ntype RelatedPointsState = {\n relatedPoints: (WayPointAsset | RelatedPoint)[] ;\n showControls: boolean;\n showDetailsModal: boolean\n clickedImgIndx: number\n};\n\nclass RelatedPoints extends BaseComponent<\n IRelatedPointsProps,\n RelatedPointsState\n > {\n private slider: Slider;\n private settings: Settings;\n private svc = new ThumbnailsService();\n\n constructor(props: IRelatedPointsProps) {\n super(props);\n this.settings = carouselSettings(this.props.data[props.activeDestination]?.relatedPoints?.length as number || 3)\n this.slider = new Slider(this.settings);\n }\n\n getInitialState() {\n return {\n relatedPoints: [] as WayPointAsset[],\n showControls: false,\n showDetailsModal: false,\n clickedImgIndx: 0\n } as RelatedPointsState;\n }\n\n componentDidMount() {\n this.setRelatedPoints(this.props);\n }\n\n componentWillReceiveProps(props: IRelatedPointsProps) {\n if (this.props.activeDestination !== props.activeDestination) {\n this.settings = carouselSettings(this.props.data[props.activeDestination]?.relatedPoints?.length as number || 3);\n this.setRelatedPoints(props);\n }\n }\n\n setRelatedPoints = (props: IRelatedPointsProps): void => {\n const { data } = props;\n const activeDest = data[props.activeDestination]\n let relatedPoints = activeDest.relatedPoints;\n if (relatedPoints) {\n relatedPoints = relatedPoints.map((point) => {\n const key = point.wayPointKey;\n const num = point.hotspotNum\n let panoMarker = {} as WayPointAsset;\n\n if (key && num) {\n const panoMarkers = JSON.parse(\n JSON.stringify(data[key].panoMarkers as WayPointAsset[])\n );\n\n panoMarkers && (panoMarker = panoMarkers[num - 1]);\n if (panoMarker?.ignoreBasePath) return panoMarker;\n\n panoMarker.imageName &&\n (panoMarker.imageName = data[key].basePath + panoMarker.imageName);\n\n panoMarker.videoUrl &&\n (panoMarker.thumbNail = this.svc.handleType(panoMarker).thumbNail);\n\n panoMarker.category = activeDest.category.join(', ')\n\n return panoMarker;\n } else {\n if (point.ignoreBasePath) {\n return point\n } else {\n if (point.imageName?.includes(activeDest.basePath)) { return point }\n point.imageName =\n activeDest.basePath + point.imageName;\n \n point.category = activeDest.category.join(', ')\n \n return point;\n }\n }\n });\n }\n\n this.setState({\n showControls: (relatedPoints && relatedPoints.length < 3) ? \n false : \n true,\n relatedPoints: relatedPoints ? relatedPoints : ([] as WayPointAsset[])\n });\n };\n\n handleModal = (show: boolean, idx?: number): void => {\n idx !== undefined ? \n this.setState({ clickedImgIndx: idx }, () => this.setState({ showDetailsModal: show })) :\n this.setState({ showDetailsModal: show })\n }\n\n render() {\n const { relatedPoints, showControls, showDetailsModal, clickedImgIndx } = this.state;\n\n return (\n \n \n

\n Related Points of interest\n

\n\n
\n

\n Related Points of interest\n

\n {showControls && (\n
\n this.slider.slickPrev()}\n className=\"btn btn-transparent btn-prev btn-controls mr-2 text-white p-0\"\n >\n \"Prev\n \n this.slider.slickNext()}\n className=\"btn btn-transparent btn-next btn-controls text-white p-0\"\n >\n \"Next\n \n
\n )}\n
\n (this.slider = c as Slider)}\n >\n {\n relatedPoints.length !== 0 && relatedPoints.map((point: WayPointAsset | RelatedPoint, idx: number) => \n this.handleModal(true, idx)}\n />\n )\n }\n \n \n {\n showDetailsModal && \n this.handleModal(false)}\n content={relatedPoints as WayPointAsset[]}\n activeSlide={clickedImgIndx}\n />\n }\n
\n );\n }\n}\n\nexport default withRouter(RelatedPoints);\n","import React from 'react'\nimport * as H from 'history';\n\nimport BaseComponent from '../common/base-classes/BaseComponent'\nimport SreetViewPano from '../components/street-view/street-view'\nimport RelatedPoints from '../components/related-points/related-points';\nimport ActionBtns from '../components/action-btns/action-btns';\nimport NoMatch from './NoMatch';\n\nimport { campusTourPoints } from '../common/models/WayPoints';\nimport { syncLastDest } from '../common/utils/StoreLastDestination';\nimport { getQueryParams } from '../common/utils/QueryParams';\nimport { IMatch } from '../common/interfaces/IProps';\n\nimport JumpTo from '../assets/google_jump.png'\nimport data from '../content/waypointsData'\n\ntype CampusTourState = {\n panoSlug: string\n activeDestIndx: number\n showNext: boolean,\n showPrev: boolean,\n showCaption: boolean\n autoRotation: boolean\n dataIsReady: boolean\n notFound: boolean\n}\n\ntype CampusTourProps = {\n match: IMatch\n history: H.History;\n}\n\nexport default class CampusTour extends BaseComponent {\n\n getInitialState() {\n return {\n panoSlug: '',\n showNext: true,\n showPrev: false,\n activeDestIndx: 0,\n notFound: false,\n showCaption: true,\n autoRotation: false,\n dataIsReady: false,\n } as CampusTourState\n }\n\n componentDidMount() {\n const { params } = this.props.match\n\n this.setActiveDestination(params.slug as string)\n }\n\n UNSAFE_componentWillReceiveProps(props: CampusTourProps) {\n const { params } = props.match\n\n if (params.slug !== this.props.match.params.slug) {\n this.setActiveDestination(params.slug as string)\n }\n }\n \n setActiveDestination = (slug: string): void => {\n const { params } = this.props.match\n\n syncLastDest.store('activeDestination', params.slug as string);\n\n this.setState({\n panoSlug: slug,\n activeDestIndx: this.findDestIndx(slug),\n dataIsReady: false,\n notFound: this.findDestIndx(slug) === -1 ? true : false,\n }, () => {\n this.controlsState()\n this.handleIntro(this.state.activeDestIndx)\n })\n }\n\n handleIntro = (activeDestIndx: number): void => {\n const param = getQueryParams(this.props, 'intro')\n const { history } = this.props\n const pathName = history.location.pathname;\n\n if (Boolean(param)) {\n this.setState({ autoRotation: activeDestIndx === 0 ? true : false });\n } else {\n this.stopRotation()\n }\n\n history.replace(pathName)\n\n this.setState({ dataIsReady: true })\n }\n\n findDestIndx = (slug: string): number => campusTourPoints.findIndex(point => point.slug === slug)\n\n showPrevControls = (): boolean => this.state.activeDestIndx === 0\n\n showNextControls = (): boolean => this.state.activeDestIndx === (campusTourPoints.length - 1)\n\n changeDest = (type: string): void => {\n const { activeDestIndx } = this.state;\n const checkDirection = (idx: number) => type === 'next' ? idx + 1 : idx - 1\n\n this.setState({ activeDestIndx: checkDirection(activeDestIndx) }, () => {\n this.controlsState()\n this.setState({\n panoSlug: campusTourPoints[this.state.activeDestIndx].slug,\n },\n () => {\n this.updUrl(this.state.panoSlug)\n this.handleIntro(this.state.activeDestIndx)\n })\n })\n }\n\n updUrl = (slug: string): void => {\n const { history } = this.props\n\n history.push(`/campus-tour/${slug}`)\n }\n\n controlsState = (): void => (\n this.setState({\n showPrev: !this.showPrevControls(),\n showNext: !this.showNextControls()\n })\n )\n\n stopRotation = (): void => {\n const { activeDestIndx } = this.state\n\n activeDestIndx === 0 && this.setState({ showNext: true })\n this.setState({ autoRotation: false })\n }\n\n render() {\n\n const { panoSlug, showNext, showPrev, notFound, autoRotation, activeDestIndx, dataIsReady } = this.state\n\n return (\n \n {\n !notFound ? (\n \n \n {\n dataIsReady && (\n this.changeDest('next')}\n handlePrevDest={() => this.changeDest('prev')}\n autoRotation={autoRotation}\n handlePanoClick={() => this.stopRotation()}\n activeIndx={activeDestIndx}\n show={dataIsReady}\n />\n )\n }\n {\n (panoSlug !== '' && !autoRotation) &&\n \n }\n
\n

\n Welcome to 91ÖØ¿Ú\n
—choose your path…\n

\n
\n \"Start\n Start your tour\n
\n
\n
\n ) : \n }\n
\n )\n }\n}\n","import React from 'react';\nimport { HashRouter as Router, Switch, Route, Redirect } from 'react-router-dom';\n\nimport Layout from './components/common/layout/layout';\nimport Loader from './components/loader/loader';\n\nimport { CampusTourKeys } from './common/models/WayPoints';\nimport BaseComponent from './common/base-classes/BaseComponent';\n\nimport Wayfinding from './pages/Wayfinding';\nimport Gallery from './pages/Gallery';\nimport CampusTour from './pages/CampusTour';\nimport NoMatch from './pages/NoMatch';\n\ntype AppState = {\n showLoader: boolean\n}\n\ntype AppProps = {}\n\nclass App extends BaseComponent {\n\n constructor(props: AppProps) {\n super(props)\n\n this.state = {\n showLoader: false,\n } as AppState;\n }\n\n componentDidMount() {\n this.loadIndicator.subscribe((visible: boolean) => this.setState({ showLoader: visible }));\n }\n\n render() {\n const { showLoader } = this.state\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {showLoader && Loader(showLoader)}\n \n );\n }\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './map.css';\nimport './index.scss';\nimport App from './App';\nimport { BrowserRouter } from 'react-router-dom';\nimport * as serviceWorker from './serviceWorker';\nimport TagManager from \"react-gtm-module\";\n\nconst tagManagerArgs = {\n gtmId: process.env.REACT_APP_GTM_ID!,\n};\n\nTagManager.initialize(tagManagerArgs);\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}