{"version":3,"sources":["Framework/hooks.ts","Framework/Login/LoginView.tsx","Framework/Login/LoginInterface.ts","Framework/Login/LoginSlice.tsx","Framework/Login/images/network_error.png","Framework/Login/LoginContainer.tsx","redux/Enums.ts","components/DisableView.tsx","Framework/FPAppBar/HideOnScroll.tsx","Framework/FPAppBar/FPAppbar.tsx","images/jamhawbannerpure.gif","images/drinkaware.png","components/AboutUs.tsx","images/drinks_list_2.png","images/gif/kramer.gif","images/gif/woman1.gif","images/gif/woman2.gif","images/gif/woman3.gif","images/gif/rogen.gif","images/gif/murray.gif","images/gif/belusci.gif","images/gif/peg.gif","images/gif/monica.gif","components/Drinks.tsx","images/carlton.gif","images/studio.jpg","images/lounge.jpg","images/dolby.jpg","images/cave.jpg","images/outdoor.jpg","components/Music.tsx","components/Faq.tsx","components/PictureViewerX.tsx","components/Picture.tsx","components/gallery/Gallery2022.ts","components/gallery/Gallery2021.ts","components/gallery/Gallery2019.ts","components/gallery/Gallery2018.ts","components/gallery/Gallery2017.ts","components/gallery/Gallery2016.ts","components/gallery/Gallery2015.ts","components/gallery/Gallery2014.ts","components/gallery/Gallery2013.ts","components/Video.tsx","components/PictureViewer.tsx","components/views.ts","redux/SessionSlice.tsx","components/MainLibrary.tsx","components/Bar.tsx","components/gallery/GalleryBar.ts","components/Food.tsx","components/gallery/GalleryFood.ts","components/Karaoke.tsx","components/gallery/GalleryKaraoke.ts","redux/JamHawInterface.ts","components/Props.tsx","components/gallery/GalleryMAST.ts","components/gallery/GalleryCANNONS.ts","components/gallery/GalleryRIGGING.ts","components/gallery/GalleryCROWS_NEST.ts","components/gallery/GalleryWHEEL.ts","components/gallery/GalleryCPT_CORNER.ts","components/gallery/GallerySHIP.ts","images/t-shirts.png","images/t-shirts-small.png","Framework/AxiosHelper/AxiosHelper.ts","redux/JamHawSlice.ts","components/Merchandise.tsx","components/RSVP.tsx","components/Login.tsx","components/GDPR.tsx","components/Views/TOO/Tools.jsx","components/Status.tsx","Framework/MagnoGrid/MagnoGrid.tsx","components/MainContainer.tsx","components/AttendeeList.tsx","images/fb.png","images/mail.png","images/whatsapp.png","App.jsx","redux/MediaSlice.tsx","store.tsx","index.js"],"names":["useAppDispatch","useDispatch","useSelector","makeStyles","theme","paper","display","flexDirection","alignItems","avatar","margin","spacing","backgroundColor","green","color","red","form","width","marginTop","select","selectEmpty","submit","systemDev","fontSize","textAlign","border","systemLive","version","ELoadingStatus","URL","process","getSystemsThunk","createAsyncThunk","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_","thunkAPI","response","str","wrap","_context","prev","next","axios","get","sent","data","Table","abrupt","t0","String","ExceptionMessage","split","rejectWithValue","stop","_x","_x2","apply","arguments","getApplicationsThunk","_ref2","_callee2","system_name","payLoad","_context2","app_name","running_version","post","JSON","stringify","_x3","_x4","getRoleSupervisorsThunk","_ref3","_callee3","props","_context3","role","_x5","_x6","getRoleUsersThunk","_ref4","_callee4","_context4","_x7","_x8","getValidatesThunk","_ref5","_callee5","_context5","defaults","headers","common","Authorization","Buffer","from","user","password","toString","error","_x9","_x10","initialState","systems","system_type","system_loading","idle","system_error_msg","application_loading","application_error_msg","applications","current_version","min_version","role_supervisor_loading","role_supervisor_error_msg","role_supervisors","role_user_loading","role_user_error_msg","role_users","user_loading","user_error_msg","validate_loading","validate_error_msg","confirmed","LoginSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","state","loading","fulfilled","_ref6","payload","loaded","rejected","action","undefined","message","_ref7","indexOf","console","log","dx","match","_ref8","_ref9","_ref10","buttons","marginLeft","LoginContainer","DisableView","callback","_jsx","onClick","fnBack","children","Dialog","PaperProps","style","zIndex","boxShadow","open","HideOnScroll","Slide","appear","isEnabled","direction","in","useScrollTrigger","useStyles","root","flexGrow","toolbarspacer","mixins","toolbar","topBar","top","bottom","bottomBar","title","grow","shrink","fabButtonBottom","position","left","right","fabButtonTop","inputRoot","panelMenu","marginRight","inputInput","_defineProperty","padding","breakpoints","up","action_list","menu_array","FPAppbar","menu_items","length","isBottomBar","isHideOnScroll","_React$useState","React","useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","_React$useState3","_React$useState4","searchShown","setSearchShown","_React$useState5","_React$useState6","searchText","setSearchText","_React$useState7","_React$useState8","isNavClicked","setIsNavClicked","classes","CheckAndSetForClickListener","forEach","idd","i","element","document","getElementById","hasClick","addEventListener","subMenuItemClicked","onDoSearch","onSearchClick","onCancelSearch","event","onSearchClosed","leftMenuItems","rightMenuItems","itemx","ix","id","_prop","push","_jsxs","AppBar","className","Toolbar","onBackClick","IconButton","edge","ArrowBackIcon","currentTarget","setTimeout","MenuIcon","panelIconElement","onPanelClick","Typography","Menu","keepMounted","Boolean","onClose","TransitionComponent","Fade","searchIconElement","SearchIcon","MoreVertIcon","fabIconElement","_Fragment","Fab","onFabIconClick","CloseIcon","InputBase","autoFocus","autoComplete","type","isNumericSearch","input","onKeyUp","keyCode","key","onChange","target","value","placeholder","inputProps","AboutUs","Box","sx","justifyContent","breakInside","flexWrap","m","height","Paper","elevation","overflow","canvas","Drinks","dispatch","useEffect","scrollbarWidth","src","drinks_menu","alt","gif_kramer","gif_woman1","gif_woman2","gif_woman3","gif_rogen","gif_murray","gif_belusci","gif_peg","gif_monica","Music","studio","lounge","dolby","carlton","cave","outdoor","Faq","card_canvas","carousel_canvas","ShowImages","_img","cards","images","image","original","PictureViewerX","_picture","Carousel","autoPlay","animation","navButtonsAlwaysVisible","btn","years","img","BootstrapButton","styled","Button","textTransform","marginBottom","lineHeight","borderColor","fontFamily","join","Picture","selectedYear","SetSelectedYear","handleUserChange","ip","map","item","index","variant","_objectSpread","fontWeight","caption","video","borderStyle","borderWidth","borderRadius","VideoPanel","controls","Video","PictureViewer","ViewTypes","credentials_ready","isLoggedIn","isOK","isCANCEL","currentDate","currentManualBarcode","errorMsg","checklist_error_msg","notification_count","showManualBarcodeEntry","showDialog","passed","statusText","userName","check_results","isSupervisor","view","last_view","subMenu","zone","enabled","showWait","sessionSlice","UpdateDate","UpdateView","UpdateShowWait","UpdateCredentials","_sessionSlice$actions","actions","GetDate","dtx","dt","replace","d","Date","Number","getDate","padStart","getMonth","getFullYear","GetAWS_Date","substring","GetMenutTitle","show","hide","menu_list","subitems","subitem","ii","Bar","Food","Karaoke","View","Props","vw","MAST","CANNON","RIGGING","CROW","WHEEL","CORNER","SHIP","AxiosErrorHandler","err","status","request","responseURL","includes","code","getAttendeesThunk","timeout","updateAttendeeCountThunk","args","updateMerchOrderThunk","getMerchOrderThunk","validateThunk","attendees_loading","attendees_response_loading","merchandise_loading","merchandise_response_loading","error_validate_msg","error_attendees_msg","error_attendees_response_msg","error_merchandise_msg","error_merchandise_response_msg","loggedIn","gdpr","credentials","passWord","groupName","galleryMode","showMenu","showSidebar","showFooter","dialogMessage","classx","button1","button2","exceptionType","attendees","gallery","merchandise","validate","validation","attendees_response","attendee","merchandise_response","passwordFail","emailFail","JamHawSlice","ResetLoadingStatus","UpdateDialogMessage","ClearDialogMessage","UpdateShowDialog","UpdateIsOK","UpdateIsCANCEL","UpdateLoggedIn","UpdateGDPR","UpdateGalleryMode","UpdateShowMenu","UpdateShowSidebar","UpdateShowFooter","UpdateAttendees","UpdateGallery","UpdatePasswordFail","UpdateEmailFail","_JamHawSlice$actions","selectLoggedIn","rootState","jamhaw","selectCredentials","selectPasswordFail","selectEmailFail","selectValidate","selectAttendees","selectMerchandise","selectAttendeesStatus","selectValidateStatus","selectAttendeesResponseStatus","selectMerchandiseStatus","selectMerchandiseResponseStatus","shirts","shirts_mobile","combo_input","send_btn","header_panel","merch_text","Merchandise","_merch","small","SetSmall","medium","SetMedium","large","SetLarge","xlarge","SetXLarge","merch","filter","mrch","email","handleSizeChange","shirtType","shirtImage","t_shirt","getBoundingClientRect","t_shirt_small","handleClose","FormControl","InputLabel","Select","labelId","label","MenuItem","handleMerchRequest","toast","radius","main","main_mobile","RSVP","inputRef","useRef","total","setTotal","totalError","settotalError","good2Go","setGood2Go","att","attd","count","Container","component","maxWidth","CssBaseline","Avatar","noValidate","onSubmit","e","preventDefault","handleSubmit","TextField","helperText","fullWidth","handleExit","Login","setName","setUserError","setPassword","setPasswordError","_React$useState9","_React$useState10","groupNameError","SetGroupNameError","_React$useState11","_React$useState12","SetGroupName","_React$useState13","_React$useState14","mobile","SetMobile","window","a_group","localStorage","getItem","LockOutlinedIcon","appLabel","md5","FormLabel","header","description","neccessary","paddingTop","neccessary_panel","open_chev","transform","SvgChevron","xmlns","viewBox","fill","strokeWidth","GDPR","_gdpr","neccessary_checked","setChecked","open_modal","minWidth","evt","callback_close","Divider","maxHeight","transition","ODD_OPACITY","DataGrid","concat","gridClasses","row","palette","grey","alpha","primary","selectedOpacity","hoverOpacity","Status","_props","validate_args","rsvp_args","magno_grid_canvas","overflowX","magno_grid_columns","magno_grid_columns_mobile","magno_grid_rows","overflowY","magno_grid_rows_mobile","magno_grid_row_menu","magno_grid_row_selected","magno_grid_row","magno_grid_row_mobile","magno_grid_row_col","borderBottomStyle","borderBottomWidth","borderBottomColor","magno_grid_row_col_mobile","col_cell","paddingLeft","textOverflow","borderRightStyle","borderRightWidth","borderRightColor","col_cell_mobile","row_cell_highlight","row_cell_highlight_mobile","row_cell_odd","row_cell_odd_mobile","row_cell_even","col_menu","icon","icon_mobile","pointer","cursor","MagnoGrid","rows","rowHeight","columns","selectIndex","objectId","disableHover","hoverIndex","setHoverIndex","setShowMenu","mnu","setMnu","setSelect","handleIconClick","onIconClick","scrollIntoView","behavior","block","inline","onRowClick","handleRowClick","isMobile","array","paddingRight","headerName","idx","_clsx","clsx","onMouseOver","_clsx2","attr","renderCell","field","toFixed","EditIcon","LockIcon","LockOpenIcon","LocalShippingIcon","DeleteIcon","ExpandMoreIcon","ExpandLessIcon","createTheme","overrides","MuiPaper","MuiAccordion","Color","MuiList","MuiListItem","MuiAccordionSummary","MuiAccordionDetails","light","dark","secondary","userSelect","inner_canvas","AttendeeList","attendeesStatus","attendeesResponseStatus","INITIAL","totals","grp","gGDPR","initial","HomeIcon","InfoIcon","BarIcon","FoodIcon","DrinkIcon","MusicIcon","KaraokeIcon","GalleryIcon","PictureIcon","VideoIcon","PropsIcon","FaqIcon","MerchIcon","ContactIcon","GroupsIcon","AppRegistrationIcon","RsvpIcon","LogoutIcon","topBarProps","main_canvas","main_logo","panel","hilight","special","disable","view_canvas","sidebar_right","contact","dancer_zone","dancer1","dancer2","dancer3","dancer4","dancer5","group_name","MainContainer","validateStatus","merchandiseStatus","merchandiseResponseStatus","allow_gdpr","setPanel","setView","titles","showGDPRSettings","setShowGDPRSettings","MenuSelect","MERCH","info","exitApplication","RefreshMenu","logged","LOGOUT","REGISTER","setItem","cbFunc","ClearIcon","a_name","a_pass","iv","toLocaleLowerCase","ThemeProvider","ToastContainer","logo","List","ListItem","ListItemAvatar","ListItemText","Accordion","AccordionSummary","AccordionDetails","ABOUT","BAR","FOOD","KARAOKE","DRINK","MUSIC","VIDEO","PICTURE","ATTENDEES","group","FAQ","appName","systemName","fp_user","username","groupname","href","rel","drinkaware","App","getImageThunk","cam","picid","auth","b64toBlob","dataURI","byteString","atob","ab","ArrayBuffer","ia","Uint8Array","charCodeAt","Blob","saveImageThunk","blob","fdx","FormData","append","media_loading","save_media_loading","media_error_msg","base64","picture_id","MediaSlice","ResetMediaLoadingStatus","base64image","error_status","store","configureStore","reducer","login","LoginReducer","session","SessionSliceReducer","media","MediaSliceReducer","JamHawReducer","ReactDOM","render","Provider","cordova","ISCORDOVA"],"mappings":"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DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DDvLwB,MACzC,IAAK,OAAQA,GExFP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DF3PwB,MACzC,IAAK,OAAQA,GGzFP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DH1TwB,MACzC,IAAK,OAAQA,GI1FP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DJjewB,MACzC,IAAK,OAAQA,GK5FP,CACP,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DL/J2B,MACzC,IAAK,OAAQA,GM7FP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DN9RwB,MACzC,IAAK,OAAQA,GO9FP,CACN,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DPze0B,MACzC,IAAK,OAAQA,GQ/FP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,8DRhEwB,MACzC,IAAK,OAAQA,GS/FP,CACJ,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DACZ,UAAa,6DAEf,CACE,SAAY,4DA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CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2DACZ,UAAa,4DAEf,CACE,SAAY,2D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AY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,6DACb,CAAC,SAAY,8DDnC6B,MAC5C,KAAKmF,GAAKI,OAAQvF,GEzBV,CAEN,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,CAAC,SAAY,gEACb,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","file":"static/js/main.24b8832c.chunk.js","sourcesContent":["import { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\";\r\nimport type { RootState, AppDispatch } from \"../store\";\r\n\r\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\r\nexport const useAppDispatch = () => useDispatch();\r\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\r\n","import React from \"react\";\r\nimport { useAppDispatch } from \"../../Framework/hooks\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport FormLabel from \"@material-ui/core/FormLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\r\nimport { IRoleUser } from \"./LoginInterface\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#67ca68\", //theme.palette.secondary.main,\r\n },\r\n green: {\r\n color: \"green\",\r\n },\r\n red: {\r\n color: \"red\",\r\n },\r\n form: {\r\n width: \"100%\", // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n },\r\n select: {\r\n width: \"100%\",\r\n color: \"black\",\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n submit: {\r\n margin: theme.spacing(3, 0, 2),\r\n },\r\n systemDev: {\r\n fontSize: \"1rem\",\r\n textAlign: \"center\",\r\n border: \"solid\",\r\n display: \"block\",\r\n color: \"#607d8b\",\r\n backgroundColor: \"#bed4e7\",\r\n },\r\n systemLive: {\r\n fontSize: \"1rem\",\r\n textAlign: \"center\",\r\n border: \"solid\",\r\n display: \"block\",\r\n color: \"red\",\r\n backgroundColor: \"#f59c9c\",\r\n },\r\n version: {\r\n marginTop: theme.spacing(4),\r\n },\r\n}));\r\n\r\ninterface ILoginViewProps {\r\n validate: string;\r\n appLabel: string;\r\n appName: string;\r\n appIcon?: JSX.Element;\r\n systemName: string;\r\n version: string;\r\n fp_user: string;\r\n users: IRoleUser[];\r\n enableRoles: boolean | undefined;\r\n handleSubmit: (username: string, password: string) => void;\r\n handleExit: () => void;\r\n}\r\n\r\nconst LoginView = (props: ILoginViewProps): JSX.Element => {\r\n const classes = useStyles();\r\n const inputRef = React.useRef();\r\n const [name, setName] = React.useState(props.fp_user || \"\");\r\n const [userError, setUserError] = React.useState(\"\");\r\n const [password, setPassword] = React.useState(\"\");\r\n const [passwordError, setPasswordError] = React.useState(\"\");\r\n const dispatch = useAppDispatch();\r\n\r\n const handleUserChange = (e: React.MouseEvent) => {\r\n //console.log(e.currentTarget.textContent);\r\n setName(String(e.currentTarget.textContent));\r\n setUserError(\"\");\r\n if (document.getElementById(\"username-helper-text\") !== null) {\r\n document.getElementById(\"username-helper-text\")!.innerHTML = \"\";\r\n }\r\n };\r\n\r\n //let user = localStorage.getItem(\"fp_user\");\r\n\r\n React.useEffect(() => {\r\n //console.log(\"React.useEffect\");\r\n\r\n let user = localStorage.getItem(\"fp_user\");\r\n\r\n if (user !== undefined) {\r\n if (user !== null) {\r\n if (user.length) {\r\n setName(user);\r\n }\r\n }\r\n }\r\n }, [dispatch]);\r\n\r\n //Get last user\r\n\r\n //clear the validation error if the password field has a value otherwise display an error.\r\n const handlePasswordChange = (\r\n event: React.ChangeEvent<{ value: unknown }>\r\n ) => {\r\n setPassword(event.target.value as string);\r\n if (event.target.value !== \"\") {\r\n setPasswordError(\"\");\r\n }\r\n };\r\n\r\n const refreshRoleUsers = (event: React.SyntheticEvent) => {\r\n event.preventDefault();\r\n window.location.reload();\r\n };\r\n\r\n //tell the parent container to close the application\r\n const handleExitClick = (event: React.SyntheticEvent) => {\r\n event.preventDefault();\r\n props.handleExit();\r\n };\r\n\r\n //perform validation on user name and password\r\n const handleSubmit = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (name === undefined || name.length === 0) {\r\n setUserError(\"user name required\");\r\n return;\r\n }\r\n\r\n if (password.length === 0) {\r\n setPasswordError(\"password is required\");\r\n return;\r\n }\r\n localStorage.setItem(\"fp_user\", name);\r\n props.handleSubmit(name, password);\r\n };\r\n\r\n if (props.validate === \"PASS\") {\r\n if (document.getElementById(\"username-helper-text\")! !== null) {\r\n document.getElementById(\"username-helper-text\")!.style.visibility =\r\n \"HIDDEN\";\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n {props.appIcon !== undefined ? props.appIcon : }\r\n \r\n \r\n {props.appLabel}\r\n \r\n\r\n
\r\n \r\n \r\n {props.users.map((item, index) => (\r\n handleUserChange(e)}\r\n >\r\n {item.UserName}\r\n \r\n ))}\r\n \r\n {/* */}\r\n
\r\n
\r\n\r\n 0}\r\n helperText={passwordError}\r\n fullWidth\r\n name=\"password\"\r\n label=\"Password\"\r\n type=\"password\"\r\n autoComplete=\"current-password\"\r\n autoFocus={true}\r\n onChange={handlePasswordChange}\r\n />\r\n
\r\n
\r\n \r\n Log In - {props.systemName}\r\n \r\n
\r\n
\r\n \r\n EXIT\r\n \r\n \r\n \r\n {process.env.REACT_APP_VERSION !== undefined ? (\r\n
\r\n Installed Version: {process.env.REACT_APP_VERSION}\r\n
\r\n ) : null}\r\n {props.version !== undefined ? (\r\n
Latest Version: {props.version}
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoginView;\r\n","/**\r\n * ENUMS for the thunk response states\r\n */\r\nexport enum ELoadingStatus {\r\n \"idle\",\r\n \"loading\",\r\n \"loaded\",\r\n \"error\",\r\n}\r\n\r\n/**\r\n * SYSTEM\r\n */\r\nexport interface ISystem {\r\n system_name: string;\r\n}\r\n\r\n/**\r\n * APPLICATION\r\n * These are the properties returned from the CORE_GLOBAL_GetAppVersion SP\r\n */\r\nexport interface IApplication {\r\n ApplicationID: number;\r\n current_version: string;\r\n min_version: string;\r\n Name: string;\r\n}\r\n\r\n/**\r\n * ROLE ARGUMENT\r\n * This is the argument passed to the getRoleUsersThunk SP\r\n */\r\nexport interface IRoleArgs {\r\n role?: string;\r\n}\r\n\r\n/**\r\n * ROLE SUPERVISOR\r\n * Used for aguments for getRoleSupervisorsThunk\r\n */\r\nexport interface IRoleSupervisor {\r\n userid: string;\r\n UserName: string;\r\n}\r\n\r\n/**\r\n * ROLE USER\r\n * argument passed down to ILoginViewProps\r\n */\r\nexport interface IRoleUser {\r\n UserId: string;\r\n UserName: string;\r\n PassWord: string;\r\n}\r\n\r\n/**\r\n * VALIDATE\r\n * The base64 credential encoded string passed to getValidatesThunk\r\n */\r\nexport interface IValidate {\r\n confirmed: string;\r\n}\r\n\r\nexport interface IValidateArgs {\r\n user: string;\r\n password: string;\r\n}\r\n\r\n/**\r\n * S L I C E I N T E R F A C E\r\n */\r\nexport interface ILoginState {\r\n //SYSTEM\r\n system_loading: ELoadingStatus;\r\n system_type: string;\r\n system_error_msg: string;\r\n systems?: ISystem[];\r\n\r\n //APPLICATION\r\n application_loading: ELoadingStatus;\r\n application_error_msg: string;\r\n /**\r\n * An array of IApplication. Should only be one record\r\n */\r\n applications?: IApplication[];\r\n current_version: string;\r\n min_version: string;\r\n\r\n //ROLE SUPERVISOR\r\n role_supervisor_loading: ELoadingStatus;\r\n role_supervisor_error_msg: string;\r\n /**\r\n * Returns an array of supervisory roles\r\n */\r\n role_supervisors?: IRoleSupervisor[];\r\n\r\n //ROLE USER\r\n role_user_loading: ELoadingStatus;\r\n role_user_error_msg: string;\r\n /**\r\n * Returns an array of role users\r\n */\r\n role_users?: IRoleUser[];\r\n\r\n //USER\r\n user_loading: ELoadingStatus;\r\n user_error_msg: string;\r\n\r\n //VALIDATE\r\n validate_loading: ELoadingStatus;\r\n validate_error_msg: string;\r\n confirmed?: string;\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport { RootState } from \"../../store\";\r\nimport axios from \"axios\";\r\n\r\nimport {\r\n ILoginState,\r\n ELoadingStatus,\r\n IRoleArgs,\r\n IValidateArgs,\r\n} from \"./LoginInterface\";\r\n\r\nimport { Buffer } from \"buffer\";\r\n\r\nconst URL = process.env.REACT_APP_BASE_URL;\r\n\r\n////////////////////////////////////////////////////////\r\n// SYSTEM\r\n////////////////////////////////////////////////////////\r\n/**\r\n * Retrieves the platform identifier e.g. DEV, UAT, LIVE\r\n */\r\nexport const getSystemsThunk = createAsyncThunk(\r\n \"login/system\",\r\n async (_, thunkAPI) => {\r\n try {\r\n const response = await axios.get(\r\n URL + \"/api/GetSystemName/LIVE_fp_warehouse\"\r\n );\r\n\r\n return await response.data.Table;\r\n } catch (error: any) {\r\n let str = String(error.response.data.ExceptionMessage).split(\"\\n\")[0];\r\n return thunkAPI.rejectWithValue(str);\r\n }\r\n }\r\n);\r\n\r\n////////////////////////////////////////////////////////\r\n// APPLICATION\r\n////////////////////////////////////////////////////////\r\n/**\r\n * Retrieves the application version details\r\n */\r\nexport const getApplicationsThunk = createAsyncThunk(\r\n \"system/application\",\r\n async (system_name: string, thunkAPI) => {\r\n let payLoad = {\r\n app_name: system_name,\r\n running_version: process.env.REACT_APP_VERSION,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n URL +\r\n \"/api/na_stored_procedure/LIVE_fp_warehouse/CORE_GLOBAL_GetAppVersion\",\r\n JSON.stringify(payLoad)\r\n );\r\n\r\n return await response.data.Table;\r\n } catch (error: any) {\r\n let str = String(error.response.data.ExceptionMessage).split(\"\\n\")[0];\r\n return thunkAPI.rejectWithValue(str);\r\n }\r\n }\r\n);\r\n\r\n////////////////////////////////////////////////////\r\n// ROLE SUPERVISOR\r\n////////////////////////////////////////////////////\r\n/**\r\n * returns supervisory level roles\r\n */\r\nexport const getRoleSupervisorsThunk = createAsyncThunk(\r\n \"login/role_user_supervisor\",\r\n async (props: IRoleArgs, thunkAPI) => {\r\n try {\r\n const response = await axios.get(URL + \"/api/getroleusers/\" + props.role);\r\n\r\n return await response.data.Table;\r\n } catch (error: any) {\r\n let str = String(error.response.data.ExceptionMessage).split(\"\\n\")[0];\r\n return thunkAPI.rejectWithValue(str);\r\n }\r\n }\r\n);\r\n\r\n////////////////////////////////////////////////////\r\n// ROLE USER\r\n////////////////////////////////////////////////////\r\n/**\r\n * returns the role users\r\n */\r\nexport const getRoleUsersThunk = createAsyncThunk(\r\n \"login/role_user\",\r\n async (props: IRoleArgs, thunkAPI) => {\r\n try {\r\n const response = await axios.get(URL + \"/api/getroleusers/\" + props.role);\r\n\r\n return await response.data.Table;\r\n } catch (error: any) {\r\n let str = String(error.response.data.ExceptionMessage).split(\"\\n\")[0];\r\n return thunkAPI.rejectWithValue(str);\r\n }\r\n }\r\n);\r\n\r\n////////////////////////////////////////////////////\r\n// VALIDATE\r\n////////////////////////////////////////////////////\r\n/**\r\n * Validates the credentials\r\n */\r\nexport const getValidatesThunk = createAsyncThunk(\r\n \"login/validate\",\r\n async (props: IValidateArgs, thunkAPI) => {\r\n try {\r\n axios.defaults.headers.common = {\r\n Authorization:\r\n \"Basic \" +\r\n Buffer.from(props.user + \":\" + props.password).toString(\"base64\"),\r\n \"Content-Type\": \"application/json\",\r\n };\r\n\r\n const response = await axios.get(URL + \"/Login\");\r\n\r\n return await response.data;\r\n } catch (error) {\r\n return thunkAPI.rejectWithValue({ error: error });\r\n }\r\n }\r\n);\r\n\r\n////////////////////////////////////////////////////\r\nexport const initialState: ILoginState = {\r\n systems: [],\r\n system_type: \"UNKNOWN\",\r\n system_loading: ELoadingStatus.idle,\r\n system_error_msg: \"\",\r\n\r\n //APPLICATION\r\n application_loading: ELoadingStatus.idle,\r\n application_error_msg: \"\",\r\n applications: [],\r\n current_version: \"0.0.0\",\r\n min_version: \"0.0.0\",\r\n\r\n //ROLE SUPERVISOR\r\n role_supervisor_loading: ELoadingStatus.idle,\r\n role_supervisor_error_msg: \"\",\r\n role_supervisors: [],\r\n\r\n //ROLE USER\r\n role_user_loading: ELoadingStatus.idle,\r\n role_user_error_msg: \"\",\r\n role_users: [],\r\n\r\n //USER\r\n user_loading: ELoadingStatus.idle,\r\n user_error_msg: \"\",\r\n\r\n //VALIDATE\r\n validate_loading: ELoadingStatus.idle,\r\n validate_error_msg: \"\",\r\n confirmed: \"\",\r\n};\r\n\r\nexport const LoginSlice = createSlice({\r\n name: \"login\",\r\n initialState,\r\n reducers: {},\r\n extraReducers: (builder) => {\r\n ////////////////////////////////////////////////////\r\n // SYSTEM\r\n ////////////////////////////////////////////////////\r\n builder.addCase(getSystemsThunk.pending, (state) => {\r\n state.systems = [];\r\n state.system_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getSystemsThunk.fulfilled, (state, { payload }) => {\r\n state.systems = payload;\r\n state.system_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getSystemsThunk.rejected, (state, action) => {\r\n if (action.payload !== undefined) {\r\n state.system_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.system_error_msg = String(action.payload);\r\n state.system_type = state.system_error_msg;\r\n }\r\n } else {\r\n state.system_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.system_error_msg = action.error.message;\r\n }\r\n }\r\n });\r\n\r\n ////////////////////////////////////////////////////\r\n // APPLICATION\r\n ////////////////////////////////////////////////////\r\n builder.addCase(getApplicationsThunk.pending, (state) => {\r\n //console.log(\"ApplicationSlice-> loading\");\r\n state.applications = [];\r\n state.application_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getApplicationsThunk.fulfilled, (state, { payload }) => {\r\n state.applications = payload;\r\n state.application_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getApplicationsThunk.rejected, (state, action) => {\r\n //console.log(\"ERROR:\");\r\n if (action.payload !== undefined) {\r\n //console.log(\"extraReducers[ERROR CUSTOM]\", action.payload);\r\n state.application_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.application_error_msg = String(action.payload);\r\n\r\n if (state.application_error_msg.indexOf(\"current version\") !== -1) {\r\n //contains valid version check message\r\n console.log(state.application_error_msg); //upgrade notice goes here\r\n const regex = /\\d+(\\.\\d+)+/g;\r\n var dx = state.application_error_msg.match(regex);\r\n state.current_version = String(dx![0]);\r\n state.min_version = String(dx![1]);\r\n //console.log(\"VERSION:\", state.current_version, state.min_version);\r\n }\r\n }\r\n } else {\r\n //console.log(\"extraReducers[ERROR]\", action.error);\r\n state.application_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.application_error_msg = action.error.message;\r\n }\r\n }\r\n });\r\n\r\n ////////////////////////////////////////////////////\r\n // ROLE SUPERVISOR\r\n ////////////////////////////////////////////////////\r\n builder.addCase(getRoleSupervisorsThunk.pending, (state) => {\r\n //console.log(\"RoleSupervisorSlice-> loading\");\r\n // state.master_codes = [];\r\n state.role_supervisor_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getRoleSupervisorsThunk.fulfilled, (state, { payload }) => {\r\n state.role_supervisors = payload;\r\n state.role_supervisor_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getRoleSupervisorsThunk.rejected, (state, action) => {\r\n //console.log(\"extraReducers[mc]-> error\", action);\r\n state.role_supervisor_loading = ELoadingStatus.error;\r\n state.role_supervisor_error_msg = action.error.toString();\r\n });\r\n\r\n ////////////////////////////////////////////////////\r\n // ROLE USER\r\n ////////////////////////////////////////////////////\r\n builder.addCase(getRoleUsersThunk.pending, (state) => {\r\n //console.log(\"RoleUserSlice-> loading\");\r\n state.role_users = [];\r\n state.role_user_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getRoleUsersThunk.fulfilled, (state, { payload }) => {\r\n state.role_users = payload;\r\n state.role_user_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getRoleUsersThunk.rejected, (state, action) => {\r\n //console.log(\"ERROR:\");\r\n if (action.payload !== undefined) {\r\n //console.log(\"extraReducers[ERROR CUSTOM]\", action.payload);\r\n state.role_user_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.role_supervisor_error_msg = String(action.payload);\r\n }\r\n } else {\r\n //console.log(\"extraReducers[ERROR]\", action.error);\r\n state.role_user_loading = ELoadingStatus.error;\r\n if (action.error.message !== undefined) {\r\n state.role_user_error_msg = action.error.message;\r\n }\r\n }\r\n });\r\n\r\n ////////////////////////////////////////////////////\r\n // VALIDATE\r\n ////////////////////////////////////////////////////\r\n builder.addCase(getValidatesThunk.pending, (state) => {\r\n //console.log(\"ValidateSlice-> loading\");\r\n state.confirmed = \"\";\r\n state.validate_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getValidatesThunk.fulfilled, (state, { payload }) => {\r\n //console.log(\"ValidateSlice-> loaded\", payload.test);\r\n state.confirmed = \"PASS\";\r\n state.validate_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getValidatesThunk.rejected, (state, action) => {\r\n //console.log(\"extraReducers[mc]-> error\", action);\r\n state.validate_loading = ELoadingStatus.error;\r\n state.confirmed = \"FAIL\";\r\n state.validate_error_msg = action.error.toString();\r\n });\r\n },\r\n});\r\n\r\n//const selectSelf = (state: any) => state;\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//SYSTEM\r\nexport const selectSystems = (rootState: RootState) => {\r\n return rootState.login.systems;\r\n};\r\nexport const selectSystemError = (rootState: RootState) => {\r\n return rootState.login.system_error_msg;\r\n};\r\n\r\nexport const selectSystemLoading = (rootState: RootState) => {\r\n return rootState.login.system_loading;\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//APPLICATION\r\nexport const selectApplications = (rootState: RootState) => {\r\n return rootState.login.applications;\r\n};\r\n\r\nexport const selectApplicationError = (rootState: RootState) => {\r\n return rootState.login.application_error_msg;\r\n};\r\n\r\nexport const selectApplicationLoading = (rootState: RootState) => {\r\n return rootState.login.application_loading;\r\n};\r\n\r\nexport const selectMinVer = (rootState: RootState) => {\r\n return rootState.login.min_version;\r\n};\r\n\r\nexport const selectCurVer = (rootState: RootState) => {\r\n return rootState.login.current_version;\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//ROLE SUPERVISOR\r\nexport const selectRoleSupervisors = (rootState: RootState) => {\r\n return rootState.login.role_supervisors;\r\n};\r\n\r\nexport const selectRoleSupervisorsError = (rootState: RootState) => {\r\n return rootState.login.role_supervisor_error_msg;\r\n};\r\n\r\nexport const selectRoleSupervisorLoading = (rootState: RootState) => {\r\n return rootState.login.role_supervisor_loading;\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//ROLE USER\r\nexport const selectRoleUsers = (rootState: RootState) => {\r\n return rootState.login.role_users;\r\n};\r\n\r\nexport const selectRoleError = (rootState: RootState) => {\r\n return rootState.login.role_user_error_msg;\r\n};\r\n\r\nexport const selectRoleUserLoading = (rootState: RootState) => {\r\n return rootState.login.role_user_loading;\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//USER\r\n\r\n////////////////////////////////////////////////////////////////////\r\n//VALIDATE\r\nexport const selectValidate = (rootState: RootState) => {\r\n return rootState.login.confirmed;\r\n};\r\n\r\nexport const selectValidateError = (rootState: RootState) => {\r\n return rootState.login.validate_error_msg;\r\n};\r\n\r\nexport const selectValidateLoading = (rootState: RootState) => {\r\n return rootState.login.validate_loading;\r\n};\r\n\r\nexport default LoginSlice.reducer;\r\n","export default __webpack_public_path__ + \"static/media/network_error.18eaafc4.png\";","import React, { useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useAppDispatch } from \"../../Framework/hooks\";\r\nimport LoginView from \"./LoginView\";\r\nimport { ILoginProps } from \"./Login\";\r\nimport {\r\n getApplicationsThunk,\r\n selectApplications,\r\n selectApplicationError,\r\n selectCurVer,\r\n selectMinVer,\r\n getRoleSupervisorsThunk,\r\n selectRoleSupervisors,\r\n selectRoleSupervisorsError,\r\n getSystemsThunk,\r\n selectSystems,\r\n selectSystemError,\r\n getRoleUsersThunk,\r\n selectRoleUsers,\r\n selectRoleError,\r\n selectApplicationLoading,\r\n selectRoleUserLoading,\r\n selectRoleSupervisorLoading,\r\n selectSystemLoading,\r\n getValidatesThunk,\r\n selectValidate,\r\n selectValidateError,\r\n} from \"./LoginSlice\";\r\n\r\nimport { ELoadingStatus, IRoleSupervisor } from \"./LoginInterface\";\r\n\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport \"./css/Login.css\";\r\nimport StageNowDlg from \"./StageNowDlg\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport error_triangle from \"./images/network_error.png\";\r\nimport loading_gif from \"./images/loading.gif\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n buttons: {\r\n width: \"120px\",\r\n color: \"primary\",\r\n marginLeft: \"auto\",\r\n marginTop: \"100%\",\r\n },\r\n}));\r\n\r\nexport interface ILoginContainerProps {\r\n handleOk: () => void;\r\n}\r\n\r\nvar internal_user = \"\";\r\nvar internal_password = \"\";\r\nvar fail_description = \"\";\r\n\r\nexport function LoginContainer(_lp: ILoginProps): JSX.Element {\r\n const classes = useStyles();\r\n const dispatch = useAppDispatch();\r\n const applications = useSelector(selectApplications);\r\n const role_users = useSelector(selectRoleUsers);\r\n const role_supervisors = useSelector(selectRoleSupervisors);\r\n const validate = useSelector(selectValidate);\r\n const systems = useSelector(selectSystems);\r\n const curVer = useSelector(selectCurVer);\r\n const minVer = useSelector(selectMinVer);\r\n const roleUserLoading = useSelector(selectRoleUserLoading);\r\n const applicationLoading = useSelector(selectApplicationLoading);\r\n //const validateLoading = useSelector(selectValidateLoading);\r\n const roleSupervisorLoading = useSelector(selectRoleSupervisorLoading);\r\n const systemLoading = useSelector(selectSystemLoading);\r\n\r\n //Network Errors\r\n const appError = useSelector(selectApplicationError);\r\n const sysError = useSelector(selectSystemError);\r\n const rolError = useSelector(selectRoleError);\r\n const rlsError = useSelector(selectRoleSupervisorsError);\r\n const valError = useSelector(selectValidateError);\r\n const [isUsersLoaded, setIsUsersLoaded] = React.useState(false);\r\n const [isNetErr, setIsNetErr] = React.useState(false);\r\n\r\n const handleSubmit = (username: string, password: string) => {\r\n //console.log(\"handleSubmit:\", username, password);\r\n internal_user = username;\r\n internal_password = password;\r\n const args = { user: username, password: password };\r\n\r\n dispatch(getValidatesThunk(args)); //Validate credentials\r\n //console.log(\"USERS:\", validate);\r\n };\r\n\r\n const exitApplication = () => {\r\n _lp.handleExit();\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(getSystemsThunk()); //Retrieve platform type e.g. dev, uat, live\r\n\r\n console.log(\"SYSTEM:\", _lp.systemName);\r\n if (process.env.REACT_APP_VERSION !== undefined) {\r\n dispatch(getApplicationsThunk(_lp.systemName)); //Retrieve application version from database and build\r\n }\r\n\r\n dispatch(getRoleUsersThunk({ role: _lp.userRole })); //Get list of role users\r\n\r\n dispatch(getRoleSupervisorsThunk({ role: _lp.userSupervisorRole })); //Get list of supervisors\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n //Have we eneter correct credentials?\r\n if (validate === \"PASS\" && role_supervisors !== undefined) {\r\n fail_description = \"PASS\";\r\n var sups = role_supervisors.filter(function (\r\n user: IRoleSupervisor,\r\n i: number\r\n ) {\r\n return user.UserName === internal_user;\r\n });\r\n\r\n //Callback function passed down from app_callback_ok in top-level\r\n _lp.handleConfirmOk({\r\n user: internal_user,\r\n password: internal_password,\r\n isSupervisor: sups.length > 0 ? true : false,\r\n });\r\n }\r\n\r\n //Have we entered incorrect credentials\r\n if (validate === \"FAIL\" && internal_user.length === 0) {\r\n fail_description = \"No user selected\";\r\n }\r\n\r\n if (validate === \"FAIL\" && internal_user.length !== 0) {\r\n fail_description = \"User/Password is incorrect\";\r\n }\r\n\r\n if (validate === \"FAIL\") {\r\n //Callback function passed down from app_callback_fail in top-level\r\n _lp.handleConfirmFail();\r\n }\r\n\r\n let wait_cursor = true;\r\n\r\n //Have all promises completed for dispatch calls? If so turn off cursor and proceeed\r\n if (\r\n applicationLoading === ELoadingStatus.loaded ||\r\n systemLoading === ELoadingStatus.loaded ||\r\n roleSupervisorLoading === ELoadingStatus.loaded ||\r\n roleUserLoading === ELoadingStatus.loaded\r\n ) {\r\n wait_cursor = false;\r\n } else {\r\n wait_cursor = true;\r\n }\r\n\r\n //test to see if network down\r\n if (\r\n appError.length > 0 &&\r\n sysError.length > 0 &&\r\n rolError.length > 0 &&\r\n rlsError.length > 0 &&\r\n valError.length > 0 &&\r\n !isNetErr\r\n ) {\r\n wait_cursor = false;\r\n setIsNetErr(true);\r\n console.log(\"No Network Connection:\", appError);\r\n }\r\n\r\n //Are all condtions met to allow login screen to close?\r\n if (!isUsersLoaded && roleUserLoading === ELoadingStatus.loaded) {\r\n setIsUsersLoaded(true);\r\n }\r\n\r\n return (\r\n
\r\n {!wait_cursor && appError.length > 0 ? (\r\n \r\n ) : wait_cursor || !isUsersLoaded ? (\r\n <>\r\n {isNetErr ?
Network Error
:
Loading...
}\r\n {isNetErr ? (\r\n
\r\n \"spin\"\r\n
\r\n ) : (\r\n
\r\n \"spin\"\r\n
\r\n )}\r\n \r\n CANCEL\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default LoginContainer;\r\n","/**\r\n * ENUMS for the thunk response states\r\n * idle\r\n * loading\r\n * loaded\r\n * error\r\n */\r\nexport enum ELoadingStatus {\r\n \"idle\",\r\n \"loading\",\r\n \"loaded\",\r\n \"error\",\r\n}\r\n","import Dialog from \"@material-ui/core/Dialog\";\r\nimport {IDisable} from './MainContainer';\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n\r\nexport default function DisableView(callback:IDisable): JSX.Element {\r\n \r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}","import React from \"react\";\r\nimport useScrollTrigger from \"@material-ui/core/useScrollTrigger\";\r\nimport Slide from \"@material-ui/core/Slide\";\r\n\r\nexport interface iHideOnScrollProps {\r\n children: JSX.Element; //default react prop.\r\n isEnabled: boolean; //If true the child element will hide when you scroll.\r\n direction: \"down\" | \"up\"; //up we will animate to the top of thr screen when we hide.\r\n}\r\n\r\n/**\r\n * Wrap this around an area of JSX to have it hide when you scroll.\r\n * Most commonly used with the FPAppbar to hide when we scroll which is handy on mobile\r\n */\r\nconst HideOnScroll = (props: iHideOnScrollProps): JSX.Element => (\r\n \r\n {props.children}\r\n \r\n);\r\n\r\nexport default HideOnScroll;\r\n","/**\r\n * A MAterial UI appbar thats locked to the top of the screen.\r\n */\r\nimport React from \"react\";\r\nimport {\r\n IconButton,\r\n AppBar,\r\n Typography,\r\n Toolbar,\r\n Fab,\r\n Fade,\r\n Menu,\r\n InputBase,\r\n} from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport HideOnScroll from \"./HideOnScroll\";\r\n//Icons\r\nimport ArrowBackIcon from \"@material-ui/icons/ArrowBack\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\n\r\n//Styling\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n // necessary for content to be below app bar\r\n toolbarspacer: theme.mixins.toolbar,\r\n topBar: {\r\n top: 0,\r\n bottom: \"auto\",\r\n },\r\n bottomBar: {\r\n top: \"auto\",\r\n bottom: 0,\r\n },\r\n title: {\r\n flexGrow: 0,\r\n },\r\n grow: {\r\n //grow is used to take up the space on the app bar between the title and the buttons on the right.\r\n flexGrow: 1,\r\n },\r\n shrink: {\r\n //shrink is used to take away the space on the app bar between the title and the buttons on the right.\r\n flexGrow: 0,\r\n },\r\n fabButtonBottom: {\r\n //for the button in the middle of the appbar\r\n position: \"absolute\",\r\n zIndex: 1,\r\n top: -30,\r\n left: 0,\r\n right: 0,\r\n margin: \"0 auto\",\r\n },\r\n fabButtonTop: {\r\n //for the button in the middle of the appbar\r\n position: \"absolute\",\r\n zIndex: 1,\r\n top: 30,\r\n left: 0,\r\n right: 0,\r\n margin: \"0 auto\",\r\n },\r\n inputRoot: {\r\n color: \"inherit\",\r\n width: \"100%\",\r\n },\r\n panelMenu: {\r\n marginRight: \"20px\",\r\n }, \r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 1),\r\n // vertical padding + font size from searchIcon\r\n //paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,\r\n // transition: theme.transitions.create(\"width\"),\r\n width: \"100%\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n width: \"12ch\",\r\n \"&:focus\": {\r\n width: \"20ch\",\r\n },\r\n },\r\n },\r\n}));\r\n\r\n//We export our props interface so other people can send us the correctly typed and shaped props.\r\n/**\r\n * @description the props for the FPAppbar.\r\n * @property isBottomBar: boolean; //Enables the top/bottom bar\r\n * @property isHideOnScroll: boolean; //set to true to hide this app bar when we scroll.\r\n * @property onBackClick?: (event: any) => void; //If you provide a callback then a back arrow will be shown on the left and the callback assigned to that button.\r\n * @property title?: string; //the title to show on the app bar\r\n * @property onSearchClick?: (text: string) => void; //if you provide a callback then a search will be shown on the right hand side. clicking this icon will show a search overlay. If the user then presses the glass icon or the enter key then the text entered will be passed to your callback.\r\n * @property searchIconElement?: JSX.Element //if supplied will be used instead of the SearchIcon. Should be a Icon from Material U.\r\n * @property leftMenuItems?: JSX.Element[]; //will show a standard menu icon on the right if this element is not undefined. note all elements must have a unique id or the menu will not close\r\n * @property rightMenuItems?: JSX.Element[]; //will show a morevert icon on the far left if this is not undefined.\r\n * @property fabIconElement?: JSX.Element; //will show a fab icon containing whatever you supply here\r\n * @property onFabIconClick?: (event: any) => void; //will be called back when the fab icon is clicked. Note you must still provide a fabIconElement to see the fab icon\r\n * @property children?: JSX.Element[]; //children that will be rendered between the search icon and the morevery right hand menu note: you must set color=\"inherit\" to pickup the right colours for your components, or color=\"secondary\" e.g. for a switch\r\n * @property onSearchClosed?: (event: any) => void; //Optional event that can be called when the search field is closed.\r\n * @property isNumericSearch?: boolean; //Optionally sets the input mode from text to numeric if true.\r\n * @property onPanelClick?: (event: any) => void; //will be called back when the menu icon is clicked. \r\n */\r\nexport interface IFPAppbarProps {\r\n isBottomBar: boolean;\r\n isHideOnScroll: boolean;\r\n onBackClick?: (event: any) => void;\r\n title?: string;\r\n onPanelClick?: (event: any) => void;\r\n panelIconElement?: JSX.Element;\r\n onSearchClick?: (text: string) => void;\r\n searchIconElement?: JSX.Element;\r\n onSearchClosed?: () => void;\r\n leftMenuItems?: JSX.Element[];\r\n rightMenuItems?: JSX.Element[];\r\n fabIconElement?: JSX.Element;\r\n onFabIconClick?: (event: any) => void;\r\n children?: JSX.Element[]; //This is required to stop error message when trying to call props.children within the FPAppbar scope (go figure)\r\n isNumericSearch?: boolean;\r\n}\r\n\r\nconst action_list = {} as any; //Init hash table\r\nconst menu_array = [] as any; //Array\r\n\r\n/**\r\n * FPAppbar\r\n * @param props : IFPAppbarProps\r\n * @returns JSX.Element\r\n */\r\nconst FPAppbar = (\r\n props: IFPAppbarProps = {\r\n //define the default props here so people can do and just get a default bar that works.\r\n isBottomBar: false,\r\n isHideOnScroll: true,\r\n }\r\n): JSX.Element => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [searchShown, setSearchShown] = React.useState(false);\r\n const [searchText, setSearchText] = React.useState(\"\");\r\n const [isNavClicked, setIsNavClicked] = React.useState(false);\r\n\r\n //Grab our styles at the start once so its always done in the same order.\r\n const classes = useStyles();\r\n\r\n //Adds an onclick event listener to all the items in the menu\r\n //this will close the menu when you click on those items\r\n const CheckAndSetForClickListener = () => {\r\n menu_array.forEach(function (idd: any, i: number) {\r\n const element = document.getElementById(idd);\r\n if (element !== null) {\r\n if (!action_list[idd].hasClick) {\r\n action_list[idd].hasClick = true;\r\n element.addEventListener(\"click\", subMenuItemClicked);\r\n }\r\n }\r\n });\r\n };\r\n\r\n //Clicked on the right hand menu\r\n const subMenuClicked = (event: any) => {\r\n setIsNavClicked(true); //true = right\r\n setAnchorEl(event.currentTarget);\r\n setTimeout(function () {\r\n CheckAndSetForClickListener();\r\n }, 100);\r\n };\r\n\r\n //clicked on the left hand more vert menu\r\n const subMoreMenuClicked = (event: any) => {\r\n setIsNavClicked(false); //false = left\r\n setAnchorEl(event.currentTarget);\r\n setTimeout(function () {\r\n CheckAndSetForClickListener();\r\n }, 100);\r\n };\r\n\r\n const subMenuItemClicked = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n //Close the menu by setting the archor element to null so it does not render\r\n const menuOnClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n //show the search toolbar\r\n const onInternalSearchClick = (event: any) => {\r\n setSearchText(\"\"); //clear the entered search text.\r\n setSearchShown(true); //Need to do this to force re-render\r\n };\r\n\r\n //fires when the user presses the enter key or clicks on the glass icon to fire a search\r\n //hides the search bar (thats actually not what materialui.io says but thats what we like)\r\n const onDoSearch = () => {\r\n setSearchShown(false);\r\n if (props.onSearchClick) {\r\n //get the search text entered and pass it to the callback\r\n props.onSearchClick(searchText);\r\n }\r\n };\r\n\r\n //Cancel the search, clear the text, hide the search bar. Escape or the X icon does this\r\n const onCancelSearch = (event: any) => {\r\n setSearchText(\"\"); //clear the entered search text.\r\n setSearchShown(false); //just hide the search\r\n if(props.onSearchClosed)\r\n {\r\n props.onSearchClosed();\r\n }\r\n };\r\n\r\n //Draws another AppBar over the top as a search bar.\r\n const renderSearchBar = (): JSX.Element => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (event.keyCode === 13 || event.key === \"Enter\") {\r\n //End our search\r\n onDoSearch();\r\n } else if (event.key === \"Escape\") {\r\n onCancelSearch({});\r\n }\r\n }}\r\n onChange={(event) => {\r\n //adding the onChange event\r\n setSearchText(event.target.value);\r\n }}\r\n placeholder=\"Search...\"\r\n inputProps={{ \"aria-label\": \"search\" }}\r\n value={searchText}\r\n />\r\n \r\n {props.searchIconElement ? (\r\n props.searchIconElement\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n // SUBMENU SELECTION CLICK /////////////////////////////////////////////////////////\r\n let menu_items:any;\r\n\r\n //pick our left or right menu items\r\n if (isNavClicked && props.leftMenuItems) {\r\n menu_items = props.leftMenuItems; //TL-BL\r\n } else if (props.rightMenuItems) {\r\n menu_items = props.rightMenuItems; //TR-BR\r\n }\r\n\r\n //If we have menu items then add them to the menu_array so we will add the\r\n //closemenu to the onclick if the menu is shown.\r\n if (menu_items) {\r\n //Get list of unique nav menuitem id's\r\n menu_items.forEach(function (itemx: any, ix: number) {\r\n var idd = itemx.props.id;\r\n if (action_list[idd] === undefined) {\r\n action_list[idd] = { id: idd, _prop: itemx.props, hasClick: false };\r\n menu_array.push(idd);\r\n }\r\n });\r\n }\r\n\r\n ////////////////////////////////////////////////////////////////////////////////////\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* LEFT ZONE */}\r\n\r\n {/* BACK CLICK */}\r\n {props.onBackClick && !searchShown ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {/* NAVIGATION MENU CLICK */}\r\n {props.leftMenuItems && !searchShown ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {/* SIDE PANEL */}\r\n {\r\n props.panelIconElement && \r\n \r\n {props.panelIconElement}\r\n \r\n }\r\n\r\n {\r\n /* TITLE */\r\n props.title && props.title.length > 0 && !searchShown ? (\r\n {props.title}\r\n ) : null\r\n }\r\n\r\n {/* MENU */}\r\n \r\n {menu_items}\r\n \r\n\r\n {!searchShown ? (\r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n {/* RIGHT SIDE */}\r\n\r\n {/* APPBAR EXPANDING SPLITTER DO NOT EVER REMOVE*/}\r\n\r\n {!searchShown ? (\r\n \r\n ) : null}\r\n\r\n {\r\n /* RIGHT ACTION ICON BUTTONS */\r\n !searchShown && props.children ? props.children : null\r\n }\r\n\r\n {\r\n /* SHOW THE SEARCH OPEN BUTTON */\r\n props.onSearchClick && !searchShown ? (\r\n \r\n {props.searchIconElement ? (\r\n props.searchIconElement\r\n ) : (\r\n \r\n )}\r\n \r\n ) : null\r\n }\r\n\r\n {\r\n /* VERTICAL MORE ICON BUTTONS */\r\n props.rightMenuItems && !searchShown ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n\r\n {\r\n /* FAB */\r\n props.fabIconElement === undefined || searchShown ? (\r\n <>\r\n ) : (\r\n \r\n {props.fabIconElement}\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n\r\n {/* SEARCH BOX just render another appbar over the top of this one, simples*/}\r\n {searchShown ? renderSearchBar() : null}\r\n\r\n {/** Used to space out under the app bar\r\n * If we have a fabIcon then we need to double space to make sure we dont block access to the content.\r\n */}\r\n {props.fabIconElement !== undefined && props.isBottomBar ? (\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\nexport default FPAppbar;\r\n","export default __webpack_public_path__ + \"static/media/jamhawbannerpure.3f2704ca.gif\";","export default __webpack_public_path__ + \"static/media/drinkaware.9473843f.png\";","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\n//import {IsMobile} from \"./MainLibrary\";\r\n\r\nexport const AboutUs = () => {\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 520,\r\n },\r\n \r\n }}\r\n >\r\n \r\n About Us

\r\n Jam-Haw is a private party created by Roy & Hazel Fagon.

\r\n With the long success of the Halloween parties that ran from 2000 to 2015 it was time to call it a day and\r\n instead come up with something that was just as fun but easy to maintain.

\r\n Having travelled to the Hawaiian islands and the Caribbean we thought it would be a good idea to celebrate\r\n both cultures, so we created Jam-Haw.

\r\n At Jam-Haw you can join in on our celebration that brings family, friends and associates together\r\n for one day that consists of drinking, dancing and singing.

\r\n Enjoy the Jamaican delights of hot cooked food and strong rum and the Hawaiian culture of relaxing\r\n with a miriad of strong cocktails and to top it all we also have a large Karaoke venue.

\r\n The food is freshly cooked by us and the outdoor bar consists of two professional\r\n Mixologists which we hire every year.

At night time you can dance the evening away to our indoor/outdoor disco.

\r\n
\r\n \r\n
\r\n );\r\n}","export default __webpack_public_path__ + \"static/media/drinks_list_2.703b886e.png\";","export default __webpack_public_path__ + \"static/media/kramer.0e30067a.gif\";","export default __webpack_public_path__ + \"static/media/woman1.f1809640.gif\";","export default __webpack_public_path__ + \"static/media/woman2.036a1aa8.gif\";","export default __webpack_public_path__ + \"static/media/woman3.a7162eaf.gif\";","export default __webpack_public_path__ + \"static/media/rogen.aaf4e1a4.gif\";","export default __webpack_public_path__ + \"static/media/murray.df863c7b.gif\";","export default __webpack_public_path__ + \"static/media/belusci.f9c4ec14.gif\";","export default __webpack_public_path__ + \"static/media/peg.bbb388b1.gif\";","export default __webpack_public_path__ + \"static/media/monica.c157bd7b.gif\";","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\n\r\nimport drinks_menu from '../images/drinks_list_2.png';\r\nimport gif_kramer from '../images/gif/kramer.gif';\r\nimport gif_woman1 from '../images/gif/woman1.gif';\r\nimport gif_woman2 from '../images/gif/woman2.gif';\r\nimport gif_woman3 from '../images/gif/woman3.gif';\r\nimport gif_rogen from '../images/gif/rogen.gif';\r\nimport gif_murray from '../images/gif/murray.gif';\r\nimport gif_belusci from '../images/gif/belusci.gif';\r\nimport gif_peg from '../images/gif/peg.gif';\r\nimport gif_monica from '../images/gif/monica.gif';\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n canvas: {\r\n width: \"calc(100% - 105px)\",\r\n // height: \"300px\",\r\n },\r\n\r\n}))\r\n\r\nexport function Drinks(props: any): JSX.Element {\r\n \r\n const dispatch = useDispatch();\r\n\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n }, [dispatch]); \r\n \r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n // width: 400,\r\n // height: 600,\r\n },\r\n }}\r\n >\r\n \r\n Drinks

\r\n What would a party be without booze?

\r\n As you will see when you get here the last thing\r\n anyone has to worry about is what to drink.\r\n We have a vast (and I mean vast) amounts of\r\n alcohol and fizzy drinks.

\r\n The Caribbean bar is where the actions at.

\r\n This bar is usually manned by two mixologists\r\n that can create any cocktail (within reason) for you.

\r\n We try and keep the range of cocktails to a set\r\n menu but that doesn't mean you can't go off-piste\r\n providing we have all the ingredients.

\r\n Previous parties have taught us what to expect and\r\n not to run out of the essentials like Rum, Vodka\r\n and Ice.

Ice being the most important part of it.\r\n The hot summer of 2018 was a challenge but we got\r\n through it with a little help from our friends\r\n and Tescos.

\r\n We serve Champagne, Cava and Presecco throughout \r\n the day and night followed by our white Wine\r\n and a large selection of reds.

\r\n Because the drinks flow quite freely at our\r\n party we insist that you pace yourself and try\r\n not to get sick our cause trouble.

\r\n This is our home and not a hired venue so respect\r\n us and we'll always repect you.

\r\n Feel free to bring some extra bottles of bubbly\r\n as a token but you're not obligated to bring\r\n anything but yourself and a big smile, and of\r\n course your best singing voice.
\r\n
\r\n \r\n \r\n
\r\n
\r\n \"drinks_menu\"\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \"gif_kramer\"\r\n \"gif_woman1\"\r\n \"gif_woman2\"\r\n \"gif_woman3\"\r\n \"gif_rogen\"\r\n \"gif_murray\"\r\n \"gif_belusci\"\r\n \"gif_peg\"\r\n \"gif_monica\"\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/carlton.6d025f61.gif\";","export default __webpack_public_path__ + \"static/media/studio.a6b10ad6.jpg\";","export default __webpack_public_path__ + \"static/media/lounge.964b6fa4.jpg\";","export default __webpack_public_path__ + \"static/media/dolby.02a40be4.jpg\";","export default __webpack_public_path__ + \"static/media/cave.8ba3056b.jpg\";","export default __webpack_public_path__ + \"static/media/outdoor.5213c143.jpg\";","import '../css/App.css';\r\nimport carlton from '../images/carlton.gif';\r\nimport studio from '../images/studio.jpg';\r\nimport lounge from '../images/lounge.jpg';\r\nimport dolby from '../images/dolby.jpg';\r\nimport cave from '../images/cave.jpg';\r\nimport outdoor from '../images/outdoor.jpg';\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\n//import {IsMobile} from \"./MainLibrary\";\r\n\r\nexport function Music(props: any): JSX.Element {\r\n\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 400,\r\n height: 600,\r\n },\r\n }}\r\n >\r\n \r\n Music

\r\n Being an avid musician and film fanatic it\r\n would seem only fitting that I would be using\r\n a reasonable good sound system to deliver all the\r\n great music you will hear at this event.

\r\n Internally there's a 7.1 Dolby Surround DENON\r\n system in the Champagne lounge and a 7.1 Dolby\r\n Surround Panasonic system in The Cave.

\r\n Outside the house are four 40w marine-proof speakers\r\n that are connected to another Panasonic amplifier\r\n that is situated in my Audio Production Studio\r\n upstairs.

There are also two 60w speakers mounted\r\n outside the Caribbean Bar along with an external \r\n Bass-Woofer.

\r\n The music usually plays on (outside) till 2 AM\r\n but the Karaoke tends to take on a life all of\r\n it's own and continues further into the morning.

\r\n Our neighbours are well informed of the event and\r\n so far we've never had any issues with them.

\r\n Mainly because they're either with us or away. \r\n
\r\n \r\n \r\n \"studio\"/
\r\n Audio Production Studio\r\n
\r\n \r\n \"lounge\"/
\r\n Champagne Lounge\r\n
\r\n \r\n \"dolby\"/
\r\n Dolby 7.1 Surround & THX\r\n
\r\n \r\n \"carlton\"/
\r\n Carlton\r\n
\r\n \r\n \"cave\"/
\r\n The Cave\r\n
\r\n \r\n \"outdoor\"/
\r\n 4x Outdoor Speaker System\r\n
\r\n \r\n
)\r\n}\r\n\r\nexport default Music;\r\n","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport '../css/App.css';\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\nexport function Faq(props: any): JSX.Element {\r\n\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n About Us

\r\n\r\n
Q1) Can I wear a costume?
\r\n

Yes you can. Anything in the theme of pirates, mermaids, English sailing uniform, nautical, Hawaiian, Caribbean and Cuban

\r\n
Q2) How many people can I bring?
\r\n

We like to say a maximum of four people including yourself, but you must be able to vouch for the character and\r\n behavior of everyone as you will be held responsible. And if they get out of hand, they will be asked "POLITELY" to leave.

\r\n
Q3) Do you cater for vegetarians?
\r\n

Yes, they'll be a few salad leafs that you can all suck on for the night. Seriously we have a lot of good none meat stuff as well. Everyone is catered for here.

\r\n
Q4) Can I crash at your place?
\r\n

If you're still at the party till 04:00 then you're welcome to bring a sleeping bag and crash out in \"The Cave\" and join the breakfast crowd.

\r\n
Q5) Should I bring a bottle?
\r\n

Their will be plenty to drink from the Carribbean Bar but the more there is, the more there is. We prefer you bring us some bubbly as we don't mind having a lot of that left over to consume over the winter months.

\r\n
Q6) Are you having fireworks this year?
\r\n

Maybe. We can then all walk donw to the nearby park and set them off..

\r\n
Q7) How long does it take you to prepare this party?
\r\n

We start preparing the garden a couple of weeks before July\r\n and then catering the last few days before the party. The Caribbean bar & club always has a thorough clean-up and gets fully stocked.

\r\n
Q8) Do the neighbours moan about the noise?
\r\n

Ask 'em when you see 'em they'll be here. or on holiday.

\r\n
Q9) How long does it take you to clean-up and pack away?
\r\n

One day (with a little help).

\r\n
Q10) Can we bring our kids?
\r\n

Alas no. It's strictly an adults only venue. Ages 16 and 17 are allowed under parental supervision..

\r\n
Q11) What do you get out of all this?
\r\n

We get to show our friends how much we love 'em all and how you can really throw a brilliant party. Plus when someone tells you that they've had the best Hallowe'en party ever and no other party can touch\r\n yours then you know you've done something great.

\r\n
Q12) Why don't you charge people entry?
\r\n

We are not a public venue, we are not trying to make money, we don't do this because we have to, we do this because we love you all\r\n and if for one night of the year us grown-ups can forget about all our troubles and enjoy that little bit of magic that we had when we were\r\n kids then it's all been worth it. We don't live in wonder or magic anymore but we can still create it.

\r\n
Q13) How long does it take you to clean up and get back to normal?
\r\n

Usually one day (weather permitting).

\r\n
Q14) What time should I arrive (and go)?
\r\n

This year we're starting at 16:30 -17:00 to give us time to get ready and meet you at the door.

\r\n \r\n
\r\n \r\n
)\r\n}\r\n\r\nexport default Faq;\r\n","import React from \"react\";\r\nimport '../css/App.css';\r\nimport {IImage, IPicture} from './MainInterface';\r\nimport Carousel from \"react-material-ui-carousel\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {IsMobile} from \"./MainLibrary\";\r\n//import { Carousel } from 'react-responsive-carousel';\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\r\nimport { FullScreen, useFullScreenHandle } from \"react-full-screen\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n canvas: {\r\n textAlign: \"center\",\r\n // borderStyle: \"solid\",\r\n // borderColor: \"red\",\r\n // borderWidth: \"2px\", \r\n width: \"70%\",\r\n height: \"70%\",\r\n marginLeft:\"15%\",\r\n },\r\n card_canvas: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n textAlign: \"center\",\r\n // borderStyle: \"solid\",\r\n // borderColor: \"green\",\r\n // borderWidth: \"2px\", \r\n margin: \"10px\",\r\n },\r\n carousel_canvas:{\r\n width: \"100%\",\r\n height: \"100%\",\r\n \r\n //textAlign: \"center\",\r\n // borderStyle: \"solid\",\r\n // borderColor: \"blue\",\r\n // borderWidth: \"2px\", \r\n padding: \"10px\",\r\n }\r\n}))\r\n\r\n/**\r\n * Displays a carousel image selection\r\n * @param images - array of picture ids\r\n * @param photo - holds function handle for image interaction\r\n * @returns\r\n */\r\nfunction ShowImages(_img:IPicture) {\r\n const classes = useStyles();\r\n let cards: JSX.Element[] = [];\r\n //console.log(\"ShowCards:\", _img);\r\n _img.images.forEach(function (image: IImage, i: number) {\r\n //let base64 = \"data:image/jpeg;base64,\" + image.original;\r\n cards.push(\r\n \r\n
\r\n {/* {\"image\" */}\r\n {\"image\"\r\n
\r\n
\r\n );\r\n });\r\n return cards;\r\n}\r\n\r\nexport function PictureViewerX(_picture: IPicture): JSX.Element {\r\n const classes = useStyles();\r\n //console.log(\"_picture:\", _picture);\r\n return (\r\n
\r\n \r\n {ShowImages(_picture)}\r\n \r\n
)\r\n}\r\n\r\nexport default PictureViewerX;\r\n","import '../css/App.css';\r\nimport React from \"react\";\r\nimport { Theme } from \"@material-ui/core/styles\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Button from '@mui/material/Button';\r\nimport { styled } from '@mui/material/styles';\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport {IImage, IPicture} from './MainInterface';\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\nimport { Gallery2022 } from './gallery/Gallery2022';\r\nimport { Gallery2021 } from './gallery/Gallery2021';\r\nimport { Gallery2019 } from './gallery/Gallery2019';\r\nimport { Gallery2018 } from './gallery/Gallery2018';\r\nimport { Gallery2017 } from './gallery/Gallery2017';\r\nimport { Gallery2016 } from './gallery/Gallery2016';\r\nimport { Gallery2015 } from './gallery/Gallery2015';\r\nimport { Gallery2014 } from './gallery/Gallery2014';\r\nimport { Gallery2013 } from './gallery/Gallery2013';\r\nimport PictureViewerX from './PictureViewerX';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n btn: {\r\n marginTop: \"5px\",\r\n marginRight: \"5px\",\r\n padding: \"2px\",\r\n },\r\n canvas:{\r\n width: \"100%\",\r\n height: \"100%\",\r\n }\r\n}))\r\n\r\nconst years:string[] = [\"2022\", \"2021\",\"2019\",\"2018\",\"2016\",\"2015\",\"2014\",\"2013\"];\r\n\r\nvar img:IImage[] = []; \r\n\r\n\r\nconst BootstrapButton = styled(Button)({\r\n boxShadow: 'none',\r\n textTransform: 'none',\r\n fontSize: 16,\r\n padding: '6px 12px',\r\n border: '1px solid',\r\n marginRight: '4px',\r\n marginBottom: '4px',\r\n lineHeight: 1.5,\r\n backgroundColor: '#0063cc',\r\n borderColor: '#0063cc',\r\n fontFamily: [\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n '&:hover': {\r\n backgroundColor: '#0069d9',\r\n borderColor: '#0062cc',\r\n boxShadow: 'none',\r\n },\r\n '&:active': {\r\n boxShadow: 'none',\r\n backgroundColor: '#0062cc',\r\n borderColor: '#005cbf',\r\n },\r\n '&:focus': {\r\n boxShadow: '0 0 0 0.2rem rgba(255,255,0,.5)',\r\n },\r\n});\r\n\r\nexport function Picture(): JSX.Element {\r\n const classes = useStyles();\r\n const images:IPicture[] = []; \r\n\r\n const [selectedYear, SetSelectedYear] = React.useState(years[0]);\r\n\r\n const handleUserChange = (event: any) => {\r\n //console.log(event.currentTarget.id.split(\"_\")[1]);\r\n SetSelectedYear(event.currentTarget.id.split(\"_\")[1]);\r\n };\r\n\r\n if(selectedYear)\r\n {\r\n switch(selectedYear){\r\n case '2022': img = Gallery2022().images; break;\r\n case '2021': img = Gallery2021().images; break;\r\n case '2019': img = Gallery2019().images; break;\r\n case '2018': img = Gallery2018().images; break;\r\n case '2017': img = Gallery2017().images; break;\r\n case '2016': img = Gallery2016().images; break;\r\n case '2015': img = Gallery2015().images; break;\r\n case '2014': img = Gallery2014().images; break;\r\n case '2013': img = Gallery2013().images; break;\r\n }\r\n //console.log(selectedYear, img);\r\n //SetYearGallery(year);\r\n //SetGallery(img.images); \r\n }\r\n //console.log(years);\r\n let ip = {images : img};\r\n\r\n return (\r\n
\r\n \r\n\r\n {years.map((item, index) => (\r\n \r\n \r\n {item}\r\n \r\n\r\n\r\n ))}\r\n\r\n \r\n \r\n \r\n Gallery {selectedYear}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
)\r\n}\r\n\r\nexport default Picture;\r\n","import {IImage} from '../MainInterface';\r\n\r\nexport function Gallery2022(){\r\n \r\n let images:IImage[] = [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2022/IMG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2022/SML_068.jpg\"\r\n }\r\n ];\r\n return { \r\n images \r\n } \r\n}","\r\n\r\nexport function Gallery2021(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_080.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_080.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_081.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_081.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_083.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_083.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2021/LRG_085.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2021/SML_085.jpg\"\r\n }\r\n ]\r\n }\r\n}","\r\n\r\nexport function Gallery2019(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_080.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_080.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_081.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_081.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_083.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_083.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_085.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_085.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_086.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_086.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_087.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_087.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_088.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_088.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_089.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_089.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_090.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_090.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_091.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_091.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_092.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_092.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_093.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_093.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_094.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_094.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_095.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_095.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_096.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_096.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_097.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_097.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_098.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_098.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_099.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_099.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_100.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_100.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2019/IMG_101.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2019/SML_101.jpg\"\r\n }\r\n ]\r\n }\r\n}","\r\n\r\nexport function Gallery2018(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_080.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_080.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_081.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_081.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_083.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_083.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_085.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_085.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_086.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_086.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_087.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_087.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_088.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_088.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_089.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_089.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_090.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_090.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_091.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_091.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_092.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_092.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_093.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_093.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_094.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_094.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_095.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_095.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_096.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_096.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_097.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_097.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_098.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_098.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_099.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_099.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_100.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_100.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_101.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_101.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_102.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_102.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_103.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_103.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_104.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_104.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_105.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_105.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_106.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_106.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_107.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_107.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_108.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_108.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_109.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_109.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_110.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_110.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_111.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_111.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_112.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_112.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_113.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_113.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_114.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_114.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_115.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_115.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_116.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_116.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_117.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_117.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_118.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_118.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_119.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_119.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_120.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_120.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_121.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_121.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_122.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_122.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_123.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_123.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_124.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_124.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_125.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_125.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_126.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_126.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_127.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_127.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_128.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_128.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_129.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_129.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_130.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_130.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_131.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_131.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_132.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_132.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_134.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_134.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_135.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_135.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_136.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_136.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_137.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_137.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_138.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_138.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_139.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_139.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_140.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_140.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_141.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_141.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_142.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_142.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_143.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_143.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2018/IMG_144.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2018/SML_144.jpg\"\r\n }\r\n ]\r\n }\r\n}","\r\nexport function Gallery2017(){\r\n\r\n return {\r\n \"images\": [\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_001.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_001.jpg\",\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_002.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_002.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_003.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_003.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_004.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_004.jpg\",\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_005.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_005.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_006.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_006.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_007.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_007.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_008.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_008.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_009.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_009.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_010.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_010.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_011.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_011.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_012.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_012.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_013.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_013.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_014.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_014.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_015.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_015.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_016.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_016.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_017.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_017.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_018.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_018.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_019.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_019.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_020.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_020.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_021.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_021.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_022.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_022.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_023.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_023.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_024.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_024.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_025.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_025.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_026.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_026.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_027.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_027.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_028.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_028.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_029.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_029.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_030.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_030.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_031.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_031.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_032.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_032.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_033.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_033.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_034.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_034.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_035.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_035.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_036.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_036.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_037.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_037.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_038.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_038.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_039.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_039.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_040.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_040.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_041.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_041.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_042.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_042.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_043.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_043.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_044.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_044.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_045.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_045.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_046.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_046.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_047.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_047.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_048.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_048.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_049.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_049.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_050.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_050.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_051.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_051.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_052.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_052.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_053.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_053.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_054.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_054.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_055.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_055.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_056.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_056.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_057.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_057.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_058.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_058.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_059.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_059.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_060.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_060.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_061.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_061.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_062.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_062.jpg\"\r\n\t },\r\n\t {\r\n\t \"original\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_063.jpg\",\r\n\t \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2017/SML_063.jpg\"\r\n\t }\r\n\t ]\r\n\t}\r\n}","\r\nexport function Gallery2016(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_080.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_080.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_081.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_081.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_083.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_083.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_085.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_085.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_086.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_086.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_087.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_087.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_088.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_088.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_089.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_089.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_090.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_090.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_091.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_091.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_092.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_092.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_093.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_093.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_094.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_094.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2016/LRG_095.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2016/SML_095.jpg\"\r\n }\r\n ]\r\n }\r\n}","\r\nexport function Gallery2015(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_080.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_080.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_081.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_081.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_083.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_083.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_085.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_085.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_086.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_086.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_087.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_087.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_088.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_088.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_089.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_089.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_090.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_090.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_091.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_091.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_092.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_092.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_093.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_093.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_094.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_094.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_095.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_095.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_096.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_096.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_097.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_097.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_098.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_098.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_099.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_099.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_100.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_100.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_101.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_101.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_102.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_102.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_103.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_103.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_104.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_104.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_105.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_105.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_106.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_106.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_107.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_107.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_108.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_108.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_109.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_109.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_110.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_110.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_111.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_111.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_112.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_112.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_113.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_113.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_114.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_114.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_115.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_115.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_116.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_116.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_117.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_117.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_118.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_118.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_119.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_119.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_120.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_120.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_121.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_121.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_122.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_122.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_123.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_123.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_124.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_124.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_125.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_125.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_126.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_126.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_127.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_127.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_128.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_128.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_129.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_129.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_130.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_130.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_131.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_131.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_132.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_132.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_133.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_133.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_134.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_134.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_135.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_135.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_136.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_136.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_137.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_137.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_138.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_138.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_139.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_139.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_140.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_140.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_141.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_141.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_142.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_142.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_143.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_143.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_144.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_144.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_145.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_145.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2015/IMG_146.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2015/SML_146.jpg\"\r\n }\r\n ]\r\n }\r\n}","\r\nexport function Gallery2014(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2014/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2014/SML_040.jpg\"\r\n } ]\r\n }\r\n}","\r\n\r\nexport function Gallery2013(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/Gallery2013/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/Gallery2013/SML_032.jpg\"\r\n }\r\n ]\r\n }\r\n}","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport '../css/App.css';\r\nimport {IVideoInfo} from \"./MainInterface\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n caption: {\r\n marginLeft: \"5px\",\r\n },\r\n video: {\r\n backgroundColor: \"white\",\r\n display: \"inline-block\",\r\n marginRight: \"10px\",\r\n marginBottom: \"10px\",\r\n borderStyle: \"solid\",\r\n borderWidth: \"2px\",\r\n borderRadius: \"9px\",\r\n borderColor: \"white\",\r\n }, \r\n}))\r\n\r\nexport function VideoPanel(props: IVideoInfo): JSX.Element {\r\n const classes = useStyles();\r\n return(\r\n
\r\n \r\n
{props.caption}
\r\n
\r\n )\r\n}\r\n\r\nexport function Video(props: any): JSX.Element {\r\n //const classes = useStyles();\r\n\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n Video Library
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
)\r\n}\r\n\r\nexport default Video;\r\n","import '../css/App.css';\r\nimport {IImage, IPicture} from './MainInterface';\r\nimport Carousel from \"react-material-ui-carousel\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n canvas: {\r\n textAlign: \"center\",\r\n borderStyle: \"solid\",\r\n borderColor: \"red\",\r\n borderWidth: \"2px\", \r\n width: \"70%\",\r\n height: \"70%\",\r\n marginLeft:\"15%\",\r\n },\r\n card_canvas: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n textAlign: \"center\",\r\n borderStyle: \"solid\",\r\n borderColor: \"green\",\r\n borderWidth: \"2px\", \r\n margin: \"10px\",\r\n },\r\n carousel_canvas:{\r\n width: \"100%\",\r\n height: \"100%\",\r\n \r\n //textAlign: \"center\",\r\n borderStyle: \"solid\",\r\n borderColor: \"blue\",\r\n borderWidth: \"2px\", \r\n padding: \"10px\",\r\n }\r\n}))\r\n\r\n/**\r\n * Displays a carousel image selection\r\n * @param images - array of picture ids\r\n * @param photo - holds function handle for image interaction\r\n * @returns\r\n */\r\nfunction ShowImages(_img:IPicture) {\r\n const classes = useStyles();\r\n let cards: JSX.Element[] = [];\r\n //console.log(\"ShowCards:\", _img);\r\n _img.images.forEach(function (image: IImage, i: number) {\r\n //let base64 = \"data:image/jpeg;base64,\" + image.original;\r\n cards.push(\r\n \r\n
\r\n {/* {\"image\" */}\r\n {\"image\"\r\n
\r\n
\r\n );\r\n });\r\n return cards;\r\n }\r\n\r\n export function PictureViewer(_picture: IPicture): JSX.Element {\r\n const classes = useStyles();\r\n //console.log(\"_picture:\", _picture);\r\n return (\r\n
\r\n \r\n {ShowImages(_picture)}\r\n \r\n
)\r\n}\r\n\r\nexport default PictureViewer;\r\n","export const ViewTypes = {\r\n LOGIN_VIEW: \"LOGIN_VIEW\",\r\n SCANNING_VIEW: \"SCANNING_VIEW\",\r\n CHECK_LIST_VIEW: \"CHECK_LIST_VIEW\",\r\n CAM_SCAN: \"CAM_SCAN\",\r\n SKU_LIST_VIEW: \"SKU_LIST_VIEW\",\r\n COMMENT_VIEW: \"COMMENT_VIEW\",\r\n INFO_VIEW: \"INFO_VIEW\",\r\n DATE_PICKER_VIEW: \"DATE_PICKER_VIEW\",\r\n DETAIL_VIEW: \"DETAIL_VIEW\",\r\n};\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { ILoginResponse } from \"../Framework/Login/Login\";\r\nimport { ViewTypes } from \"../components/views\";\r\nimport { RootState } from \"../store\";\r\nimport { IFPAppbarProps } from \"../Framework/FPAppBar/FPAppbar\";\r\n\r\nexport interface IMessage {\r\n msg_id: string;\r\n app_id: string;\r\n message: string;\r\n}\r\n\r\nexport interface ISubMenu {\r\n zone: string;\r\n title: string;\r\n enabled: boolean;\r\n handler?: JSX.Element;\r\n}\r\n\r\n/***\r\n * Pass TR barcode to SpotCheckLoadTrolleyThunk\r\n */\r\nexport interface ISubMenuArg {\r\n appbar: IFPAppbarProps;\r\n exclude_view: string;\r\n}\r\n\r\nexport interface ISessionState {\r\n credentials_ready: boolean;\r\n notification_count: number;\r\n isLoggedIn: boolean;\r\n isOK: boolean;\r\n isCANCEL: boolean;\r\n currentDate: string;\r\n currentManualBarcode: string;\r\n errorMsg: string;\r\n checklist_error_msg: string;\r\n password: string;\r\n showManualBarcodeEntry: boolean;\r\n showDialog: boolean;\r\n statusText: string;\r\n userName: string;\r\n isSupervisor: boolean;\r\n passed: boolean;\r\n view: string;\r\n last_view: string;\r\n subMenu: ISubMenu[];\r\n showWait: boolean;\r\n check_results: string;\r\n}\r\n\r\nconst initialState: ISessionState = {\r\n credentials_ready: false,\r\n isLoggedIn: false,\r\n isOK: false,\r\n isCANCEL: false,\r\n currentDate: \"\",\r\n currentManualBarcode: \"\",\r\n errorMsg: \"\",\r\n checklist_error_msg: \"\",\r\n notification_count: 0,\r\n showManualBarcodeEntry: false,\r\n showDialog: false,\r\n passed: false,\r\n statusText: \"\",\r\n password: \"\",\r\n userName: \"\",\r\n check_results: \"\",\r\n isSupervisor: false,\r\n view: \"SCANNING_VIEW\",\r\n last_view: \"\",\r\n subMenu: [\r\n { zone: ViewTypes.INFO_VIEW, title: \"INFO\", enabled: true },\r\n { zone: \"LOGOUT\", title: \"Logout\", enabled: true },\r\n ],\r\n showWait: false,\r\n};\r\n\r\nexport const sessionSlice = createSlice({\r\n name: \"session\",\r\n initialState,\r\n reducers: {\r\n /**\r\n * Set current date from datepicker\r\n */\r\n UpdateDate: (state, action: PayloadAction) => {\r\n state.currentDate = action.payload;\r\n //console.log(\"UpdateDate\", state.currentDate);\r\n },\r\n /**\r\n * Sets the screen view\r\n */\r\n UpdateView: (state, action: PayloadAction) => {\r\n state.last_view = state.view;\r\n state.view = action.payload;\r\n },\r\n /**\r\n * Shows the wait cursor\r\n */\r\n UpdateShowWait: (state, action: PayloadAction) => {\r\n state.showWait = action.payload;\r\n },\r\n /**\r\n * Sets the user credentials\r\n */\r\n UpdateCredentials: (state, action: PayloadAction) => {\r\n state.userName = action.payload.user;\r\n state.password = action.payload.password;\r\n state.isSupervisor = action.payload.isSupervisor;\r\n\r\n //console.log(\"UpdateCredentials\", action.payload.isSupervisor);\r\n state.credentials_ready = true;\r\n },\r\n },\r\n extraReducers: (builder) => {},\r\n});\r\n\r\nexport const {\r\n UpdateView,\r\n UpdateDate,\r\n UpdateCredentials,\r\n UpdateShowWait,\r\n} = sessionSlice.actions;\r\n\r\n/**\r\n * View Selected\r\n */\r\nexport const selectView = (rootState: RootState) => {\r\n return rootState.session.view;\r\n};\r\n\r\n/**\r\n * Retain the last view selected so we can go back to previous screen\r\n */\r\nexport const selectLastView = (rootState: RootState) => {\r\n return rootState.session.last_view;\r\n};\r\n\r\n/**\r\n * Gets the submenu component\r\n */\r\nexport const selectSubMenu = (rootState: RootState) => {\r\n return rootState.session.subMenu;\r\n};\r\n\r\n/**\r\n * set the current date\r\n */\r\nexport const selectCurrentDate = (rootState: RootState) => {\r\n return rootState.session.currentDate;\r\n};\r\n\r\n/**\r\n * Gets the current credentials\r\n */\r\nexport const selectCredentials = (rootState: RootState) => {\r\n return {\r\n user: rootState.session.userName,\r\n password: rootState.session.password,\r\n isSupervisor: rootState.session.isSupervisor,\r\n };\r\n};\r\n\r\n/**\r\n * Retains the pass status for the save operation\r\n */\r\nexport const selectHasPassed = (rootState: RootState) => {\r\n return rootState.session.passed;\r\n};\r\n\r\n/**\r\n * Concatenated string of check results\r\n */\r\nexport const selectCheckResults = (rootState: RootState) => {\r\n return rootState.session.check_results;\r\n};\r\n\r\n/**\r\n * Confirms that the user has completed login\r\n */\r\nexport const selectCredentialsReady = (rootState: RootState) => {\r\n return rootState.session.credentials_ready;\r\n};\r\n\r\nexport default sessionSlice.reducer;\r\n","import { IFPAppbarProps } from \"../Framework/FPAppBar/FPAppbar\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useAppDispatch } from \"../Framework/hooks\";\r\nimport { IMenuItem, menu_list} from './MainContainer';\r\nimport { UpdateView, selectSubMenu } from \"../redux/SessionSlice\";\r\nimport { ViewTypes } from \"./views\";\r\n\r\ndeclare global {\r\n interface Window {\r\n device: any;\r\n }\r\n}\r\nexport const GetDate = (dtx:string) => {\r\n if(dtx !== null)\r\n {\r\n let dt = dtx.replace(\")/\",\"\").replace(\"/Date(\",\"\");\r\n //console.log(\"DATE:\", dt);\r\n let d = new Date(Number(dt));\r\n return String(d.getDate()).padStart(2, '0')+\"-\"+String(d.getMonth()+1).padStart(2, '0')+\"-\"+d.getFullYear();\r\n }\r\n return \"\";\r\n}\r\n\r\nexport const GetUnleashedDate = (dtx:string) => {\r\nif(dtx !== null)\r\n{\r\n let dt = dtx.replace(\")/\",\"\").replace(\"/Date(\",\"\");\r\n //console.log(\"DATE:\", dt);\r\n let d = new Date(Number(dt));\r\n //console.log(\"DATE2:\", d.toISOString());\r\n return d.toISOString();\r\n}\r\nreturn \"\";\r\n}\r\n\r\nexport const GetAWS_Date = (dtx:string) => {\r\n if(dtx !== null)\r\n {\r\n //console.log(\"DATE:\", dtx);\r\n let d = (new Date(dtx.substring(0, 10)));\r\n return String(d.getDate()).padStart(2, '0')+\"-\"+String(d.getMonth()+1).padStart(2, '0')+\"-\"+d.getFullYear();\r\n }\r\n return \"\";\r\n}\r\nexport const IsMobile = () => {\r\n let elem = document.getElementById(\"root\");\r\n let rect = elem!.getBoundingClientRect(); \r\n if(rect.width < 645)\r\n {\r\n return true;\r\n } \r\n return false;\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n show: {\r\n color: \"black\",\r\n },\r\n hide: {\r\n color: \"silver\",\r\n },\r\n}));\r\n\r\nexport const GetMenutTitle = (key: string) => {\r\n\r\n let title:string = \"UNKNOWN\";\r\n menu_list.forEach((item:IMenuItem, i:number) => {\r\n\r\n if(key === item.key)\r\n {\r\n title = item.title;\r\n }\r\n\r\n if(item.subitems.length>0)\r\n {\r\n item.subitems.forEach((subitem:IMenuItem, ii:number) => {\r\n if(key === subitem.key)\r\n {\r\n title = subitem.title;\r\n } \r\n })\r\n }\r\n })\r\n return title;\r\n}\r\n\r\n/**\r\n * Updates the menu items in the submenu navigation list by retrieving the view info from the SessionSlice\r\n * and adding it to the appbar object barProps.\r\n * @param barProps\r\n * @param exclude_view\r\n */\r\nexport function GetSubMenu(barProps: IFPAppbarProps, exclude_view: string) {\r\n //const trolleyData = useSelector(selectTrolleyData);\r\n //const sessionView = useSelector(selectView);\r\n const dispatch = useAppDispatch();\r\n const classes = useStyles();\r\n const state = useSelector((state: any) => state);\r\n const subMenu = useSelector(selectSubMenu);\r\n\r\n const navigationOnMenuItemClick = (event: any) => {\r\n //console.log(\"GetSubMenu\", event.currentTarget.id);\r\n let view = event.currentTarget.id;\r\n\r\n if (view === \"LOGOUT\") {\r\n console.log(\"LOGOUT\");\r\n localStorage.setItem(\"fp_pswd\", \"\");\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n if (view === ViewTypes.INFO_VIEW) {\r\n //Goto INFO_VIEW\r\n //console.log(\"ClearObjectSession\", view);\r\n setTimeout(function () {\r\n dispatch(UpdateView(ViewTypes.DATE_PICKER_VIEW));\r\n }, 500);\r\n }\r\n };\r\n\r\n barProps.rightMenuItems = [];\r\n subMenu.forEach(function (item: any, i: number) {\r\n if (item.zone !== exclude_view) {\r\n if (item.enabled || state.systems.systems[0] === \"DEV\") {\r\n barProps.rightMenuItems!.push(\r\n \r\n {item.title}\r\n \r\n );\r\n return;\r\n }\r\n\r\n barProps.rightMenuItems!.push(\r\n \r\n {item.title}\r\n \r\n );\r\n }\r\n });\r\n}\r\n\r\n/**\r\n *\r\n * @returns Returns a current datetime in YYYY-MM-DDTHH:MM:SS.MMMZ format.\r\n */\r\nexport function GetTodaysDate() {\r\n let julianDate = \"\";\r\n let date = new Date();\r\n julianDate = date.getFullYear() + \"-\";\r\n julianDate =\r\n julianDate +\r\n (date.getMonth() + 1 < 10\r\n ? \"0\" + (date.getMonth() + 1)\r\n : date.getMonth() + 1) +\r\n \"-\";\r\n julianDate =\r\n julianDate + (date.getDate() < 10 ? \"0\" + date.getDate() : date.getDate());\r\n julianDate = julianDate + \"T00:00:00.000Z\";\r\n return julianDate;\r\n}\r\n","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport { GalleryBar } from './gallery/GalleryBar';\r\nimport PictureViewer from './PictureViewer';\r\nimport {GetMenutTitle} from './MainLibrary';\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n//import {IsMobile} from \"./MainLibrary\";\r\n\r\nlet ip = {images : GalleryBar().images};\r\n\r\nexport const Bar = () => {\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n The Bar

\r\n How the bar became to be is a very long story that involves my friends in Dorset and a hotel in Kiev.

\r\n I won't go into it here but it started as an in-joke with my friends and a nigthclub in Kiev called \r\n the \"Caribbean Club\" where I was sitting alone in a huff until they all turned up laughing on how I \r\n made my Humphrey Bogart-like exit from the hotel with my Fedora hat-flip and the last words:- \"If anyone wants me.

\r\n I'll be in the Caribbean Club\".

\r\n That phrase became the current get-me-out-of-here excuse for a long time.

\r\n So in homage to that night (unknown to them) I created the bar for the last Halloween party in 2013.

\r\n The bar was a success that night and over the next few years I started adding elements to it \r\n like a sink, fridge, chest freezer etc. It also became apparent that we should out-source the bar to a \r\n professional team who can really make things run a lot more smoothly. The \"Mixology Group\" in Brighton \r\n was the company we eventually approached for this task. We have now used professional mixologists for \r\n four years now and will continue doing this.

\r\n The bar it'self will continue to be improved over the coming years.

\r\n
\r\n \r\n \r\n
\r\n \r\n {GetMenutTitle(\"BAR\")}\r\n \r\n
\r\n \r\n
\r\n );\r\n}","\r\nexport function GalleryBar(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_014.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_036.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_036.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_051.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_052.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_052.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_053.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_053.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_054.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_054.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_055.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_055.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_056.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_056.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_057.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_057.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_058.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_058.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_059.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_059.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_060.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_060.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_061.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_061.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_062.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_062.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_063.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_063.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_064.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_064.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_065.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_065.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_066.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_066.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_067.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_067.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_068.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_068.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_069.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_069.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_070.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_070.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_071.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_071.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_072.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_072.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_073.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_073.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_074.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_074.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_075.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_075.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_076.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_076.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_077.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_077.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_078.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_078.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_079.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_079.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_082.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_082.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_084.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_084.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_088.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_088.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_089.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_089.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_090.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_090.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_091.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_091.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_092.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_092.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_093.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_093.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_094.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_094.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_095.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_095.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_096.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_096.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_097.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_097.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_099.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_099.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_100.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_100.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_101.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_101.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_102.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_102.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_103.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_103.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_104.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_104.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_105.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_105.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_106.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_106.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerybar/IMG_107.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerybar/SML_107.jpg\"\r\n }\r\n ]\r\n }\r\n\r\n}","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport { GalleryFood } from './gallery/GalleryFood';\r\nimport PictureViewer from './PictureViewer';\r\nimport {GetMenutTitle} from './MainLibrary';\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n//import {IsMobile} from \"./MainLibrary\";\r\n\r\nlet ip = {images : GalleryFood().images};\r\n\r\nexport const Food = () => {\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n The Food

\r\n I think I can say that the thing people look forward to the most would be the catering.

\r\n At the JamHaw event we do our own catering.

\r\n Me and Hazel will be working hard on the day to deliver a huge selection of Caribbean \r\n and traditional hot dishes along with the BBQ grill that will be open for use during the whole event.

\r\n Some of the dishes take about four days to prepare and the rest is done the night before or early that morning.

\r\n The food is kept hot throughout the event by numereous hot-plates and Chafer dishes.

\r\n We cater for both carnivore and vegan palettes.

\r\n You can also bring your own dietry requirements if you so wish. You can see a list of some of our \r\n dishes on the right-hand side of this page.

\r\n
\r\n \r\n \r\n
\r\n \r\n {GetMenutTitle(\"FOOD\")}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}","\r\n\r\nexport function GalleryFood(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_015.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_015.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_016.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_016.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_017.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_017.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_018.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_018.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_019.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_019.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_020.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_020.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_021.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_021.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_022.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_022.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_023.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_023.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_024.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_024.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_025.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_025.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_026.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_026.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_027.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_027.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_028.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_028.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_029.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_029.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_030.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_030.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_031.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_031.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_032.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_032.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_033.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_033.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_034.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_034.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_035.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_035.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_037.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_037.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_038.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_038.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_039.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_039.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_040.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_040.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_041.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_041.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_042.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_042.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_043.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_043.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_044.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_044.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_045.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_045.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_046.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_046.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_047.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_047.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_048.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_048.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_049.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_049.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_050.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_050.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/galleryfood/IMG_051.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/galleryfood/SML_051.jpg\"\r\n }\r\n ]\r\n }\r\n}","import Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport { GalleryKaraoke } from './gallery/GalleryKaraoke';\r\nimport PictureViewer from './PictureViewer';\r\nimport {GetMenutTitle} from './MainLibrary';\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n//import {IsMobile} from \"./MainLibrary\";\r\n\r\nlet ip = {images : GalleryKaraoke().images};\r\n\r\nexport const Karaoke = () => {\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n Karaoke

\r\n Karaoke was invented in Japan in 1971, where Daisuke Inoue created the first karaoke-style machine.

\r\n It quickly spread through the rest of Asia, taking hold of the world's clubs and lounges by the 1990s.

\r\n So that's the history bit out of the way.

\r\n At JamHaw you have a fully functioning Karaoke system which is situated in \"The Cave\" \r\n where you can sing to your hearts content. This is a fully equipped Karaoke with the latest hardware \r\n and software to make you karaoke experience memorable.

\r\n We use the famous online service \"Lucky Voice\" \r\n to provide all the songs.

\r\n click here to see a list of songs or download the pdf.

\r\n
\r\n \r\n \r\n
\r\n \r\n {GetMenutTitle(\"KARAOKE\")}\r\n \r\n
\r\n \r\n
\r\n );\r\n}","\r\n\r\nexport function GalleryKaraoke(){\r\n\r\n return {\r\n \"images\": [\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_001.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_001.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_002.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_002.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_003.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_003.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_004.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_004.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_005.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_005.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_006.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_006.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_007.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_007.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_008.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_008.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_009.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_009.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_010.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_010.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_011.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_011.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_012.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_012.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_013.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_013.jpg\"\r\n },\r\n {\r\n \"original\": \"https://jamhaw.com/images/gallery/gallerykaraoke/LRG_014.jpg\",\r\n \"thumbnail\": \"https://jamhaw.com/images/gallery/gallerykaraoke/SML_014.jpg\"\r\n }\r\n ]\r\n }\r\n}","import { ILoginResponse } from \"../Framework/Login/Login\";\r\nimport { ELoadingStatus } from \"./Enums\";\r\n\r\nexport enum View {\r\n \"INITIAL\",\r\n \"ABOUT\",\r\n \"BAR\",\r\n \"FOOD\",\r\n \"DRINK\",\r\n \"MUSIC\",\r\n \"KARAOKE\",\r\n \"GALLERY\",\r\n \"VIDEO\",\r\n \"PICTURE\",\r\n \"PROPS\",\r\n \"MAST\",\r\n \"CANNON\",\r\n \"RIGGING\",\r\n \"CROW\",\r\n \"WHEEL\",\r\n \"CORNER\",\r\n \"SHIP\",\r\n \"FAQ\", \r\n \"CONTACT\",\r\n \"MERCH\",\r\n \"ATTENDEES\",\r\n \"REGISTER\",\r\n \"RSVP\",\r\n \"LOGOUT\", \r\n}\r\n\r\nexport interface IRsvpProps {\r\n handleSubmit: (total: number) => void;\r\n handleExit: () => void;\r\n}\r\n\r\nexport interface IMerchProps {\r\n handleMerchRequest: () => void;\r\n handleClose: () => void;\r\n}\r\n \r\nexport interface IDialogManager {\r\n classx? : any;\r\n title: string;\r\n message: string; \r\n button1: string; \r\n button2?: string;\r\n button3?: string;\r\n exceptionType?: string;\r\n viewType?: string;\r\n data? : any;\r\n}\r\n\r\nexport interface IAttendee{\r\n count: number,\r\n group: string,\r\n email: string,\r\n}\r\n\r\nexport interface IImage {\r\n \"original\": string,\r\n \"thumbnail\": string\r\n}\r\n\r\nexport interface IAttendeeResponse {\r\n \"attendee\": string,\r\n \"response\": string\r\n}\r\n\r\n\r\nexport interface IAttendeeResponse {\r\n \"attendee\": string,\r\n \"response\": string\r\n}\r\n\r\nexport interface IValidationResponse {\r\n \"response\": string,\r\n \"validation\": string\r\n}\r\n\r\nexport interface IMerchandise {\r\n \"email\": string, \r\n \"small\": number,\r\n \"medium\": number,\r\n \"large\": number,\r\n \"xlarge\": number,\r\n}\r\n\r\nexport interface IMerchandiseResponse {\r\n \"response\": string,\r\n}\r\n\r\nexport interface ICredentials {\r\n passWord: string,\r\n userName: string, \r\n groupName: string, \r\n}\r\n\r\n\r\nexport interface IPromptGDPRProps {\r\n handleShow: () => void;\r\n handleAllow: () => void;\r\n}\r\n\r\nexport interface IGDPR {\r\n \"open_modal\": boolean,\r\n \"callback_close\": (event: any) => void;\r\n}\r\n\r\n// Define a type for the slice state\r\nexport interface IJamHawState {\r\n \r\n validate_loading: ELoadingStatus;\r\n attendees_loading: ELoadingStatus;\r\n attendees_response_loading: ELoadingStatus;\r\n merchandise_loading: ELoadingStatus;\r\n merchandise_response_loading: ELoadingStatus;\r\n\r\n error_validate_msg: string;\r\n error_attendees_msg: string;\r\n error_attendees_response_msg: string;\r\n error_merchandise_msg: string;\r\n error_merchandise_response_msg: string;\r\n \r\n isOK: boolean;\r\n isCANCEL: boolean;\r\n dialogMessage: IDialogManager;\r\n showDialog: boolean; \r\n view: string,\r\n loggedIn: boolean,\r\n gdpr: boolean,\r\n galleryMode: boolean,\r\n showMenu: boolean,\r\n showSidebar: boolean,\r\n showFooter: boolean,\r\n credentials: ICredentials, \r\n \r\n attendees: IAttendee[],\r\n attendees_response: IAttendeeResponse | undefined,\r\n\r\n merchandise: IMerchandise[];\r\n merchandise_response: IMerchandiseResponse | undefined,\r\n\r\n validate: IValidationResponse,\r\n gallery: IImage[],\r\n passwordFail: boolean ;\r\n emailFail: boolean ;\r\n \r\n}\r\n\r\n","import '../css/App.css';\r\nimport Paper from '@mui/material/Paper';\r\nimport Box from '@mui/material/Box';\r\nimport {IImage} from './MainInterface';\r\nimport { GalleryMAST } from './gallery/GalleryMAST';\r\nimport { GalleryCANNONS } from './gallery/GalleryCANNONS';\r\nimport { GalleryRIGGING } from './gallery/GalleryRIGGING';\r\nimport { GalleryCROWS_NEST } from './gallery/GalleryCROWS_NEST';\r\nimport { GalleryWHEEL } from './gallery/GalleryWHEEL';\r\nimport { GalleryCPT_CORNER } from './gallery/GalleryCPT_CORNER';\r\nimport { GallerySHIP } from './gallery/GallerySHIP';\r\nimport PictureViewerX from './PictureViewerX';\r\nimport {IView} from './MainContainer';\r\nimport {GetMenutTitle} from './MainLibrary';\r\n//import {IsMobile} from \"./MainLibrary\";\r\nimport {\r\n View,\r\n} from '../redux/JamHawInterface';\r\n\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n\r\nvar img:IImage[] = []; \r\n\r\nexport function Props(vw:IView): JSX.Element {\r\n\r\n switch(vw.view){\r\n case View.MAST: img = GalleryMAST().images; break;\r\n case View.CANNON: img = GalleryCANNONS().images; break;\r\n case View.RIGGING: img = GalleryRIGGING().images; break;\r\n case View.CROW: img = GalleryCROWS_NEST().images; break;\r\n case View.WHEEL: img = GalleryWHEEL().images; break;\r\n case View.CORNER: img = GalleryCPT_CORNER().images; break;\r\n case View.SHIP: img = GallerySHIP().images; break;\r\n }\r\n \r\n let ip = {images : img};\r\n\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n width: 600,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n {GetMenutTitle(View[vw.view])}\r\n \r\n
\r\n \r\n
)\r\n}\r\n\r\nexport default Props;\r\n","\r\n\r\nexport function GalleryMAST(){\r\n\r\n\r\n\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_011.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_012.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_013.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_014.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_015.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_016.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_017.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_018.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_019.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_020.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_021.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_022.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_023.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_024.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_025.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_026.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_027.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_028.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_029.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_030.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_031.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_032.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_033.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_034.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_035.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_036.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_037.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_038.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_039.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_040.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_041.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_042.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_043.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_044.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_045.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_046.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_047.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_048.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_049.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_050.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_051.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_052.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_053.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_054.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_055.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryMAST/IMG_056.jpg\"},\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GalleryCANNONS(){\r\n return {\r\n \"images\": [\r\n \r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_011.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_012.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_013.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_014.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_015.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_016.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_017.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_018.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_019.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_020.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_021.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_022.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_023.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_024.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_025.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_026.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_027.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_028.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_029.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_030.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_031.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_032.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_033.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_034.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_035.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_036.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_037.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_038.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_039.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCANNONS/IMG_040.jpg\"}\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GalleryRIGGING(){\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryRIGGING/IMG_011.jpg\"}\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GalleryCROWS_NEST(){\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_011.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_012.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCROWS_NEST/IMG_013.jpg\"}\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GalleryWHEEL(){\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryWHEEL/IMG_011.jpg\"}\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GalleryCPT_CORNER(){\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_011.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_012.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_013.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_014.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_015.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_016.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_017.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_018.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_019.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_020.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_021.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_022.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_023.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_024.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_025.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_026.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_027.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GalleryCPT_CORNER/IMG_028.jpg\"}\r\n ]\r\n }\r\n}\r\n","\r\n\r\nexport function GallerySHIP(){\r\n return {\r\n \"images\": [\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_001.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_002.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_003.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_004.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_005.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_006.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_007.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_008.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_009.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_010.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_011.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_012.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_013.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_014.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_015.jpg\"},\r\n {\"original\": \"https://jamhaw.com/images/gallery/GallerySHIP/IMG_016.jpg\"}\r\n ]\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"static/media/t-shirts.5e9aaa8d.png\";","export default __webpack_public_path__ + \"static/media/t-shirts-small.d67d1058.png\";","import { AsyncThunk } from \"@reduxjs/toolkit\";\r\nimport {\r\n EBasicAlertIcon,\r\n IBasicAlertProps,\r\n} from \"../../Framework/BasicAlert/BasicAlert\";\r\n\r\nexport interface IAxiosClientHelperArgs {\r\n result: IAxiosError;\r\n thunk: AsyncThunk;\r\n onClose: (event: any) => void;\r\n}\r\n\r\n/**\r\n * use in the catch block of a thunk call, will strip out the error\r\n * regadless of if its a SQL error, network, http (400,500) etc.\r\n * You probably still need to handle errors thrown if you are manipulating a \r\n * valid response, probably with its own catch block.\r\n * @param error the error in the catch block of an axios call.\r\n * @returns a IAxiosError so your rejected reducer can do something with this information.\r\n * @example\r\n * Here's a simple example:\r\n * ```\r\n * export const DemoThunk = createAsyncThunk<\r\n IDemo[],\r\n void,\r\n { rejectValue: IAxiosError }\r\n>(\"demo/demoSave\", async (id, thunkAPI) => {\r\n try {\r\n //get the current state\r\n const currentState = thunkAPI.getState() as RootState;\r\n\r\n const response = await axios.post(\r\n process.env.REACT_APP_BASE_URL +\r\n \"/api/stored_procedure/LIVE_fp_warehouse/Demo_GoodSave_arse\",\r\n JSON.stringify({ testString: currentState.demo.testString }),\r\n requestHeaders(currentState)\r\n );\r\n\r\n //Handle any errors with the data return separately, AxiosErrorHandler only covers SQL/HTTP/network errors\r\n try {\r\n //process the response in some way if required.\r\n let dataList = await response.data.Table;\r\n let newData: IDemo = dataList.map((row: IDemo) => ({\r\n id: row.id,\r\n }));\r\n const returnObj = [newData];\r\n //return the result to extrabuilder.fullfilled.\r\n return returnObj;\r\n } catch (error: any) {\r\n let err: IAxiosError = {\r\n message: \"could not process the response. \" + error.toString(),\r\n name: \"Response Processing Error\",\r\n };\r\n return thunkAPI.rejectWithValue(err);\r\n }\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n});\r\n * ```\r\n */\r\nexport const AxiosErrorHandler = (error: any): IAxiosError => {\r\n let err: IAxiosError = { message: \"Error - \", name: \"default\" };\r\n\r\n if (error === undefined) {\r\n err.message = \"Undefined error object.\";\r\n return err;\r\n }\r\n\r\n if (error.response) {\r\n //if a SQL error\r\n if (error.response.data.ExceptionMessage) {\r\n err.message = String(error.response.data.ExceptionMessage).split(\"\\n\")[0];\r\n err.name = \"SQL Error\";\r\n } else if (error.response.status) {\r\n //Handle 400, 500 etc errors\r\n err.name = error.response.status.toString() + \" : HTTP Error\";\r\n switch (error.response.status) {\r\n case 401:\r\n err.message = \"User name or password is incorrect.\";\r\n //dispatch(clearPassword());\r\n break;\r\n case 404:\r\n err.message =\r\n \"This url does not exist. \" + (error.request.responseURL || \"\");\r\n break;\r\n case 500:\r\n err.message = \"Internal server error\";\r\n break;\r\n }\r\n }\r\n return err;\r\n }\r\n\r\n //Network Errors\r\n if (error.toString().includes(\"Network Error\")) {\r\n //generic error as a problem with the request\r\n err.message = \"You are no longer connect to the network.\";\r\n err.name = \"Network Error\";\r\n return err;\r\n }\r\n\r\n //Axios timeout\r\n if (error.code && error.code === \"ECONNABORTED\") {\r\n err.message =\r\n (error.message || \"\") +\r\n \" axios error, is your URL wrong or DNS down or VPN not connected?\";\r\n err.name = error.code + \" : Axios Error\";\r\n return err;\r\n }\r\n\r\n //stored proc typo?\r\n if (\r\n error.message &&\r\n error.message === \"Cannot read properties of undefined (reading 'map')\"\r\n ) {\r\n //Stored procedure doesnt exist or you have a typo, so the reflective API cannot map out the parameters\r\n err.message =\r\n (error.message || \"\") +\r\n \" is you stored procedure name correct (typo? new version?)\";\r\n err.name = \"\";\r\n return err;\r\n }\r\n\r\n return err;\r\n};\r\n\r\n///////////////////////////////////// AxiosClientHelper\r\n/**\r\n *\r\n * @param error\r\n * @example\r\n * ```\r\n * const resultAction = await dispatch(nameOfYourThunk());\r\n * let errorArgs = await AxiosClientHelper(\r\n * resultAction.payload as IAxiosError,\r\n * onClose //the callback run when the user presses the OK button, e.g. clear the dialog arguments so its hidden SetErrorArgs({ ...errorArgs, open: false });\r\n * );\r\n * SetErrorArgs(errorArgs); //local state, setting the errorArgs will show the dialog if errorArgs.open is true\r\n * ```\r\n */\r\nexport const AxiosClientHelper = async (\r\n payload: IAxiosError,\r\n callback: () => void\r\n) => {\r\n //Default return settings\r\n let retval: IBasicAlertProps = {\r\n icon: EBasicAlertIcon.ERROR,\r\n title: \"\",\r\n message: \"\",\r\n onClose: () => {},\r\n open: false,\r\n };\r\n\r\n if (payload.message === undefined) {\r\n //console.log(\"Good axios call:\", payload);\r\n } else if (payload) {\r\n retval = {\r\n icon: EBasicAlertIcon.ERROR,\r\n title: payload.name,\r\n message: payload.message,\r\n onClose: callback,\r\n open: true,\r\n };\r\n }\r\n return retval;\r\n};\r\n\r\nexport interface IAxiosError extends Error {}\r\n","import { createAsyncThunk, createSlice, PayloadAction, createDraftSafeSelector } from '@reduxjs/toolkit';\r\nimport axios from 'axios';\r\nimport { ELoadingStatus } from \"./Enums\";\r\nimport { AxiosErrorHandler } from \"../Framework/AxiosHelper/AxiosHelper\";\r\nimport { RootState } from \"../store\";\r\nimport {\r\n IJamHawState, \r\n ICredentials,\r\n IAttendee,\r\n IImage,\r\n IAttendeeResponse,\r\n IMerchandise,\r\n IMerchandiseResponse,\r\n } from './JamHawInterface';\r\n\r\nconst URL = process.env.REACT_APP_BASE_URL;\r\n\r\nexport interface IDialogManager {\r\n classx? : any;\r\n title: string;\r\n message: string; \r\n button1: string; \r\n button2?: string;\r\n button3?: string;\r\n exceptionType?: string;\r\n viewType?: string;\r\n data? : any;\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////////\r\n// BAY DATA PLAN\r\n///////////////////////////////////////////////////////////////////////\r\n\r\nexport const getAttendeesThunk = createAsyncThunk(\r\n \"jamhaw/attendees\", async (_, thunkAPI) => {\r\n\r\n try {\r\n const response = await axios.get('https://stiletto.ddns.net/JamHawAPI/attendees', \r\n {\r\n headers: { \r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n timeout: 10000,\r\n\r\n });\r\n return await response.data;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n)\r\n\r\nexport const updateAttendeeCountThunk = createAsyncThunk(\r\n \"jamhaw/update_attendees\", async (args:IAttendee, thunkAPI) => {\r\n\r\n try {\r\n const response = await axios.post('https://stiletto.ddns.net/JamHawAPI/update_attendees', \r\n JSON.stringify( args ),\r\n {\r\n headers: { \r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n timeout: 10000,\r\n\r\n });\r\n return await response.data; \r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n)\r\n\r\nexport const updateMerchOrderThunk = createAsyncThunk(\r\n \"jamhaw/update_merch\", async (args:IMerchandise, thunkAPI) => {\r\n\r\n try {\r\n const response = await axios.post('https://stiletto.ddns.net/JamHawAPI/update_merchandise', \r\n JSON.stringify( args ),\r\n {\r\n headers: { \r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n timeout: 10000,\r\n\r\n });\r\n getAttendeesThunk();\r\n return await response.data;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n)\r\n\r\nexport const getMerchOrderThunk = createAsyncThunk(\r\n \"jamhaw/getmerch\", async (_, thunkAPI) => {\r\n\r\n try {\r\n const response = await axios.get('https://stiletto.ddns.net/JamHawAPI/merchandise', \r\n {\r\n headers: { \r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n timeout: 10000,\r\n\r\n });\r\n return await response.data;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n)\r\n\r\nexport const validateThunk = createAsyncThunk(\r\n \"jamhaw/validation\", async (args:ICredentials, thunkAPI) => {\r\n\r\n try {\r\n const response = await axios.post('https://stiletto.ddns.net/JamHawAPI/validation', \r\n JSON.stringify( args ),\r\n {\r\n headers: { \r\n 'Access-Control-Allow-Origin': '*',\r\n },\r\n timeout: 10000,\r\n\r\n });\r\n return await response.data;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n)\r\n\r\n////////////////////////////////////////////////////\r\nconst initialState: IJamHawState = {\r\n \r\n attendees_loading: ELoadingStatus.idle,\r\n attendees_response_loading: ELoadingStatus.idle, \r\n\r\n validate_loading: ELoadingStatus.idle, \r\n merchandise_loading: ELoadingStatus.idle, \r\n merchandise_response_loading: ELoadingStatus.idle, \r\n\r\n error_validate_msg: \"\",\r\n \r\n error_attendees_msg: \"\",\r\n error_attendees_response_msg:\"\",\r\n\r\n error_merchandise_msg: \"\",\r\n error_merchandise_response_msg:\"\",\r\n \r\n isOK: false,\r\n isCANCEL: false, \r\n showDialog: false,\r\n loggedIn: false,\r\n gdpr: false,\r\n credentials: {\r\n userName : \"\", \r\n passWord: \"\",\r\n groupName: \"\",\r\n },\r\n galleryMode: false,\r\n showMenu: true,\r\n showSidebar: true,\r\n showFooter: true,\r\n view: \"HOME_VIEW\",\r\n dialogMessage: { \r\n classx : \"\",\r\n title: \"\",\r\n message: \"\",\r\n button1: \"\",\r\n button2: \"\",\r\n exceptionType: \"\",\r\n } as IDialogManager, \r\n attendees: [],\r\n gallery: [],\r\n merchandise: [],\r\n validate: {response:\"\", validation:\"\"},\r\n attendees_response: {attendee: \"\", response:\"\"},\r\n merchandise_response: {response: \"\"},\r\n passwordFail: false,\r\n emailFail: false,\r\n}\r\n\r\n///////////////////////////////////////////////////\r\nexport const JamHawSlice = createSlice({\r\n name: 'jamhaw',\r\n initialState,\r\n reducers: {\r\n\r\n ResetLoadingStatus: (state) =>{\r\n state.attendees_loading = ELoadingStatus.idle;\r\n state.validate_loading = ELoadingStatus.idle; \r\n state.attendees_response_loading = ELoadingStatus.idle;\r\n state.merchandise_loading = ELoadingStatus.idle;\r\n state.merchandise_response_loading = ELoadingStatus.idle;\r\n },\r\n UpdateDialogMessage: (state, action: PayloadAction) => {\r\n state.dialogMessage = action.payload;\r\n },\r\n ClearDialogMessage: (state) => {\r\n state.dialogMessage.classx = \"\";\r\n state.dialogMessage.title = \"\";\r\n state.dialogMessage.message = \"\";\r\n state.dialogMessage.button1 = \"\";\r\n state.dialogMessage.button2 = \"\";\r\n state.dialogMessage.exceptionType = \"\";\r\n }, \r\n UpdateShowDialog: (state, action: PayloadAction) => {\r\n //console.log(\"UpdateShowDialog\", action.payload);\r\n state.showDialog = action.payload;\r\n }, \r\n UpdateIsOK: (state, action: PayloadAction) => {\r\n state.isOK = action.payload;\r\n }, \r\n UpdateIsCANCEL: (state, action: PayloadAction) => {\r\n state.isCANCEL = action.payload;\r\n }, \r\n UpdateView: (state, action: PayloadAction) => {\r\n state.view = \"BLANK\";\r\n state.view = action.payload;\r\n }, \r\n UpdateLoggedIn: (state, action: PayloadAction) => {\r\n state.loggedIn = action.payload;\r\n }, \r\n UpdateGDPR: (state, action: PayloadAction) => {\r\n state.gdpr = action.payload;\r\n }, \r\n UpdateGalleryMode: (state, action: PayloadAction) => {\r\n state.galleryMode = action.payload;\r\n }, \r\n UpdateShowMenu: (state, action: PayloadAction) => {\r\n state.showMenu = action.payload;\r\n }, \r\n UpdateShowSidebar: (state, action: PayloadAction) => {\r\n state.showSidebar = action.payload;\r\n }, \r\n UpdateShowFooter: (state, action: PayloadAction) => {\r\n state.showFooter = action.payload;\r\n }, \r\n UpdateCredentials: (state, action: PayloadAction) => {\r\n state.credentials = action.payload;\r\n }, \r\n UpdateAttendees: (state, action: PayloadAction) => {\r\n state.attendees = action.payload;\r\n }, \r\n UpdateGallery: (state, action: PayloadAction) => {\r\n state.gallery = action.payload;\r\n }, \r\n UpdatePasswordFail: (state, action: PayloadAction) => {\r\n state.passwordFail = action.payload;\r\n }, \r\n UpdateEmailFail: (state, action: PayloadAction) => {\r\n state.emailFail = action.payload;\r\n }, \r\n \r\n },\r\n extraReducers: (builder) => {\r\n\r\n /////////////////////////////////////////////////////////////////////////////////////\r\n /** ATTENDEES **/\r\n builder.addCase(getAttendeesThunk.pending, (state) => {\r\n state.attendees = [];\r\n state.attendees_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getAttendeesThunk.fulfilled, (state, { payload }) => {\r\n //console.log(\">>>\",payload);\r\n state.attendees = payload.attendees;\r\n state.attendees_loading = ELoadingStatus.loaded;\r\n });\r\n \r\n builder.addCase(getAttendeesThunk.rejected,(state, action) => {\r\n state.attendees_loading = ELoadingStatus.error;\r\n }); \r\n\r\n /////////////////////////////////////////////////////////////////////////////////////\r\n /** ATTENDEES UPDATE **/\r\n builder.addCase(updateAttendeeCountThunk.pending, (state) => {\r\n state.attendees_response_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(updateAttendeeCountThunk.fulfilled, (state, { payload }) => {\r\n state.attendees_response = payload;\r\n state.attendees_response_loading = ELoadingStatus.loaded;\r\n\r\n });\r\n \r\n builder.addCase(updateAttendeeCountThunk.rejected,(state, action) => {\r\n state.attendees_loading = ELoadingStatus.error;\r\n }); \r\n\r\n /////////////////////////////////////////////////////////////////////////////////////\r\n /** VALIDATE **/\r\n builder.addCase(validateThunk.pending, (state) => {\r\n state.validate_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(validateThunk.fulfilled, (state, { payload }) => {\r\n state.validate = payload;\r\n state.validate_loading = ELoadingStatus.loaded;\r\n });\r\n \r\n builder.addCase(validateThunk.rejected,(state, action) => {\r\n state.validate_loading = ELoadingStatus.error;\r\n console.log(action.error);\r\n }); \r\n\r\n /////////////////////////////////////////////////////////////////////////////////////\r\n /** GET MERCHANDISE **/\r\n builder.addCase(getMerchOrderThunk.pending, (state) => {\r\n state.merchandise_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getMerchOrderThunk.fulfilled, (state, { payload }) => {\r\n state.merchandise = payload.merchandise;\r\n state.merchandise_loading = ELoadingStatus.loaded;\r\n });\r\n \r\n builder.addCase(getMerchOrderThunk.rejected,(state, action) => {\r\n state.merchandise_loading = ELoadingStatus.error;\r\n }); \r\n\r\n /////////////////////////////////////////////////////////////////////////////////////\r\n /** MERCHANDISE UPDATE **/\r\n builder.addCase(updateMerchOrderThunk.pending, (state) => {\r\n state.merchandise_response_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(updateMerchOrderThunk.fulfilled, (state, { payload }) => {\r\n state.merchandise_response = payload;\r\n state.merchandise_response_loading = ELoadingStatus.loaded;\r\n });\r\n \r\n builder.addCase(updateMerchOrderThunk.rejected,(state, action) => {\r\n state.merchandise_response_loading = ELoadingStatus.error;\r\n }); \r\n }\r\n },\r\n)\r\n\r\nexport const {\r\n UpdateEmailFail,\r\n UpdatePasswordFail,\r\n ResetLoadingStatus,\r\n UpdateGallery,\r\n UpdateAttendees,\r\n UpdateCredentials,\r\n UpdateShowFooter,\r\n UpdateShowMenu,\r\n UpdateShowSidebar,\r\n UpdateGalleryMode,\r\n UpdateView,\r\n UpdateLoggedIn,\r\n UpdateGDPR,\r\n UpdateDialogMessage,\r\n ClearDialogMessage,\r\n UpdateShowDialog,\r\n UpdateIsOK,\r\n UpdateIsCANCEL,\r\n} = JamHawSlice.actions;\r\n\r\n//const selectSelf = (state: any) => state\r\n\r\nexport const selectIsOK = (rootState: RootState) => { return rootState.jamhaw.isOK; };\r\nexport const selectIsCANCEL = (rootState: RootState) => { return rootState.jamhaw.isCANCEL; };\r\nexport const selectDialogMessage = (rootState: RootState) => { return rootState.jamhaw.dialogMessage; };\r\nexport const selectShowDialog = (rootState: RootState) => { return rootState.jamhaw.showDialog; };\r\nexport const selectView = (rootState: RootState) => { return rootState.jamhaw.view; };\r\nexport const selectLoggedIn = (rootState: RootState) => { return rootState.jamhaw.loggedIn; };\r\nexport const selectGalleryMode = (rootState: RootState) => { return rootState.jamhaw.galleryMode; };\r\nexport const selectShowMenu = (rootState: RootState) => { return rootState.jamhaw.showMenu; };\r\nexport const selectShowSidebar = (rootState: RootState) => { return rootState.jamhaw.showSidebar; };\r\nexport const selectShowFooter = (rootState: RootState) => { return rootState.jamhaw.showFooter; };\r\nexport const selectCredentials = (rootState: RootState) => { return rootState.jamhaw.credentials ; };\r\nexport const selectPasswordFail = (rootState: RootState) => { return rootState.jamhaw.passwordFail; };\r\nexport const selectEmailFail = (rootState: RootState) => { return rootState.jamhaw.emailFail; };\r\nexport const selectGDPR = (rootState: RootState) => { return rootState.jamhaw.gdpr; };\r\n\r\nexport const selectGallery = (rootState: RootState) => { return rootState.jamhaw.gallery ; };\r\nexport const selectValidate = (rootState: RootState) => { return rootState.jamhaw.validate; };\r\nexport const selectAttendees = (rootState: RootState) => { return rootState.jamhaw.attendees ; };\r\nexport const selectAttendeesResponse = (rootState: RootState) => { return rootState.jamhaw.attendees_response ; };\r\nexport const selectMerchandise = (rootState: RootState) => { return rootState.jamhaw.merchandise ; };\r\nexport const selectMerchandiseResponse = (rootState: RootState) => { return rootState.jamhaw.merchandise_response ; };\r\n\r\n/* STATUS */\r\nexport const selectAttendeesStatus = (rootState: RootState) => { return rootState.jamhaw.attendees_loading; };\r\nexport const selectValidateStatus = (rootState: RootState) => { return rootState.jamhaw.validate_loading; };\r\nexport const selectAttendeesResponseStatus = (rootState: RootState) => { return rootState.jamhaw.attendees_response_loading; };\r\nexport const selectMerchandiseStatus = (rootState: RootState) => { return rootState.jamhaw.merchandise_loading; };\r\nexport const selectMerchandiseResponseStatus = (rootState: RootState) => { return rootState.jamhaw.merchandise_response_loading; };\r\n\r\n/* ERRORS */\r\n// export const selectValidateMsg = createDraftSafeSelector( selectSelf, (state) => state.jamhaw.error_validate_msg);\r\n// export const selectAttendeesMsg = createDraftSafeSelector( selectSelf, (state) => state.jamhaw.error_attendees_msg);\r\n// export const selectAttendeesResponseMsg = createDraftSafeSelector( selectSelf, (state) => state.jamhaw.error_attendees_response_msg);\r\n// export const selectMerchandiseMsg = createDraftSafeSelector( selectSelf, (state) => state.jamhaw.error_Merchandise_msg);\r\n// export const selectMerchandiseResponseMsg = createDraftSafeSelector( selectSelf, (state) => state.jamhaw.error_Merchandise_msg);\r\n\r\n\r\n\r\n\r\n\r\nexport default JamHawSlice.reducer","import React, { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport t_shirt from '../images/t-shirts.png';\r\nimport t_shirt_small from '../images/t-shirts-small.png';\r\nimport Button from '@material-ui/core/Button';\r\nimport InputLabel from '@mui/material/InputLabel';\r\nimport MenuItem from '@mui/material/MenuItem';\r\nimport {\r\n Typography,\r\n } from \"@material-ui/core\";\r\nimport FormControl from '@mui/material/FormControl';\r\nimport Select from '@mui/material/Select';\r\nimport \"../css/Merch.css\";\r\nimport {\r\n updateMerchOrderThunk,\r\n selectCredentials,\r\n selectMerchandise,\r\n} from \"../redux/JamHawSlice\";\r\n\r\nimport {\r\n IMerchandise,\r\n IMerchProps,\r\n} from '../redux/JamHawInterface';\r\n\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { toast } from \"react-toastify\";\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n shirts: {\r\n \r\n height: \"55%\",\r\n },\r\n shirts_mobile: {\r\n height: \"200px\",\r\n },\r\n combo_input: {\r\n backgroundColor: \"\"\r\n },\r\n send_btn: {\r\n marginTop:\"30px\",\r\n width: \"200px\",\r\n },\r\n header_panel: {\r\n //display: \"inline-flex\",\r\n width: \"100%\",\r\n }, \r\n merch_text:{\r\n textAlign: \"center\",\r\n },\r\n }))\r\n\r\nexport const Merchandise = (_merch:IMerchProps) => {\r\n\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const credentials = useSelector(selectCredentials);\r\n const merchandise = useSelector(selectMerchandise);\r\n const [small, SetSmall] = React.useState('s_0');\r\n const [medium, SetMedium] = React.useState('m_0');\r\n const [large, SetLarge] = React.useState('l_0');\r\n const [xlarge, SetXLarge] = React.useState('x_0');\r\n \r\n useEffect(() => {\r\n // console.log(\"merchandise:\", merchandise);\r\n let merch = merchandise.filter(function(mrch:IMerchandise){\r\n return mrch.email === credentials.userName\r\n });\r\n\r\n if(merch.length === 1)\r\n {\r\n console.log(\"MERCH:\", merch[0]);\r\n SetSmall(\"s_\"+merch[0].small);\r\n SetMedium(\"m_\"+merch[0].medium);\r\n SetLarge(\"l_\"+merch[0].large);\r\n SetXLarge(\"x_\"+merch[0].xlarge); \r\n } \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []); \r\n\r\n const handleSizeChange = (event:any) => {\r\n //console.log(\"handleSizeChange\", event.target.value);\r\n \r\n let shirtType = event.target.value.split('_')[0];\r\n let shirt = Number(event.target.value.split('_')[1]);\r\n \r\n //console.log(\"[\",shirtType,\"][\", shirt,\"][\", event.target.value,\"]\");\r\n \r\n switch(shirtType){\r\n case 's': SetSmall(event.target.value); break;\r\n case 'm': SetMedium(event.target.value); break;\r\n case 'l': SetLarge(event.target.value); break;\r\n case 'x': SetXLarge(event.target.value); break;\r\n }\r\n }\r\n \r\n const handleRequest= (event:any) => {\r\n //console.log(\"handleRequest\", event.currentTarget.id);\r\n if(credentials.userName.length === 0)\r\n {\r\n toast.error(\"You must RSVP before you can make a request\");\r\n return;\r\n }\r\n let payLoad:IMerchandise = {\r\n \"email\" : credentials.userName,\r\n \"small\" : (small !== \"None\") ? Number(small.split('_')[1]) : 0,\r\n \"medium\" : (medium !== \"None\") ? Number(medium.split('_')[1]) : 0,\r\n \"large\" : (large !== \"None\") ? Number(large.split('_')[1]) : 0,\r\n \"xlarge\" : (xlarge !== \"None\") ? Number(xlarge.split('_')[1]) : 0,\r\n }\r\n //console.log(\"handleRequest\", payLoad);\r\n dispatch(updateMerchOrderThunk(payLoad));\r\n _merch.handleMerchRequest();\r\n }\r\n\r\n let shirtImage = (\"t-shirt\"/);\r\n if(IsMobile())\r\n {\r\n shirtImage = (\"t-shirt-small\"/);\r\n }\r\n\r\n return (\r\n
\r\n :not(style)': {\r\n m: 3,\r\n // width: 800,\r\n // height: 630,\r\n },\r\n \r\n }}\r\n >\r\n \r\n\r\n
\r\n
\r\n \r\n Merchandise\r\n \r\n \r\n
\r\n
\r\n
{shirtImage}
\r\n \r\n
\r\n
\r\n \r\n Small\r\n \r\n None\r\n 1\r\n 2\r\n 3\r\n 4\r\n \r\n \r\n \r\n medium\r\n \r\n None\r\n 1\r\n 2\r\n 3\r\n 4\r\n \r\n \r\n \r\n large\r\n \r\n None\r\n 1\r\n 2\r\n 3\r\n 4\r\n \r\n \r\n \r\n Xlarge\r\n \r\n None\r\n 1\r\n 2\r\n 3\r\n 4\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n );\r\n }","import React, { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport FormLabel from \"@material-ui/core/FormLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\n\r\nimport {\r\n UpdateView,\r\n selectView, \r\n selectCredentials,\r\n selectAttendees,\r\n UpdateShowMenu,\r\n UpdateShowSidebar, \r\n getAttendeesThunk,\r\n} from \"../redux/JamHawSlice\";\r\n\r\nimport {\r\n ICredentials, \r\n IAttendee,\r\n IRsvpProps,\r\n} from '../redux/JamHawInterface';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n radius: \"9px\",\r\n marginTop: theme.spacing(2),\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n marginBottom: \"10px\",\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#67ca68\", //theme.palette.secondary.main,\r\n },\r\n form: {\r\n width: \"100%\", // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n },\r\n select: {\r\n width: \"100%\",\r\n color: \"black\",\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n submit: {\r\n margin: theme.spacing(3, 0, 2),\r\n },\r\n systemLive: {\r\n fontSize: \"1rem\",\r\n textAlign: \"center\",\r\n border: \"solid\",\r\n display: \"block\",\r\n color: \"red\",\r\n backgroundColor: \"#f59c9c\",\r\n }, \r\n version: {\r\n marginTop: theme.spacing(4),\r\n },\r\n main: {\r\n position: \"absolute\",\r\n marginLeft: \"calc(50% - 228px)\",\r\n backgroundColor: \"white\",\r\n radius: \"9px\",\r\n zIndex: 9,\r\n },\r\n main_mobile: {\r\n position: \"absolute\",\r\n backgroundColor: \"white\",\r\n radius: \"9px\",\r\n zIndex: 9,\r\n } \r\n}));\r\n\r\nexport const RSVP = (props: IRsvpProps): JSX.Element => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const inputRef = React.useRef();\r\n const attendees = useSelector(selectAttendees);\r\n const credentials = useSelector(selectCredentials);\r\n \r\n /** HOOKS */\r\n const [total, setTotal] = React.useState(0);\r\n const [totalError, settotalError] = React.useState(\"\");\r\n const [good2Go, setGood2Go] = React.useState(false);\r\n \r\n \r\n useEffect(() => {\r\n dispatch(UpdateShowMenu(false));\r\n dispatch(UpdateShowSidebar(false));\r\n\r\n let att = attendees.filter(function(attd:IAttendee){\r\n return attd.email === credentials.userName\r\n });\r\n\r\n if(att.length === 1)\r\n {\r\n //console.log(\"ATT:\", att[0].count);\r\n setTotal(att[0].count);\r\n setGood2Go(true);\r\n }\r\n\r\n }, []); \r\n\r\n const handleCountChange = (event:any) => {\r\n //console.log(Number(event.target.value));\r\n if(Number(event.target.value) >= 0 )\r\n {\r\n if(Number(event.target.value) <= 5 )\r\n {\r\n settotalError(\"\");\r\n if(event.target.value.length === 0)\r\n {\r\n setTotal(0);\r\n }\r\n else\r\n {\r\n setTotal(event.target.value as number);\r\n }\r\n setGood2Go(true);\r\n \r\n }\r\n else\r\n {\r\n setGood2Go(false);\r\n settotalError(\"Maximum of five people only\");\r\n }\r\n }\r\n else\r\n {\r\n setGood2Go(false);\r\n }\r\n };\r\n\r\n\r\n //tell the parent container to close the application\r\n const handleExitClick = (event: React.SyntheticEvent) => {\r\n //event.preventDefault();\r\n props.handleExit();\r\n };\r\n\r\n //perform validation on user name and password\r\n const handleSubmit = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n if(good2Go)\r\n {\r\n props.handleSubmit(total);\r\n }\r\n };\r\n \r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {credentials.groupName}\r\n \r\n\r\n
\r\n \r\n 0}\r\n helperText={totalError}\r\n fullWidth\r\n name=\"total\"\r\n label={ (total===0) ? \"Number of attendees\" : \"\"}\r\n type=\"number\"\r\n onChange={handleCountChange}\r\n value={total}\r\n autoFocus\r\n />\r\n
\r\n
\r\n \r\n ACCEPT\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RSVP;\r\n","import React, { useEffect } from \"react\";\r\nimport { ELoadingStatus } from \"../redux/Enums\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport FormLabel from \"@material-ui/core/FormLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport md5 from \"md5\";\r\n\r\nimport {\r\n ICredentials, \r\n IAttendee,\r\n} from '../redux/JamHawInterface';\r\n\r\nimport {\r\n selectValidate,\r\n // selectValidateStatus, \r\n selectCredentials,\r\n UpdateShowMenu,\r\n UpdateShowSidebar, \r\n selectAttendees,\r\n selectPasswordFail,\r\n selectEmailFail,\r\n} from \"../redux/JamHawSlice\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n radius: \"9px\",\r\n marginTop: theme.spacing(2),\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n marginBottom: \"10px\",\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#67ca68\", //theme.palette.secondary.main,\r\n },\r\n form: {\r\n width: \"100%\", // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n },\r\n select: {\r\n width: \"100%\",\r\n color: \"black\",\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n submit: {\r\n margin: theme.spacing(3, 0, 2),\r\n },\r\n systemLive: {\r\n fontSize: \"1rem\",\r\n textAlign: \"center\",\r\n border: \"solid\",\r\n display: \"block\",\r\n color: \"red\",\r\n backgroundColor: \"#f59c9c\",\r\n }, \r\n version: {\r\n marginTop: theme.spacing(4),\r\n },\r\n main: {\r\n position: \"absolute\",\r\n marginLeft: \"calc(50% - 228px)\",\r\n backgroundColor: \"white\",\r\n radius: \"9px\",\r\n zIndex: 9,\r\n },\r\n main_mobile: {\r\n position: \"absolute\",\r\n backgroundColor: \"white\",\r\n radius: \"9px\",\r\n zIndex: 9,\r\n } \r\n}));\r\n\r\nexport interface ILoginViewProps {\r\n appLabel: string;\r\n appName: string;\r\n systemName: string;\r\n version: string;\r\n fp_user: string;\r\n //users: IUser[];\r\n handleSubmit: (username: string, password: string, group: string) => void;\r\n handleExit: () => void;\r\n}\r\n\r\nexport const Login = (props: ILoginViewProps): JSX.Element => {\r\n //////////////////////////////////////////////////////////////////////\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const inputRef = React.useRef();\r\n const [name, setName] = React.useState(\"\");\r\n const [userError, setUserError] = React.useState(\"\");\r\n const [password, setPassword] = React.useState(\"\");\r\n const [passwordError, setPasswordError] = React.useState(\"\");\r\n const [groupNameError, SetGroupNameError] = React.useState(\"\");\r\n const [groupName, SetGroupName] = React.useState(\"\");\r\n const attendees = useSelector(selectAttendees);\r\n const credentials = useSelector(selectCredentials);\r\n const passwordFail = useSelector(selectPasswordFail);\r\n const emailFail = useSelector(selectEmailFail);\r\n const [mobile, SetMobile] = React.useState(false);\r\n //const validateStatus = useSelector(selectValidateStatus);\r\n const validate = useSelector(selectValidate);\r\n //////////////////////////////////////////////////////////////////////\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n useEffect(() => {\r\n let elem = document.getElementById(\"root\");\r\n let rect = elem!.getBoundingClientRect(); \r\n if(rect.width < 645)\r\n {\r\n SetMobile(true);\r\n } \r\n else\r\n {\r\n SetMobile(false);\r\n }\r\n window.addEventListener('resize', function() {\r\n let elem = document.getElementById(\"root\");\r\n let rect = elem!.getBoundingClientRect(); \r\n if(rect.width < 645)\r\n {\r\n SetMobile(true);\r\n } \r\n else\r\n {\r\n SetMobile(false);\r\n }\r\n }, true);\r\n\r\n dispatch(UpdateShowMenu(false));\r\n dispatch(UpdateShowSidebar(false));\r\n\r\n let a_group= localStorage.getItem(\"groupname\");\r\n \r\n if(a_group !== null && a_group !== \"\" && a_group !== undefined)\r\n {\r\n //console.log(a_group);\r\n SetGroupName(a_group);\r\n }\r\n\r\n }, [dispatch]); \r\n\r\n //////////////////////////////////////////////////////////////////////\r\n const handleUserChange = (event:any) => {\r\n setName(event.target.value as string);\r\n if (event.target.value !== \"\") {\r\n setUserError(\"\");\r\n }\r\n };\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n const handleGroupNameChange = (event:any) => {\r\n\r\n if (String(event.target.value).length === 0) \r\n {\r\n SetGroupName(\"\");\r\n SetGroupNameError(\"This field is mandantory\");\r\n }\r\n else\r\n {\r\n SetGroupName(event.target.value as string);\r\n SetGroupNameError(\"\");\r\n }\r\n };\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n const handlePasswordChange = (event: any) => {\r\n setPassword(md5(event.target.value as string));\r\n if (event.target.value !== \"\") {\r\n setPasswordError(\"\");\r\n }\r\n };\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n //tell the parent container to close the application\r\n const handleExitClick = (event: React.SyntheticEvent) => {\r\n event.preventDefault();\r\n props.handleExit();\r\n };\r\n\r\n //////////////////////////////////////////////////////////////////////\r\n //perform validation on user name and password\r\n const handleSubmit = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (name === undefined || name.length === 0) {\r\n setUserError(\"user name required\");\r\n return;\r\n }\r\n\r\n if (password.length === 0) {\r\n setPasswordError(\"password is required\");\r\n return;\r\n }\r\n //console.log(\"groupName\", groupName);\r\n props.handleSubmit(name, password, groupName);\r\n };\r\n\r\n // console.log(\"passwordFail:\", passwordFail);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {props.appLabel}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n 0}\r\n helperText={groupNameError}\r\n fullWidth\r\n name=\"group\"\r\n label=\"Group Name\"\r\n type=\"text\"\r\n onChange={handleGroupNameChange}\r\n value={groupName}\r\n />\r\n
\r\n \r\n
\r\n \r\n Log In\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n (process.env.REACT_APP_VERSION !== undefined)\r\n ?
Version: {props.version}
\r\n :(null)\r\n }\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Login;\r\n","import React, { useEffect } from \"react\";\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from '@mui/material/Divider';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\n\r\nimport {\r\n IGDPR,\r\n} from '../redux/JamHawInterface';\r\n\r\nimport \"../css/GDPR.css\";\r\nimport {IsMobile} from \"./MainLibrary\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n header: {\r\n\r\n },\r\n header_panel: {\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n },\r\n description:{\r\n\r\n },\r\n neccessary: {\r\n paddingTop: \"5px\",\r\n width: \"100%\",\r\n display: \"inline-flex\",\r\n backgroundColor: \"#f2f2f2\",\r\n border: \"1px solid: #f2f2f2\",\r\n height: \"40px\",\r\n borderRadius: \"9px\",\r\n fontSize: \"14px\",\r\n marginTop: \"10px\",\r\n },\r\n neccessary_panel: {\r\n display: \"inline-flex\",\r\n },\r\n open_chev : {\r\n position: \"relative\",\r\n top: \"-3px\",\r\n //-mstransform: \"rotate(90deg)\", /* IE 9 */\r\n //-WebKitTransform: \"rotate(90deg)\", /* Safari prior 9.0 */\r\n transform: \"rotate(90deg)\", /* Standard syntax */\r\n }, \r\n}));\r\n\r\nconst SvgChevron = (props:any): JSX.Element => {\r\n return (
\r\n \r\n {\"\"}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport const GDPR = (_gdpr:IGDPR): JSX.Element => {\r\n const classes = useStyles();\r\n const [neccessary_checked, setChecked] = React.useState(false);\r\n \r\n const handleChange = () => {\r\n setChecked(!neccessary_checked);\r\n }; \r\n\r\n const handleClose = (evt:any) => {\r\n _gdpr.callback_close(evt);\r\n }; \r\n\r\n\r\n useEffect(() => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []); \r\n\r\n let on_show_styles = {maxHeight: \"200px\", transition: \"max-height 0.5s ease-in\", overflow: \"hidden\", fontSize: \"12px\" };\r\n let on_hide_styles = {maxHeight: \"0px\", transition: \"max-height 0.5s ease-out\", overflow: \"hidden\", fontSize: \"12px\"};\r\n \r\n const label = { inputProps: { 'aria-label': 'Switch disabled' } };\r\n\r\n return (\r\n
\r\n {\r\n _gdpr.open_modal &&\r\n \r\n :not(style)': {\r\n m: 3,\r\n maxWidth: 700,\r\n //height: IsMobile() ? 500 : 400,\r\n },\r\n }}\r\n >\r\n \r\n
\r\n Privacy Overview\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n This website uses cookies to improve your experience while you navigate through the website. \r\n Out of these cookies, the cookies that are categorized as necessary are stored on your browser \r\n as they are essential for the working of basic functionalities of the website. \r\n We also use third-party cookies that help us analyze and understand how you use this website. \r\n These cookies will be stored in your browser only with your consent. \r\n You also have the option to opt-out of these cookies. \r\n But opting out of some of these cookies may have an effect on your browsing experience.\r\n \r\n \r\n \r\n
\r\n \r\n Neccessary \r\n \r\n Always Enabled\r\n \r\n
\r\n \r\n These cookies essential for the website to function properly.\r\n Only includes cookies that ensures basic functionalities and security\r\n features of the website. These cookies do not store any personal information except \r\n your email if you choose to register. All passwords are MD5 encrypted.\r\n \r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default GDPR;\r\n","import { DataGrid, gridClasses } from '@mui/x-data-grid';\r\nimport { alpha, styled } from '@mui/material/styles';\r\n\r\nexport function\tGetHeaderStatus(attr){\r\n\r\n\tvar json_status = {\r\n\t\t\"NP\" : \"No Purchase Order\",\r\n\t\t\"ZZ\" : \"No Delivery Item(s)\",\r\n\t\t\"QM\" : \"Qty Mismatch on Purchase []\",\r\n\t\t\"UP\" : \"No match in Purchase []\",\r\n\t\t\"ZP\" : \"No Purchase Item(s) Found\",\r\n\t\t\"RC\" : \"Item(s) Reconciled\",\r\n\t\t\"FL\" : \"FILED: \",\r\n\t\t\"UC\" : \"No match in collection []\",\r\n\t\t\"NC\" : \"No Collection Note\",\t\t\t\r\n\t\t\"NI\" : \"No attached items\",\r\n\t\t\"ZI\" : \"No Invoice\",\r\n\t\t\"UI\" : \"No matching item(s) in Invoice[]\",\r\n\t\t\"XX\" : \"Pending\",\r\n\t}\r\n\r\n\treturn json_status[attr];\r\n}\r\n\r\nexport function\tGetDate(dtx){\r\n\t//1999-04-03T00:00:00Z\r\n\t//var event = new Date(dtx);\r\n\t//return event.toLocaleDateString('gb-GB');\r\n\treturn dtx.substr(8,2)+\"/\"+dtx.substr(5,2)+\"/\"+dtx.substr(0,4);\r\n}\r\n\r\nconst ODD_OPACITY = 0.2;\r\n\r\nexport const StripedDataGrid = styled(DataGrid)(({ theme }) => ({\r\n\t[`& .${gridClasses.row}.even`]: {\r\n\t backgroundColor: theme.palette.grey[200],\r\n\t '&:hover, &.Mui-hovered': {\r\n\t\tbackgroundColor: alpha(theme.palette.primary.main, ODD_OPACITY),\r\n\t\t'@media (hover: none)': {\r\n\t\t backgroundColor: 'transparent',\r\n\t\t},\r\n\t },\r\n\t '&.Mui-selected': {\r\n\t\tbackgroundColor: alpha(\r\n\t\t theme.palette.primary.main,\r\n\t\t ODD_OPACITY + theme.palette.action.selectedOpacity,\r\n\t\t),\r\n\t\t'&:hover, &.Mui-hovered': {\r\n\t\t backgroundColor: alpha(\r\n\t\t\ttheme.palette.primary.main,\r\n\t\t\tODD_OPACITY +\r\n\t\t\t theme.palette.action.selectedOpacity +\r\n\t\t\t theme.palette.action.hoverOpacity,\r\n\t\t ),\r\n\t\t // Reset on touch devices, it doesn't add specificity\r\n\t\t '@media (hover: none)': {\r\n\t\t\tbackgroundColor: alpha(\r\n\t\t\t theme.palette.primary.main,\r\n\t\t\t ODD_OPACITY + theme.palette.action.selectedOpacity,\r\n\t\t\t),\r\n\t\t },\r\n\t\t},\r\n\t },\r\n\t},\r\n }));","// import LockIcon from '@mui/icons-material/Lock';\r\n// import LockOpenIcon from '@mui/icons-material/LockOpen';\r\n// import placed from \"../images/s.png\";\r\n// import completed from \"../images/status_completed.png\";\r\n// import shipped from \"../images/status_shipped.png\";\r\n// import deleted from \"../images/status_deleted.png\";\r\n// import backOrdered from \"../images/status_back_ordered.png\";\r\n// import parked from \"../images/status_parked.png\";\r\n// import dispatched from \"../images/dispatched.png\";\r\n\r\nexport function Status(_props:any): JSX.Element {\t\r\n\t//console.log(\"Status:\", _props);\r\n\r\n return (\r\n
\r\n\t\t\t{/* { _props.status===\"locked\" &&
}\r\n\t\t\t{ _props.status===\"unlocked\" &&
}\t\t\t\r\n\t\t\t\r\n\t\t\t{ _props.status===\"Placed\" \t\t&&
{\"Placed\"}
}\r\n\t\t\t{ _props.status===\"Completed\" \t&&
{\"Completed\"}
}\r\n\t\t\t{ _props.status===\"Parked\" \t\t&&
{\"parked\"}
}\r\n\t\t\t{ _props.status===\"Deleted\" \t&&
{\"deleted\"}
}\r\n\t\t\t{ _props.status===\"Shipped\" \t&&
{\"shipped\"}
}\r\n\t\t\t{ _props.status===\"Dispatched\" \t&&
{\"dispatched\"}
}\r\n\t\t\t{ _props.status===\"BackOrdered\" &&
{\"backOrdered\"}
} */}\r\n\t\t
\r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport EditIcon from '@mui/icons-material/Edit';\r\nimport LockIcon from '@mui/icons-material/Lock';\r\nimport LockOpenIcon from '@mui/icons-material/LockOpen';\r\nimport LocalShippingIcon from '@mui/icons-material/LocalShipping';\r\nimport DeleteIcon from '@mui/icons-material/Cancel';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\n//import Button from '@mui/material/Button';\r\n\r\n/**\r\n * A MAterial UI appbar thats locked to the top of the screen.\r\n */\r\nimport { SxProps } from '@mui/system';\r\nimport { \r\n GridColDef, \r\n GridValidRowModel, \r\n} from '@mui/x-data-grid';\r\n\r\nimport {GetHeaderStatus} from '../../components/Views/TOO/Tools';\r\n\r\nimport {Status} from '../../components/Status';\r\nimport {GetDate, GetAWS_Date} from '../../components/MainLibrary';\r\n\r\nimport {\r\n makeStyles,\r\n Theme,\r\n} from \"@material-ui/core/styles\";\r\n\r\nimport { \r\n //IMenuItem,\r\n IMenuProp,\r\n} from \"../../redux/IItemInterface\";\r\n\r\n\r\nimport clsx from \"clsx\";\r\n\r\n//Styling\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n magno_grid_canvas: {\r\n marginTop: \"5px\",\r\n width: \"calc(100% - 6px)\",\r\n height: \"calc(100% - 7px)\",\r\n borderStyle: \"solid\",\r\n borderWidth: \"1px\",\r\n borderColor: \"silver\", \r\n overflowX: \"scroll\",\r\n //borderRadius: \"6px\",\r\n },\r\n magno_grid_columns: {\r\n display: \"flex\",\r\n width: \"calc(100% - 19px)\",\r\n height: \"46px\",\r\n //background: \"#c6ced6\",\r\n backgroundColor: \"#92D050\",\r\n },\r\n magno_grid_columns_mobile: {\r\n display: \"inline-flex\",\r\n //width: \"100%\",\r\n height: \"23px\",\r\n fontSize: \"12px\",\r\n// color: \"red\",\r\n //background: \"#c6ced6\",\r\n backgroundColor: \"#92D050\",\r\n }, \r\n magno_grid_rows: {\r\n width: \"100%\",\r\n height: \"calc(100% - 60px)\",\r\n display: \"inline-block\",\r\n overflowY: \"scroll\", \r\n },\r\n magno_grid_rows_mobile: {\r\n \r\n //width: \"100%\",\r\n height: \"calc(100% - 30px)\",\r\n display: \"inline-block\",\r\n overflowY: \"scroll\", \r\n }, \r\n magno_grid_row_menu: {\r\n width: \"100%\",\r\n display: \"inline-block\",\r\n },\r\n magno_grid_row_selected:{\r\n fontWeight: \"bold\"\r\n },\r\n magno_grid_row: {\r\n width: \"100%\",\r\n height: \"38px\",\r\n lineHeight: \"40px\",\r\n }, \r\n magno_grid_row_mobile: {\r\n \r\n width: \"100%\",\r\n height: \"28px\",\r\n lineHeight: \"40px\",\r\n }, \r\n magno_grid_row_col: {\r\n \r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\",\r\n borderBottomColor: \"#e0e0e0\", \r\n }, \r\n magno_grid_row_col_mobile: {\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n height: \"26px\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\",\r\n borderBottomColor: \"#e0e0e0\", \r\n },\r\n col_cell: {\r\n \r\n height: \"46px\",\r\n lineHeight: \"44px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n fontFamily: \"sans-serif\",\r\n },\r\n col_cell_mobile: {\r\n height: \"28px\",\r\n lineHeight: \"22px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n fontFamily: \"sans-serif\",\r\n }, \r\n row_cell_highlight: {\r\n height: \"38px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n backgroundColor: \"#B5D1E8\", \r\n fontFamily: \"sans-serif\",\r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n }, \r\n row_cell_highlight_mobile: {\r\n height: \"19px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n backgroundColor: \"#B5D1E8\", \r\n fontFamily: \"sans-serif\",\r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n }, \r\n row_cell_odd: {\r\n height: \"38px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n width: \"calc(100% - 16px)\",\r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n }, \r\n row_cell_odd_mobile: {\r\n height: \"28px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n width: \"calc(100% - 16px)\",\r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n }, \r\n row_cell_even: {\r\n height: \"38px\",\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n borderRightStyle: \"solid\",\r\n borderRightWidth: \"1px\",\r\n borderRightColor: \"white\", \r\n }, \r\n col_menu: {\r\n paddingLeft: \"6px\",\r\n backgroundColor: \"#ffffff\", \r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"silver\", \r\n // borderRadius: \"6px\", \r\n }, \r\n /*\r\n row_cell_odd: {\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n backgroundColor: \"#EEEEEE\",\r\n },\r\n row_cell_even: {\r\n paddingLeft: \"6px\",\r\n overflow: \"hidden\", \r\n textOverflow: \"ellipsis\", \r\n backgroundColor: \"#FFFFFF\", \r\n }, */\r\n\r\n icon:{\r\n marginTop: \"6px\",\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"red\", \r\n },\r\n icon_mobile:{\r\n marginTop: \"0px\",\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"red\", \r\n }, \r\n pointer:{\r\n cursor: \"pointer\",\r\n } \r\n}));\r\n\r\nexport interface IMagnoGridProps {\r\n sx?: SxProps\r\n rowHeight: number;\r\n columns: GridColDef[];\r\n onRowClick?: (event : any) => void;\r\n onIconClick?: (event : any) => void;\r\n menuItems?: IMenuProp; \r\n selectIndex?: number;\r\n rows: readonly GridValidRowModel[];\r\n children?: JSX.Element[]; //This is required to stop error message when trying to call props.children within the MagnoGrid scope (go figure)\r\n objectId: string;\r\n disableHover?: boolean;\r\n isMobile?: boolean;\r\n}\r\n\r\nexport interface IMagnoGridIndexedProps {\r\n magno_props: IMagnoGridProps;\r\n index: number;\r\n}\r\n\r\n//var select = -1;\r\n//var mnu = false;\r\n/**\r\n * MagnoGrid\r\n * @param props : IMagnoGridProps\r\n * @returns JSX.Element\r\n */\r\nconst MagnoGrid = (\r\n props: IMagnoGridProps = {\r\n //define the default props here so people can do and just get a default bar that works.\r\n rows: [],\r\n rowHeight: 38,\r\n columns: [],\r\n selectIndex: -1,\r\n objectId: \"NS\",\r\n disableHover: false,\r\n }\r\n): JSX.Element => {\r\n const [hoverIndex, setHoverIndex] = React.useState(-1);\r\n //Grab our styles at the start once so its always done in the same order.\r\n const classes = useStyles();\r\n\r\n ////////////////////////////////////////////////////////////////////////////////////\r\n const[showMenu, setShowMenu] = React.useState(false);\r\n const[mnu, setMnu] = React.useState(false);\r\n const[select, setSelect] = React.useState(-1);\r\n const handleIconClick = (event:any) => {\r\n //event.stopPropagation();\r\n //console.log(\"handleIconClick:\", event.currentTarget.id, mnu);\r\n if(props.onIconClick !== undefined)\r\n {\r\n let action = String(event.currentTarget.id).split(\"_\")[0];\r\n let index = Number(String(event.currentTarget.id).split(\"_\")[1]);\r\n \r\n setMnu(true);\r\n\r\n //console.log(\"handleIconClick-index:\", index);\r\n\r\n if(action === \"menu\")\r\n {\r\n if(select === index)\r\n {\r\n setShowMenu(!showMenu);\r\n }\r\n \r\n if(select !== index)\r\n {\r\n if(select === -1) //Close if already open\r\n {\r\n //select = index; \r\n setSelect(index);\r\n setShowMenu(true);\r\n let idd = event.currentTarget.id;\r\n if (document.getElementById(idd) !== null) {\r\n document.getElementById(idd)!.scrollIntoView({\r\n behavior: \"auto\",\r\n block: \"center\",\r\n inline: \"center\",\r\n });\r\n } \r\n return;\r\n }\r\n else //Close if already open\r\n {\r\n if(showMenu)\r\n { \r\n setShowMenu(false);\r\n console.log(\"**CLOSING**\");\r\n //props.menuItems?.closeMenu(event);\r\n }\r\n\r\n //select = index; \r\n setSelect(index);\r\n //props.itemIndex = index;\r\n setShowMenu(true);\r\n let idd = event.currentTarget.id;\r\n if (document.getElementById(idd) !== null) {\r\n document.getElementById(idd)!.scrollIntoView({\r\n behavior: \"auto\",\r\n block: \"center\",\r\n inline: \"center\",\r\n });\r\n } \r\n if(props.onRowClick !== undefined)\r\n {\r\n\r\n props.onRowClick(event);\r\n \r\n }\r\n }\r\n }\r\n }\r\n else\r\n { \r\n setSelect(hoverIndex);\r\n props.onIconClick(event);\r\n }\r\n }\r\n };\r\n\r\n \r\n const handleRowClick = (event:any) => {\r\n //console.log(\"handleRowClick:\", event.currentTarget.id);\r\n if(mnu)\r\n {\r\n\r\n setMnu(false);\r\n return;\r\n }\r\n\r\n \r\n\r\n let index = Number(String(event.currentTarget.id).split(\"_\")[2]);\r\n //console.log(\"handleRowClick:\", event.currentTarget.id, index);\r\n\r\n if(index !== hoverIndex)\r\n {\r\n setShowMenu(false);\r\n //console.log(\"**CLOSING**\");\r\n //props.menuItems?.closeMenu(event); \r\n }\r\n\r\n //setHoverIndex(index);\r\n //console.log(\"handleRowClick\", event.currentTarget.id);\r\n if(props.onRowClick !== undefined)\r\n {\r\n index = Number(String(event.currentTarget.id).split(\"_\")[3]);\r\n //console.log( index); \r\n props.onRowClick(event);\r\n setSelect(index);\r\n //props.itemIndex = index;\r\n }\r\n }\r\n \r\n // const handleMenuClick = (event:any) => {\r\n // props.menuItems?.menuItemClick(event);\r\n // setShowMenu(false);\r\n // setMnu(false);\r\n // }\r\n\r\n ///////////////////////////////////////////////////////////////\r\n useEffect(() => {\r\n if(props.selectIndex )\r\n {\r\n //console.log(\"selectIndex:\", props.selectIndex, select, hoverIndex);\r\n setHoverIndex(props.selectIndex);\r\n //let idd = \"row_\"+ props.selectIndex;\r\n setSelect(props.selectIndex);\r\n\r\n if(props.selectIndex === -1 && select !== -1)\r\n {\r\n setSelect(-1);\r\n }\r\n // THIS CODE WILL FUCK ABOUT WITH THE RENDERING AND MOVE FROM ORIGINAL LOCATION\r\n // if (document.getElementById(idd) !== null) {\r\n // document.getElementById(idd)!.scrollIntoView({\r\n // behavior: \"auto\",\r\n // block: \"center\",\r\n // inline: \"center\",\r\n // });\r\n // } \r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []); \r\n\r\n if(props.selectIndex === -1 && select !== -1 && props.objectId===\"SUB_ORDERS_VIEW\") //Turn off \r\n {\r\n //console.log(\"*selectIndex*:\", props.selectIndex);\r\n setSelect(-1);\r\n }\r\n // }\r\n //console.log(\"*selectIndex*:\", props.objectId, props.selectIndex, hoverIndex);\r\n return (\r\n
\r\n
\r\n {\r\n props.columns.map((value: GridColDef, index: number, array: GridColDef[]): any =>\r\n (\r\n
{value.headerName}
\r\n ))\r\n }\r\n
\r\n
\r\n {\r\n props.rows.map((row: GridValidRowModel, idx:number): any =>\r\n (\r\n
\r\n
setHoverIndex(idx) : undefined}\r\n >\r\n {\r\n props.columns.map((value: GridColDef, index: number, array: GridColDef[]): any =>\r\n (\r\n
\r\n {\r\n value.renderCell !== undefined ? \r\n
\r\n :\r\n {\r\n value.type === \"date_aws\" \r\n ? GetAWS_Date(row[value.field]) \r\n : value.type === \"date\" \r\n ? GetDate(row[value.field]) \r\n : value.type === \"status\" \r\n ? GetHeaderStatus(row[value.field]) \r\n : value.type === \"text\"\r\n ? row[value.field]\r\n : value.type === \"htext\"\r\n ?
{row[value.field]}
\r\n : value.type === \"number\"\r\n ? Number(row[value.field]).toFixed(0)\r\n : value.type === \"number2\"\r\n ? Number(row[value.field]).toFixed(2) \r\n : value.type === \"number3\"\r\n ? Number(row[value.field]).toFixed(3) \r\n : value.type === \"sum\"\r\n ? row[value.field].length\r\n : value.type === \"editicon\"\r\n ?\r\n\r\n : value.type === \"lock\" && row[value.field] === \"locked\"\r\n ?\r\n\r\n : value.type === \"lock\" && row[value.field] === \"unlocked\"\r\n ?\r\n\r\n : value.type === \"ship\" \r\n ?\r\n\r\n : value.type === \"deleteicon\"\r\n ?\r\n\r\n : value.type === \"menuicon\"\r\n ?(showMenu && select === idx \r\n ? \r\n : )\r\n :<>\r\n }\r\n
\r\n }\r\n\r\n
\r\n \r\n ))\r\n } \r\n
\r\n
\r\n ))\r\n } \r\n
\r\n
\r\n );\r\n};\r\nexport default MagnoGrid;\r\n","import React, { useEffect } from \"react\";\r\nimport { ELoadingStatus } from \"../redux/Enums\";\r\nimport { useAppDispatch } from \"../Framework/hooks\";\r\nimport { useSelector } from \"react-redux\";\r\n//import Snackbar from '@mui/material/Snackbar';\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ListItemAvatar from \"@material-ui/core/ListItemAvatar\";\r\n\r\nimport Accordion from \"@material-ui/core/Accordion\";\r\nimport AccordionDetails from \"@material-ui/core/AccordionDetails\";\r\nimport AccordionSummary from \"@material-ui/core/AccordionSummary\";\r\nimport DisableView from \"./DisableView\";\r\n\r\n/* ICONS */\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport InfoIcon from \"@material-ui/icons/Info\";\r\nimport ClearIcon from \"@material-ui/icons/Clear\";\r\nimport DrinkIcon from \"@material-ui/icons/LocalBar\";\r\nimport BarIcon from \"@mui/icons-material/Liquor\";\r\nimport MerchIcon from \"@material-ui/icons/Storefront\";\r\nimport FoodIcon from \"@material-ui/icons/Restaurant\";\r\nimport MusicIcon from \"@material-ui/icons/Speaker\";\r\nimport KaraokeIcon from \"@mui/icons-material/InterpreterMode\";\r\nimport GalleryIcon from \"@mui/icons-material/ImageSearch\";\r\nimport LogoutIcon from \"@mui/icons-material/Logout\";\r\nimport ContactIcon from \"@mui/icons-material/Email\";\r\nimport RsvpIcon from \"@mui/icons-material/Rsvp\";\r\nimport FaqIcon from \"@mui/icons-material/ContactSupport\";\r\nimport PropsIcon from \"@mui/icons-material/Construction\";\r\nimport HomeIcon from \"@mui/icons-material/Home\";\r\nimport GroupsIcon from '@mui/icons-material/Groups';\r\nimport AppRegistrationIcon from '@mui/icons-material/AppRegistration';\r\n//import ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\r\nimport VideoIcon from \"@mui/icons-material/Videocam\";\r\nimport PictureIcon from \"@mui/icons-material/Photo\";\r\n\r\nimport \"../css/App.css\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport FPAppbar, { IFPAppbarProps } from \"../Framework/FPAppBar/FPAppbar\";\r\nimport clsx from \"clsx\";\r\n\r\nimport {\r\n //MuiThemeProvider,\r\n ThemeProvider,\r\n createTheme,\r\n makeStyles,\r\n} from \"@material-ui/core/styles\";\r\n\r\nimport logo from '../images/jamhawbannerpure.gif';\r\nimport drinkaware from '../images/drinkaware.png';\r\nimport contact_mail from '../images/mail.png';\r\nimport contact_face from '../images/fb.png';\r\nimport contact_what from '../images/whatsapp.png';\r\n// import dancer1 from '../images/dancer.gif';\r\n// import dancer2 from '../images/dance2.gif';\r\n// import dancer3 from '../images/dance3.gif';\r\n// import dancer4 from '../images/airgtr.gif';\r\n// import dancer5 from '../images/carlton.gif';\r\n\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n\r\nimport \"../css/Panel.css\";\r\n\r\nimport {AboutUs} from \"./AboutUs\";\r\nimport {Drinks} from \"./Drinks\";\r\nimport {Music} from \"./Music\";\r\nimport {Faq} from \"./Faq\";\r\nimport {Picture} from \"./Picture\";\r\nimport {Video} from \"./Video\";\r\nimport {Bar} from \"./Bar\";\r\nimport {Food} from \"./Food\";\r\nimport {Karaoke} from \"./Karaoke\";\r\nimport {Props} from \"./Props\";\r\nimport { Merchandise } from \"./Merchandise\";\r\nimport { RSVP } from \"./RSVP\";\r\nimport {Login} from \"./Login\";\r\nimport {GDPR} from \"./GDPR\";\r\nimport {PromptGDPR} from \"./PromptGDPR\";\r\nimport {AttendeeList} from \"./AttendeeList\"\r\n\r\nimport { \r\n UpdatePasswordFail,\r\n UpdateEmailFail,\r\n selectAttendeesResponseStatus,\r\n selectAttendeesStatus,\r\n selectMerchandiseResponseStatus,\r\n selectMerchandiseStatus,\r\n ResetLoadingStatus,\r\n validateThunk,\r\n updateAttendeeCountThunk,\r\n getAttendeesThunk,\r\n getMerchOrderThunk,\r\n UpdateLoggedIn,\r\n UpdateCredentials,\r\n selectCredentials,\r\n UpdateShowMenu,\r\n UpdateShowSidebar, \r\n selectValidate,\r\n selectValidateStatus,\r\n selectLoggedIn,\r\n} from \"../redux/JamHawSlice\";\r\n\r\nimport {\r\n ICredentials, \r\n IGDPR,\r\n IMerchProps,\r\n IPromptGDPRProps,\r\n View,\r\n} from '../redux/JamHawInterface';\r\nimport { Bool } from \"reselect/es/types\";\r\n\r\n\r\n//var HUB = process.env.REACT_APP_HUB;\r\nvar gGDPR = localStorage.getItem(\"allow_gdpr\");\r\nvar VERSION:any = process.env.REACT_APP_VERSION;\r\n// var URL:any = process.env.REACT_APP_BASE_URL\r\n// var HUB_URL:any = process.env.REACT_APP_BASE_HUB;\r\nvar validate_args:ICredentials;\r\nvar rsvp_args:any;\r\n\r\nexport enum Color {\r\n \"initial\",\r\n \"hilight\",\r\n \"special\",\r\n \"disable\",\r\n}\r\n\r\nexport interface IDisable{\r\n fnBack : (event: any) => void;\r\n}\r\n\r\nexport interface IView{\r\n view: View\r\n}\r\n\r\nexport interface IMenuItem {\r\n title : string;\r\n key: string;\r\n show: boolean;\r\n color: Color;\r\n icon: JSX.Element;\r\n subitems: IMenuItem[];\r\n}\r\n\r\nexport const menu_list:IMenuItem[] = [\r\n {title: \"Home\", key: \"INITIAL\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"About Us\", key: \"ABOUT\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"The Bar\", key: \"BAR\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Food\", key: \"FOOD\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Drinks\", key: \"DRINK\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Music\", key: \"MUSIC\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Karaoke\", key: \"KARAOKE\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Gallery\", key: \"GALLERY\", show: true, color: Color.initial, icon: (), \r\n subitems: [\r\n {title: \"Pictures\", key: \"PICTURE\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Videos\", key: \"VIDEO\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n ]},\r\n {title: \"Props\", key: \"PROPS\", show: true, color: Color.initial, icon: (), subitems: [\r\n {title: \"Mast\", key: \"MAST\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Cannons\", key: \"CANNON\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Rigging\", key: \"RIGGING\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Crow's Nest\", key: \"CROW\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Ship's Wheel\", key: \"WHEEL\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Captain's Corner\", key: \"CORNER\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n {title: \"Ship\", key: \"SHIP\", show: true, color: Color.initial, icon: (), subitems: []}, \r\n ]},\r\n {title: \"FAQ\", key: \"FAQ\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Merchandise\", key: \"MERCH\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Contact us\", key: \"CONTACT\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Attendee List\", key: \"ATTENDEES\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Register\", key: \"REGISTER\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"RSVP\", key: \"RSVP\", show: true, color: Color.initial, icon: (), subitems: []},\r\n {title: \"Log Out\", key: \"LOGOUT\", show: false, color: Color.initial, icon: (), subitems: []},\r\n]\r\n\r\nconst topBarProps: IFPAppbarProps = {\r\n isBottomBar: false,\r\n isHideOnScroll: false,\r\n //title: \"JamHaw\",\r\n\r\n};\r\n\r\n//Theme colours\r\nconst theme = createTheme({\r\n overrides: {\r\n MuiPaper: {\r\n root: {\r\n MuiAccordion:\r\n {\r\n root:\r\n {\r\n Color: \"green\",\r\n }\r\n }\r\n },\r\n },\r\n MuiList: {\r\n root: {\r\n width: \"100%\",\r\n },\r\n },\r\n MuiListItem: {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n borderRadius: \"6px\",\r\n \"& .MuiListItemIcon-root\": {\r\n color: \"white\"\r\n }\r\n }, \r\n //paddingBottom: \"0px\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\", \r\n borderBottomColor: \"#a0a0a0\",\r\n\r\n },\r\n }, \r\n MuiAccordion: {\r\n root: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n boxShadow: \"none\",\r\n },\r\n \r\n },\r\n MuiAccordionSummary:\r\n {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n }, \r\n width: \"100%\",\r\n padding: \"0px\",\r\n },\r\n },\r\n MuiAccordionDetails: {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n }, \r\n marginLeft: \"10px\",\r\n },\r\n },\r\n }, \r\n palette: {\r\n primary: { light: \"#416000\", main: \"#416000\", dark: \"#416000\" },\r\n secondary: { light: \"#6385BB\", main: \"#6385BB\", dark: \"#6385BB\" },\r\n },\r\n \r\n});\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n main_canvas: {\r\n height: \"100%\",\r\n \r\n width: \"100%\",\r\n userSelect: \"none\",\r\n //Why does this stop the canvas scroll?\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"white\",\r\n // textAlign: \"center\",\r\n },\r\n main_logo: {\r\n position: \"relative\",\r\n right: \"calc(50% - 135px)\",\r\n },\r\n item: {\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n // borderBottomStyle: \"solid\",\r\n // borderBottomWidth: \"1px\",\r\n // borderBottomColor: \"silver\", \r\n },\r\n panel: {\r\n zIndex: 99999,\r\n height: \"calc(100% - 62px)\",\r\n scrollbarWidth: \"none\",\r\n backgroundColor:\"#416000\",\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"red\", \r\n overflow: \"auto\", \r\n },\r\n\r\n initial: {\r\n backgroundColor: \"#416000\",\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n // borderBottomStyle: \"solid\",\r\n // borderBottomWidth: \"1px\",\r\n // borderBottomColor: \"grey\", \r\n color: \"#ffffff\", \r\n },\r\n \r\n hilight: {\r\n backgroundColor: \"#ffffff\",\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\",\r\n borderBottomColor: \"silver\",\r\n },\r\n \r\n special: {\r\n backgroundColor: \"#ffffff\",\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\",\r\n borderBottomColor: \"silver\",\r\n },\r\n\r\n disable: {\r\n backgroundColor: \"#ffffff\",\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\",\r\n borderBottomColor: \"silver\",\r\n },\r\n view_canvas:{\r\n textAlign:\"center\",\r\n width: \"100%\",\r\n },\r\n sidebar_right:\r\n { \r\n width: \"40px!important\",\r\n position: \"relative\",\r\n left: \"5px\", \r\n top: \"10px\",\r\n },\r\n contact: {\r\n },\r\n dancer_zone:{\r\n position: \"relative\",\r\n display: \"inline-flex\",\r\n top: \"500px\",\r\n left: \"20px\",\r\n },\r\n dancer1: {\r\n height: \"150px\",\r\n },\r\n dancer2: {\r\n height: \"150px\",\r\n },\r\n dancer3: {\r\n position: \"relative\",\r\n top: \"-40px\",\r\n height: \"150px\",\r\n },\r\n dancer4: {\r\n height: \"170px\",\r\n position: \"relative\",\r\n top: \"40px\",\r\n\r\n },\r\n dancer5: {\r\n height: \"150px\",\r\n },\r\n group_name: {\r\n textAlign: \"center\",\r\n }\r\n}));\r\n\r\n\r\nexport function MainContainer(props: any): JSX.Element {\r\n const dispatch = useAppDispatch();\r\n const classes = useStyles();\r\n const credentials = useSelector(selectCredentials);\r\n const validate = useSelector(selectValidate);\r\n const validateStatus = useSelector(selectValidateStatus);\r\n const attendeesStatus = useSelector(selectAttendeesStatus);\r\n const attendeesResponseStatus = useSelector(selectAttendeesResponseStatus);\r\n const merchandiseStatus = useSelector(selectMerchandiseStatus);\r\n const merchandiseResponseStatus = useSelector(selectMerchandiseResponseStatus);\r\n const loggedIn = useSelector(selectLoggedIn);\r\n /* HOOKS */\r\n const [open, setOpen] = React.useState(false);\r\n\r\n let allow_gdpr = false;\r\n if(gGDPR !== null)\r\n {\r\n if(gGDPR === \"allow\")\r\n {\r\n allow_gdpr = true;\r\n }\r\n }\r\n \r\n /**HOOKS */\r\n const [panel, setPanel] = React.useState(false);\r\n const [view, setView] = React.useState(View.INITIAL);\r\n const [titles, setMenuTitles] = React.useState(menu_list);\r\n const [isGDPR, setIsGDPR] = React.useState(allow_gdpr);\r\n const [showGDPRSettings, setShowGDPRSettings] = React.useState(false);\r\n const [mobile, SetMobile] = React.useState(false);\r\n\r\n const PanelOpen = (event:any) => {\r\n panel ? setPanel(false) : setPanel(true);\r\n }\r\n\r\n const MenuSelect = (event:any) => {\r\n \r\n let vw = Number(View[event.currentTarget.id]);\r\n //toast.info(\"MENUSELECTED:\"+vw);\r\n \r\n if((vw === View.RSVP ||vw === View.MERCH) && !loggedIn)\r\n {\r\n toast.info(\"You must be registered or logged in before you can RSVP\");\r\n return;\r\n } \r\n\r\n setPanel(false);\r\n setView(Number(View[event.currentTarget.id]));\r\n /*\r\n if(Number(View[event.currentTarget.id]) === View.LOGOUT)\r\n {\r\n localStorage.setItem(\"username\", \"\");\r\n localStorage.setItem(\"password\", \"\");\r\n window.location.reload();\r\n dispatch(UpdateLoggedIn(false)); \r\n RefreshMenu(false); \r\n }\r\n */\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////////////\r\n const handleSubmit = (username: string, password: string, groupname: string) => {\r\n //console.log(\"handleSubmit:\", username, password);\r\n // internal_user = username;\r\n // internal_password = password;\r\n validate_args = {userName: username, passWord: password, groupName: groupname};\r\n //const args = {user: username, password: password, client_id: gHubConnection.connectionId, groupname: groupname};\r\n //alert(\"Send the thunk\");\r\n dispatch(validateThunk(validate_args));\r\n\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////////////\r\n const handleRSVPSubmit = (total: number) => {\r\n //console.log(\"handleRSVPSubmit:\", total);\r\n\r\n rsvp_args = { email: credentials.userName, group: credentials.groupName, count: total};\r\n dispatch(updateAttendeeCountThunk(rsvp_args));\r\n setView(View.INITIAL);\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////////////\r\n const handleMerchSubmit = () => {\r\n\r\n setView(View.INITIAL);\r\n toast.info(\"Your request is being processed\")\r\n }\r\n \r\n //////////////////////////////////////////////////////////////////////////////////////////////////////\r\n const handleClose = () => {\r\n\r\n setView(View.INITIAL);\r\n }\r\n\r\n //////////////////////////////////////////////////////////////////////////////////////////////////////\r\n const exitApplication = () => {\r\n setView(View.INITIAL);\r\n };\r\n\r\n const RefreshMenu = (logged:boolean) => {\r\n menu_list.forEach((item:IMenuItem, i:number) => {\r\n if(item.key === View[View.LOGOUT] && logged)\r\n {\r\n item.show = true;\r\n }\r\n if(item.key === View[View.REGISTER] && logged)\r\n {\r\n item.show = false;\r\n }\r\n })\r\n //console.log(\"USER menu_list:\", menu_list);\r\n }\r\n\r\n const AllowGDPR = () =>{\r\n try{\r\n localStorage.setItem(\"allow_gdpr\",\"allow\");\r\n }catch(e:any){\r\n toast.error(\"Unable to set local storage on this OS\");\r\n }\r\n\r\n setIsGDPR(true);\r\n } \r\n\r\n const ShowSettings = () =>{\r\n console.log(\"ShowSettings\");\r\n setShowGDPRSettings(true);\r\n } \r\n\r\n const gdprShow = (evt) =>{\r\n setShowGDPRSettings(false);\r\n } \r\n\r\n if(validateStatus === ELoadingStatus.loaded)\r\n {\r\n //alert(\"Validate Loaded Thunk\");\r\n dispatch(ResetLoadingStatus());\r\n //console.log(\"validate: \", validate);\r\n\r\n if(validate.response === \"OK\" || validate.response === \"PRESENT\")\r\n {\r\n\r\n localStorage.setItem(\"username\", validate_args.userName);\r\n localStorage.setItem(\"password\", validate_args.passWord );\r\n localStorage.setItem(\"groupname\", validate_args.groupName); \r\n \r\n setTimeout(function(){\r\n dispatch(UpdatePasswordFail(false));\r\n dispatch(UpdateShowMenu(true));\r\n dispatch(UpdateShowSidebar(true)); \r\n dispatch(UpdateLoggedIn(true));\r\n\r\n let args:ICredentials = {userName : validate_args.userName, passWord: validate_args.passWord, groupName: validate_args.groupName};\r\n dispatch(UpdateCredentials(args)); \r\n RefreshMenu(true);\r\n }, 500);\r\n\r\n setView(View.INITIAL);\r\n }\r\n else\r\n {\r\n //console.log(\"VALIDATE:\", validate.response);\r\n setTimeout(function(){\r\n if(validate.response === \"BAD_EMAIL\")\r\n {\r\n dispatch(UpdateEmailFail(true));\r\n }\r\n else \r\n {\r\n dispatch(UpdateEmailFail(false));\r\n }\r\n\r\n if(validate.response === \"PSWDFAIL\")\r\n {\r\n dispatch(UpdatePasswordFail(true));\r\n }\r\n else\r\n {\r\n dispatch(UpdatePasswordFail(false));\r\n }\r\n }, 500);\r\n }\r\n }\r\n\r\n if(gGDPR === null)\r\n gGDPR = \"\";\r\n\r\n if(attendeesStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n }, 500);\r\n }\r\n\r\n if(attendeesResponseStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n dispatch(getAttendeesThunk());\r\n dispatch(getMerchOrderThunk());\r\n dispatch(UpdateShowMenu(true));\r\n dispatch(UpdateShowSidebar(true)); \r\n dispatch(UpdateLoggedIn(true));\r\n }, 500);\r\n }\r\n \r\n if(merchandiseStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n //console.log(\"Merchandise: \", merchandise);\r\n }, 500);\r\n }\r\n\r\n if(merchandiseResponseStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n //console.log(\"merchandiseResponse: \", merchandiseResponse);\r\n dispatch(getMerchOrderThunk());\r\n dispatch(UpdateShowMenu(true));\r\n dispatch(UpdateShowSidebar(true)); \r\n dispatch(UpdateLoggedIn(true));\r\n //dispatch(UpdateView(ViewTypes.HOME_VIEW));\r\n }, 500);\r\n }\r\n\r\n let cbFunc:IDisable = {\r\n fnBack: (event: any) => {\r\n setPanel(false);\r\n }\r\n }\r\n\r\n let cbFuncGDPR:IDisable = {\r\n fnBack: (event: any) => {\r\n //do nothing\r\n }\r\n } \r\n\r\n topBarProps.onPanelClick = PanelOpen;\r\n if(!panel)\r\n {\r\n topBarProps.panelIconElement = ;\r\n }\r\n else{\r\n topBarProps.panelIconElement = ;\r\n }\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', function() {\r\n let elem = document.getElementById(\"root\");\r\n let rect = elem!.getBoundingClientRect(); \r\n if(rect.width < 645)\r\n {\r\n SetMobile(true);\r\n } \r\n else\r\n {\r\n SetMobile(false);\r\n }\r\n }, true);\r\n\r\n let a_name = localStorage.getItem(\"username\");\r\n let a_pass = localStorage.getItem(\"password\");\r\n let a_group= localStorage.getItem(\"groupname\");\r\n \r\n if((a_name === null || a_name === \"\" || a_name === undefined) || \r\n (a_pass === null || a_pass === \"\" || a_pass === undefined)||\r\n (a_group === null || a_group === \"\" || a_group === undefined)\r\n )\r\n {\r\n console.log(\"Newbie\");\r\n }\r\n else\r\n {\r\n setTimeout(function(){\r\n if(a_name===null){a_name=\"\";}\r\n if(a_pass===null){a_pass=\"\";}\r\n if(a_group===null){a_group=\"\";}\r\n let args:ICredentials = {userName : a_name, passWord: a_pass, groupName: a_group};\r\n dispatch(UpdateCredentials(args));\r\n dispatch(UpdateLoggedIn(true));\r\n //console.log(\"USER DETAILS:\", a_name, a_pass, a_group);\r\n\r\n //update the special menu items\r\n RefreshMenu(true);\r\n }, 500)\r\n dispatch(getAttendeesThunk());\r\n dispatch(getMerchOrderThunk()); \r\n } \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n let iv={\r\n view: view\r\n }\r\n\r\n let merch:IMerchProps = {handleMerchRequest: handleMerchSubmit, handleClose : handleClose};\r\n let prompt:IPromptGDPRProps = {handleShow:ShowSettings, handleAllow: AllowGDPR};\r\n let gdpr:IGDPR = {open_modal: showGDPRSettings, callback_close: gdprShow};\r\n\r\n let bAdmins:Boolean = false;\r\n \r\n if(credentials.userName.toLocaleLowerCase()===\"hazel.fagon@gmail.com\" ||\r\n credentials.userName.toLocaleLowerCase()===\"roy.fagon@googlemail.com\")\r\n {\r\n //console.log(\"ADMIN:\", credentials.userName);\r\n bAdmins = true;\r\n }\r\n\r\n //console.log(\"VIEW:\", view);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {panel && }\r\n\r\n \r\n <>\r\n
\"logo\"/\r\n {loggedIn ? {credentials.groupName} : <>}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n {titles.map((item:IMenuItem, i:number) => (\r\n item.show && \r\n {\r\n item.subitems.length === 0 &&\r\n <>\r\n \r\n {item.icon}\r\n \r\n \r\n \r\n {item.title}\r\n \r\n \r\n \r\n }\r\n\r\n {\r\n item.subitems.length > 0 && \r\n \r\n \r\n \r\n {item.icon}\r\n \r\n \r\n {item.title}\r\n \r\n \r\n \r\n {\r\n item.subitems.map((subitem:IMenuItem, ii:number) => (\r\n \r\n\r\n \r\n {subitem.icon}\r\n \r\n \r\n {subitem.title}\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n }\r\n \r\n\r\n ))\r\n \r\n }\r\n \r\n
\r\n
\r\n\r\n
\r\n {\r\n view === View.ABOUT && \r\n }\r\n {\r\n view === View.BAR && \r\n } \r\n {\r\n view === View.FOOD && \r\n } \r\n {\r\n view === View.KARAOKE && \r\n } \r\n {\r\n view === View.DRINK && \r\n }\r\n {\r\n view === View.MUSIC && \r\n }\r\n {\r\n view === View.VIDEO &&
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default MainContainer;\r\n\r\n","import React, { useEffect } from \"react\";\r\nimport { ELoadingStatus } from \"../redux/Enums\";\r\nimport { useAppDispatch } from \"../Framework/hooks\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Box from '@mui/material/Box';\r\nimport Paper from '@mui/material/Paper';\r\nimport { GridColDef } from '@mui/x-data-grid';\r\nimport MagnoGrid from \"../Framework/MagnoGrid/MagnoGrid\";\r\n\r\n/* ICONS */\r\n\r\nimport \"../css/App.css\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport clsx from \"clsx\";\r\n\r\nimport {\r\n createTheme,\r\n makeStyles,\r\n} from \"@material-ui/core/styles\";\r\nimport {\r\n Typography,\r\n} from \"@material-ui/core\";\r\n\r\nimport \"../css/Panel.css\";\r\n\r\n\r\nimport { \r\n selectAttendeesResponseStatus,\r\n selectAttendeesStatus,\r\n selectAttendees,\r\n ResetLoadingStatus,\r\n getAttendeesThunk,\r\n\r\n} from \"../redux/JamHawSlice\";\r\n\r\nimport {\r\n IAttendee,\r\n View,\r\n} from '../redux/JamHawInterface';\r\nimport { Bool } from \"reselect/es/types\";\r\n\r\n//Theme colours\r\nconst theme = createTheme({\r\n overrides: {\r\n MuiPaper: {\r\n root: {\r\n MuiAccordion:\r\n {\r\n root:\r\n {\r\n Color: \"green\",\r\n }\r\n }\r\n },\r\n },\r\n MuiList: {\r\n root: {\r\n width: \"100%\",\r\n },\r\n },\r\n MuiListItem: {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n borderRadius: \"6px\",\r\n \"& .MuiListItemIcon-root\": {\r\n color: \"white\"\r\n }\r\n }, \r\n //paddingBottom: \"0px\",\r\n borderBottomStyle: \"solid\",\r\n borderBottomWidth: \"1px\", \r\n borderBottomColor: \"#a0a0a0\",\r\n\r\n },\r\n }, \r\n MuiAccordion: {\r\n root: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n boxShadow: \"none\",\r\n },\r\n \r\n },\r\n MuiAccordionSummary:\r\n {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n }, \r\n width: \"100%\",\r\n padding: \"0px\",\r\n },\r\n },\r\n MuiAccordionDetails: {\r\n root: {\r\n \"&:hover\": {\r\n color: \"yellow\",\r\n }, \r\n marginLeft: \"10px\",\r\n },\r\n },\r\n }, \r\n palette: {\r\n primary: { light: \"#416000\", main: \"#416000\", dark: \"#416000\" },\r\n secondary: { light: \"#6385BB\", main: \"#6385BB\", dark: \"#6385BB\" },\r\n },\r\n \r\n});\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n canvas: {\r\n height: \"100%\",\r\n width: \"100%\",\r\n userSelect: \"none\",\r\n //Why does this stop the canvas scroll?\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"white\",\r\n // textAlign: \"center\",\r\n },\r\n inner_canvas: {\r\n height: \"calc(100% - 60px)\",\r\n width: \"100%\",\r\n userSelect: \"none\",\r\n //Why does this stop the canvas scroll?\r\n // borderStyle: \"solid\",\r\n // borderWidth: \"1px\",\r\n // borderColor: \"cyan\",\r\n // textAlign: \"center\",\r\n overflow: \"hidden\",\r\n //scrollbarWidth: \"none\",\r\n \r\n },\r\n item: {\r\n display: \"inline-flex\",\r\n width: \"100%\",\r\n // borderBottomStyle: \"solid\",\r\n // borderBottomWidth: \"1px\",\r\n // borderBottomColor: \"silver\", \r\n },\r\n}));\r\n\r\n\r\nexport const AttendeeList = () => {\r\n const dispatch = useAppDispatch();\r\n const classes = useStyles();\r\n \r\n const attendees = useSelector(selectAttendees);\r\n const attendeesStatus = useSelector(selectAttendeesStatus);\r\n const attendeesResponseStatus = useSelector(selectAttendeesResponseStatus);\r\n\r\n /* HOOKS */\r\n const [open, setOpen] = React.useState(false);\r\n \r\n /**HOOKS */\r\n const [view, setView] = React.useState(View.INITIAL);\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getAttendeesThunk());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n let iv={\r\n view: view\r\n }\r\n if(attendeesStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n }, 500);\r\n }\r\n\r\n if(attendeesResponseStatus === ELoadingStatus.loaded)\r\n {\r\n setTimeout(function(){\r\n dispatch(ResetLoadingStatus());\r\n dispatch(getAttendeesThunk());\r\n }, 500);\r\n }\r\n\r\n const attendeeColumn: GridColDef[] = [\r\n { field: 'email', headerName: 'Email', width: 266, type: \"text\"}, \r\n { field: 'group', headerName: 'Group Name', width:330, type: \"text\"},\r\n { field: 'count', headerName: 'Count', width:50, type: \"number\"}\r\n ];\r\n\r\n let totals:number = 0;\r\n attendees.forEach((grp:IAttendee) => {\r\n totals = totals + grp.count;\r\n })\r\n\r\n return (\r\n
\r\n\r\n :not(style)': {\r\n m: 3,\r\n width: 700,\r\n height: 500,\r\n },\r\n }}\r\n >\r\n \r\n \r\n \r\n Party Attendees \r\n \r\n
\r\n \r\n
\r\n \r\n Total Attendees {totals} \r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default AttendeeList;\r\n\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF0AAABZCAYAAABc4CjVAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAUWSURBVHhe7Z3va5tVFMe/SZO0SZr+bpb+cF1n19YWt6z4u2iraHFsY/OVKBPfCb7Tl74UHPgfOIb/gQi+HoLIFF84p+icbhaNc61bmmZJ2qX5He+5PmVVt5nnaZvzPMn5lMvITWHw4fTcm3PPfeKaO3W2WipXIOwubrcLkb52zD06CrcIrw+VShUrySwuLcbhNuaEOlAslbF6KwvX7CtnqsZcU+H1tKCt1aNH0O+Dp0XFn8t4cwuZ9Ty2ZoNqtYr0Wk5HrhX6uoPNI71FSQ20eRHwq6H+7Qr50d3pR48akb6Qlu9y/df678sp5PJF4xVQVrJj15NIpjeQUvI3cnfeq4WmkE4eXeqnp8uPmakhNQZxWI1wb1BHu1XOfbmITz79Ed9fuWHM1AZJb/icvm+oG6+dOIzTby/gzVcfx/xj+7Gnt12lE+vCt0tDSqc0Qeni6NwEXn9pBkeeGceBkT70qyhrD6r87XHrvwAuGk467Yd7VSo5Nj+Jo2o8Gd2L4UgnfF6+yP43DSe9pzOAp6IjePnIQUw9GNY7E7vRUNLbfB5EJwdw6kQUA+GQTiN2pKGkR6cG8MLsGCL9IWPGnjSMdNqKPTI9hEMTEbg5V8kaaBjp02NhjO/rV7uTVmPGvjheOgW1X33CpA89ewe7jFl743jplEoG1aI5PtqvUkzAmLU3jpdONZWHxyPobN/ZtEKFrXKlgnL57oMKXupXLNEQ0sdGehEM7Nx+nKRSdfHqbwn8fI/xZzxjuti1ieMLXiT79FsLmFILKVUPrUBRe3kxjm9/WkZs6RbSVM4tVXR18V5y0pkckpksshtNWGUMqd3KmXdPYnhPh456s1BEf/3DdZz/JoarsQRWVtexkS8Z7+48jq8ykuRQ0Id2Fe1WhNNJztLNND4+dwnnL8RwbTm1q8I3cbT0Vm+LPoCgIpcV1lSU/xJb1TXxfGH3ZW/iaOkk2+/33vXEpxYSqaxaFFeMV/XD0dK3S0othrRw1pumlk778HyhbLyqH00tnQuRzoBIZ0CkMyDSGRDpDIh0BkQ6A7aSTqdAW7tp/394dROR1WNoKiP4fGb+vzvDar2HsFVpd3S4BwuzB/DcE/uNmfujpSnp3R1+SxJy+RIyt/MoFs1/Kn3/7Oe6/m4W29XTJ0b7cfL5KRx/dtKYsR+VahWJ5G2898FnuHjZmnTJ6Sahc1HqSy+UrNdsRLpJ6MCaqpPFovW7WiLdJHSeeiOxhlzB2qE0IdLNotLLRq6Ectn6UijSTUIL6VI8/Y97SGYR6SahnL5G28yS5PS6QZG+msqiYGFvv4lIN0lVLaQrap9e2Eb3gEg3AaWWYpk6v9RCquRbRaSbIJsr6j4ZarnbDiLdBCrQ9ZV16zH+NyLdBNQFthzP6K7e7WCrghe1yM1MD+obcrVAt+foCuPBiYile6JxtSBS02hmLWfM3B96EAMVuWhYbcNzfNcuNY4eemgA77wxj65QmzFbO199dw0ffnQBV+rYWidVRiZEOgMinQGRzoBIZ0CkMyDSGRDpDIh0BkQ6AyKdAZHOgEhnQKQzINIZEOkMiHQGRDoDIp0Bkc6ASGdApDMg0hkQ6QyIdAZEOgMinQGRzoBIZ0CkMyDSGRDpDIh0BkQ6AyKdAUffOWr1efBApBMvPj2uv3bHLL/+kcQXF2O4mVg3ZnYfx1/00s9Pb/Xq7xd1t5h/hhd9nwXd86/nA+sdL92JDIY7JKfXE3r8YW93AH8BYwfAMKO51kUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAABVCAYAAADAFVOtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAABPPSURBVHhe7Z0JdFzldcevrX3fvMiyrMX7bmz24EABs4fFxAET49TJSbrRNulpc5rTjTYh7SFtSlPacAongYa0AeJgzFazFAIY22DAK7ZlG2+SLcvWLsvapd7f1SiM3ryRZt6MZkSP/jpzLI2WeXO/+937v/97v+dx+RvS+2QMMcd4379jiDHGDB8njBk+ThgzfJwwZvg44TPBatIS0iVlfLKkJqRJZmKm79lAtPe0S0dvu5zvOW+f9/T1+L4z+jDqDJ8wLkGNnCIpCamSrMbmUZw2TQpSCmRySqHMyJzl+8nB6NWPs+1n5ExHjVS1VUpN+2lp6W6Rzp5O6eztkHZdkO7ebunTj9GAUWf4KalTZFHuErk0/3JZnHuBLM5ZIunq8ePGjZNxGhnHjwseHfswfx+m7ZXW7lapPF8puxt3yu6mnbKtbqscP3/UdsJoQNwNj4fnJuXK5ROWy9UTr5U52XNlQspEyUrMkgwNKxkJGUMaOxh6+3o17HToApyzRWjpbpYDLQdkS+1meb9+qxxsOaihqNv307FH3AxPCCnLKJeL8i6Ri/MvlVlZs2VGxkzJS86XpPFJvp+KLho6G3QXHJej6vk7Gz6SrXWbbQGauhp9PxE7xMXwpellckHeMrlEDY7RF2YvluSEZA0l43w/MbLoVk+v0jD0fv02ea9um+xo/EAO6QKQlGOFmBkeo6YnpktZerlcO/l6uWPqF2Ve9nzz/OHQ1dtlbKWtp006ejrsudaec8ZaCFX8jSR98Hnq+FRlQWn6XEpIIepY61F588z/yovVz8vept26K+pjwoZiYnhNiWb0hTmL5W/mf9eSJwkzGIjPeCUxGCOc7TgrJzREHDl32DwV7GneI+eUtWRqLoDtTE6dZDmB3TQ9c6YUpRbZ10njE3VBEm0Rgu0oFvYT/duPHvmx/E/1S1LfWWevP5KIieEnpUySLxTdLvfN/KZMSSsyDx0qrJxqOynb69+zUPBx016jh+c0SXb3demj3xu7ejulTxkMbAdP58HfTFQjJ2qOyEvKsx119aRrNZxdJtPSp1k94AZ4EFSTWL/p9Mvy5LHHZY96P8l5pDDihl+kdHBl8Sq5ufAW80QM5ARvHJpHwtuiCW9n40dK/Y6b5zV3Nev32sLe/iRomNFEXfT85AJZkLNQLiv4nFyYd7GUpJf6fmowuA5qgQ8btstTlf8tr53eNGLGT0hbnfS3vs+jCjxvrnrcmtK1csuU27TwmekaczEsXPu5k8/KS9Ub5ddn31Bv22VeTygxz9aPcEG4IifUddbajqlqq7J4Xtl2wnZPQcoELdIG5wF2DOFpcmqhZCdlW9F1XH9nJGL+iBg+VavO6Rkz5J7Se+W2qStdPYw3Q9x+++yvZeOpZ2VD1S+10NkltR21IxJf4fIswKFzFZonquw1qJCpE1gAf/A1xs9LzpNa3XXV7SejbvyoG55EVpJeIqtL1sjXyr9hxZATlPCEkg0n12tCe0TeOfuWeSFeOtIgdLAA2+q3WFLNTsqRXDUwzuKPfuNPkfKM6fKxJnLif5fmmGgh6obP1wLomkkr5P6FD5hHueGobt/v7/s7+a8TP5MzHWd8z8YWGH1X4w5jMxmJGZaLnIAE4DjzshfItrotFraihagaHq+5VdnLt2b/mS2AEy0az98487o8sO9+eb9hm5zvjl3BEgyNXQ0afg6arkMxR26CKQ0gUckA+YD64XR7ddSMH1XDX1d4o9xd8mWtSpcGJNJa5eJvaTz/98M/sliOhjIaQKxv7moyVbNeiyeki3TdAQPXzyJQnBHzz+rupI5o7Wm170WCqBmeWHhPyb3yW8qb2br+ILHByR8/9pi8W/uO8fHRBBInEvKJ88ckR/l/kdYasBp/kGihwnj80dYjEeejiA0/ULSsKr5LbppySwCD4U0hy66vfFqeP/Wc71l3wLtRKqF0FEHs+JGgcm7AkCR4dPzitGIp1MSK9OAP4j0h50DzfmnQEBUJIjY8Rp+k5fp35v21LMheFFAgUe4/fvQxeVoLEjeayMKRhFElEc4uzL/YtjtfkzNipZ0A6gVCDrXDpNTJUppRqiHn0/fDdRKCqD12Ne3wVF8MIGLD5yTnyN3T1miIucZomRP/dvhf5MVTG42fu4FW3gW5S+WBhQ/KuvKvy02FNxsruq7wBmuGvFqzybT0WIL6gjbjzMxZllj9Af3EuV45/bI5klfjDy/fDQHz9pTJFmYKkgdfIHRtc+3bFtOpQt0ukLL+gtxlcv+C7xujmKhb2Zof+shLyrc2H89T8scSnerx/YXdBt8znwL1k3x285Rb9fPBoSgcRGR4KCONDDQY/+qPeNmkTGFD1XrlyYeC6h3zlR/fVrTSPJ5k5h+m2NLE2EvyLwvwuljgpDoL3Soe/qEOllOoDAdZOz0xToYvSpsqKzQkEIv91UboFtXeO7VvGUVzA7+zLO8iWTH5OvN8N7AQF+dfYm/UmTtGGlTXB1sq5LmTvzLNx3/HIkUv1Xw0K3OOpCcMZnChwrPhMda09BK5omB5AGev03j+SvXLWnCctpDjBljD3Kz5msDKfc8Egr9L1ViePt3ebKwBbydcEioJPwPgurieqyZerUzH2270bHhiennGDAsD/t6OZ0DJXqjeaHJuMCzOuUBmZ83xfRUchBsaJ6UZZb5nYgeSZ11nnRmfqtsf5LdLCy7znH88Gx5D0GhwAu9Azz7TXjMkDcTjQ/WWZXkXGsOIB+D2z1Y9Ywvgj8TxidZgcZNGQoFnwxelTjXp14mTbVWyq3GnK2f3R0ZiulG2UAC7IZ/EA8R6umDV6lD+MznscnYjodLJ6EKBZ8NPSeuXTJ2ADVCpDgeYD627UEBFO1SPdiTBdTbbTM5+64g5QYNnshZb4cKT4TEC/N1J80hANe3Vcrz1mO+Z4KD6YxuHAnIGFWw8sbdpj1W1TjALhIAWLjwZnnIaTcWJxs4GZTR1IfUpT7WfNNYwHFjMt6wduNv3THxwSOsR3psTNH0mxCrUwMGRSp3AI0IxJqD/SSIeCmxzds/TlU+ZuhlPVJ0/oSGnyffVp0jV3Z8UpOEzFDwZHhoJK3GiRpkMolgoOH7+mDUgGKsLBlptDx38Rxs0YhHiCeRgt8YNEjKScbjw5vHj+0eonUDVC7UvCUNgQIkKNxj61NiHdYs7OXQ8QCGIWHe+e3ATBDvA6cOFJ8MHAxp1OAOglOQDjW43EW2cVoiwhqyk2FetbkB/guFEA1E1PO09twQUDMy4bKl9R3Y37nIttuh30sOdmTnbdYfFGnh7tAZbo2p4igq/PvGwYPtWnKuQnx3/qYUTZxxnVAT5dfmEKy2n+EsTn3VE1fAcn0nR+B8O4OebNdygh9B0dsOa0q9YWxE29f8FUTU8c4rhclq8HB3k4UMPGVdmeNSJKalFsqp4tawt/WpAHzSWKEortmuJBjwZntn09t5A5THLukfh69OEHAqkF049ZxTTCSToudnz5M7iVXJPyVprFzql6FiARXcuPAXecLqUGzxdPdzbrdynH5nlGIsIBTAa3sCm0y9plfqmDQ45gUzBfP3a0nU2BIvnJY4LfmQHvZwO1+1TV9o44YrJN5jY5jVc0Xx3221U606KGQo8Nbu5+KW5F9qpPH+w8hUtB2y23QuI9919nfYmEeCcnSm+Rv9emLNI6rvqdfGbrTvkrB2Yg+dnMDgz+XcWf0kXYb5dN/UDimOnvk6oIh1YpIu+ovD6AEWWEUCcBREtHHgyPLMlaOSXFlzue6YfFFYHWvZZo9grGGbFOHOz5klhWiCToQXIwlwx4fPm1cgUdLrYN4CfX5S7WO4tWydfLf/Gb8ISQtZF+ZfYfDxsicoZTSnUipjZ+isKrgyQp5mx2VL3rhxpPex7JjR4MnyPfjDkSZPaX1NPGJ9gGgx6fCSFBvIr8jI7CknYrd9KtVieOd16nwxRUbzxe9DO1dPWWDOaaQV/sAA5ybn6d5fIjYU322KQ2EPRl/h7zPw45QGMzuTxcLqTE54MT0wuyyiz1p2/JIq3wcdRHgk5XkEYwIgcCJ6uxs3R3OEMO3T7CR0YgmbEUt2B10++Sb5QdJt8bsJy2y3OBMz1sWAQAEJWccY009I7dQczlucGfof88rsz7rP+r/M6nj+1wUIrVW048DzQxIWXaRyGbTjR2NVocc8rWFhOY6AIEnZyknLNwNQJTjDqx8Jw6GxO1lxdqBk2WDUc6+H7SNvUHVTQHzRs931nMJgem5ezwHYRgtgAuEYIxlMnfi57m3cHbeoHg2dOxnD/YRfqNzBPDqcf7s0PBWIvb+xXVc/IL/TNMRjl1oiIFBiQj2BgcnjFpOsD+g+9fT1y9NwndsSHodxw4dkyxLQKzeTnHSPL1odU76PMD3YwIRzAWp6p/IX8+JOH5fWaVy0e411DGSscwKTqg+hL5Baa2bcU3WoJ3R9dWuht1fju1g4MBZ4NDyMgkb6t5b5T4GKIFf4czSrzvbqt8vf7vyv37/1L223hbu1ggA4edNm5gBC3RBM8Ip2T/zNqzsHkUBs/TniPBYpqLXTeOvNmACXLSsw22nZ5wXLdouE3CdzA4nIU8vUzr8offvQ78sjhh6377z9oFC5OtZ2Sjxo+lEMtFb5nBqNU2dKdU78UoIxyqAJFFQLhJcwAz8kVULjwgM9nJ2X9piFAbGeWkvhYobyerhT3k4kU/A2GpIj1jJGg5zObibiWqa8P+wglr1DoweN/fvwJDV+vSE0HdcBgEC5vUMp5x9Q7jQX51xOE2SdP/Kd8oGwmlP6yGyIyPG8Aj4NFzM6ca8XKAJgrh2piIC40XLo1FPB+WnFHWj+xUFGp7Kdavbemo9oSMlTTOkPjB3eGyBdcC/QPXYhjnoxkO52CEHnVpGtk1bS7lTLPHWR0PJzZ+MeOPKLxvT7gd0NFRIYHZHdO7n1+4pXGaAY8joslLtI4wEB4WLRBiKMdBwenGU7hhs7DIiPktegi0Jzh+nj9j5v3WsdrfdVTNoJNYnQajoS6IHuhyQzM6TsXj7zGbDxH7yPZxVE7Uv/YRU/YhToPJ2w8+az85OijRgdjCbg9Q7UD1SshKdjhiAHgLIwV/vncv7J7LzCv7w8S6vMnN8o/H/yB7G/+2PesN0SUXP3BcFNaYuC01wcN78sR5buxBofJSH47Gj6yR7BxcX/g3V8p+5os191b4DKM+kH9dnmtZpNr/RIuIjY84QQGw2RZkp9MO9DgYEogmgdzQwWvD+U0JTIEMYwhrd+f8UfKYlbJtLSSgCSN/MsZXQ4qRIPKRmx4JFiKJSo7/4vlXjMfN+2xWZtIKN9IA+2FSWRo4+qSL9vpFn/OTqGGGvti9Ualzm+49gq8IAqGT+uXaB0jGJ3qFe/Wvu25sosFMDA6+xeL75J7StbInKx5AZwdrWi7hsv1lc/Ifq3UvXSb3BCR4ekAEQtRBrkLxgDwkjZlMyTUYOMeLBhlOOKXU/EbabAzeW2k7XtL18m6sq9bd8sJ6Cf3KvvJkf+w1mQ0T6NHZHgYAMP5aOb+YQaZlarwsHJsp5YDc+CDYzi3F62UW4vusPzgf550pEGhhb7+T0t+ZKfRkTjcgBb1w4MPykvVL9g9D6KJiOgk2/QPZv6xbVX/ZgVj1ejU/7D/e8apEcuK04vtsNmy3IvsBkL0TDOTlOrpq9doJbq+8injxtHUYZxAe+cUIYvNGVrqDipsHMEJDs49eewJO2d7rqvFdnE0EZHhud/XDxY/ZJ0g/4uHxv2w4kE7jsO9JWk6l2fOsHuTIRezzQdOSQMMTZHFtt6nRc6Ohg+tOiQxRwL+Pu3IOdnz7I6tnKldkLPIrol7lvnv0gEQ05nxebbql8ZivIpgw8Gz4ZFLVyr1emDRgwEJicz/Ws0rFoJoy/FGQzmkBfvhd1k4ChRGtNkBPEfxgyYz3Agd4Y+jMXgzu4rZS16fbllpuhrcUeANABmCwxJoN4QWZIVoMRg3eDY8UwZry9bJb2vBMRLo1l1Qp0XPvuY9NuiEHsMOorvFPSiheAMlO+IciigoySg1Hs6Cz1KaOD9noT0/FNB30Gy4Cd1PjzyqC18RkJuiDc+GJzn93oz77Mi7Fwxo+Gx3txgbDNC5/rtm0xDprw+YJoYKhgtCHOyL+XtCy/qqZ+xw9HDFVjTg2fDfnPWn8idzvm3hxAuYImD+3aSGMBsmGIZkN5DwWDi3SYThQDjjVi4k9Yrm/Rbqop1Eg8GT4Wkq3zfzW1Z0uCUoN7Cd0WwYheB2h8RvqluSLj3NqyetMM/1YsBwgIazTw3+ssbxD+u3m2pJ+w/OHkt4MjxhhjvsUbEGA6EERRAuz5sjRvPgc7RzEhn3eUdqmJk12+51M0/ZB/cHICFG81wrr8Xdl5j22te01wy/v2Wf5Yx4yRmeDP8X8+6Xu6bdY7eN9QfyQHVbtVS3n7KGw/7mfZoYK8y74erBKj9CBXya8Tj6m+wojE8You9JdUwXCF1oqP+qgpjNIBWvw81CGzsbpbbzrC04DROmvuIl2jkRluExEEOp/7r0Ebm+8EaLtQwwcRruXHerxUmYwc7GHXa2icNaXmImEgI8e5ZSQP6bCkQs+D9af7DDvLxKe3ebDVPhyRRxjAOy8Bh+tAl1YRme+Lt8wlXy7bnfsZKf279yL+B3azfLbi144NqjWYkcTQjb8AyrUogQOojhNJ/7J3A7La7HihV81hF2qOmfY0y2CnK03DvyswhPyXUMkSMiWXgM3jFm+DhhzPBxwpjh44Qxw8cJY4aPA7ISs+T/AEij5YbuqZuDAAAAAElFTkSuQmCC\"","// tslint:disable:no-console\n// tslint:disable:no-trailing-whitespace\n// tslint:disable:no-irregular-whitespace\n\nimport React, { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport \"./css/App.css\";\n\nimport { Login } from \"./Framework/Login/Login\";\nimport MainContainer from \"./components/MainContainer\";\nimport {\n UpdateCredentials,\n //selectCredentialsReady,\n} from \"./redux/SessionSlice\";\n\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { useAppSelector } from \"./Framework/hooks\";\n\nvar intervalId = null;\nvar timeStart = 0;\nvar timeCurrent = 0;\n\n/////////////////////////////////////////////////////////////////////////////////\nfunction App() {\n const dispatch = useDispatch();\n\n /**\n * Runs once at page load to retrieve the stored user name and password\n */\n useEffect(() => {\n console.log(\"React v\" + React.version);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n\n return (\n
\n
\n \n
\n
\n );\n}\n\nexport default App;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport axios from \"axios\";\r\nimport { ILoginResponse } from \"../Framework/Login/Login\";\r\nimport { ELoadingStatus } from \"./Enums\";\r\nimport { AxiosErrorHandler } from \"../Framework/AxiosHelper/AxiosHelper\";\r\nimport { RootState } from \"../store\";\r\n\r\n// Defined for the slice state interface\r\nexport interface IMediaState {\r\n media_loading: ELoadingStatus;\r\n save_media_loading: ELoadingStatus;\r\n media_error_msg: string;\r\n base64: string;\r\n picture_id: number;\r\n}\r\n\r\nconst URL = process.env.REACT_APP_BASE_URL;\r\n\r\n/**\r\n * Arguments passed to the getImageThunk\r\n */\r\nexport interface ICameraArgs {\r\n picid: number;\r\n credentials: ILoginResponse;\r\n}\r\n\r\n/**\r\n * Arguments passed to the saveImageThunk\r\n */\r\nexport interface ICameraSaveArgs {\r\n data: string;\r\n credentials: ILoginResponse;\r\n}\r\n\r\n/**\r\n * Retrieves the base64 image from the database using the image id\r\n */\r\nexport const getImageThunk = createAsyncThunk(\r\n \"spotcheck/media\",\r\n async (cam: ICameraArgs, thunkAPI) => {\r\n try {\r\n const response = await axios.get(\r\n URL + \"/api/GetImage/\" + cam.picid + \"/large\",\r\n {\r\n auth: {\r\n username: cam.credentials.user,\r\n password: cam.credentials.password,\r\n },\r\n }\r\n );\r\n //console.log(\"getImageThunk\");\r\n return await response.data.image;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue(AxiosErrorHandler(error));\r\n }\r\n }\r\n);\r\n\r\nfunction b64toBlob(dataURI: string) {\r\n //console.log(\"b64toBlob:\", dataURI.length);\r\n var byteString = atob(dataURI.split(\",\")[1]);\r\n var ab = new ArrayBuffer(byteString.length);\r\n var ia = new Uint8Array(ab);\r\n\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n return new Blob([ab], { type: \"image/jpeg\" });\r\n}\r\n\r\n/**\r\n * Saves a blob image to the database returning the new id\r\n */\r\nexport const saveImageThunk = createAsyncThunk(\r\n \"spotcheck/save_media\",\r\n async (cam: ICameraSaveArgs, thunkAPI) => {\r\n var blob = b64toBlob(cam.data);\r\n\r\n const fdx = new FormData(); // I know, It won't work\r\n fdx.append(\"blob\", blob);\r\n\r\n //console.log(\"BLOBX:\", blob);\r\n\r\n try {\r\n const response = await axios.post(URL + \"/api/SaveImage\", fdx, {\r\n headers: { \"Content-Type\": \"multipart/form-data;\" },\r\n timeout: 30000,\r\n auth: {\r\n username: cam.credentials.user,\r\n password: cam.credentials.password,\r\n },\r\n });\r\n return await response.data;\r\n } catch (error: any) {\r\n return thunkAPI.rejectWithValue({ error: error.message });\r\n }\r\n }\r\n);\r\n\r\n/**\r\n * Initial slice state\r\n */\r\nconst initialState: IMediaState = {\r\n media_loading: ELoadingStatus.idle,\r\n save_media_loading: ELoadingStatus.idle,\r\n media_error_msg: \"\",\r\n base64: \"\",\r\n picture_id: -1,\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////////////\r\nconst MediaSlice = createSlice({\r\n name: \"media\",\r\n initialState,\r\n reducers: {\r\n ResetMediaLoadingStatus: (state) => {\r\n state.save_media_loading = ELoadingStatus.idle;\r\n state.media_loading = ELoadingStatus.idle;\r\n },\r\n },\r\n\r\n extraReducers: (builder) => {\r\n /** GET Media **********************************************/\r\n builder.addCase(getImageThunk.pending, (state) => {\r\n state.media_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(getImageThunk.fulfilled, (state, { payload }) => {\r\n state.base64 = payload[0].base64image;\r\n state.media_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(getImageThunk.rejected, (state, action) => {\r\n state.media_loading = ELoadingStatus.error;\r\n state.media_error_msg = action.error.toString();\r\n });\r\n\r\n /** SAVE Media **********************************************/\r\n builder.addCase(saveImageThunk.pending, (state) => {\r\n state.save_media_loading = ELoadingStatus.loading;\r\n });\r\n\r\n builder.addCase(saveImageThunk.fulfilled, (state, { payload }) => {\r\n state.picture_id = payload.error_status[0].picture_id;\r\n state.save_media_loading = ELoadingStatus.loaded;\r\n });\r\n\r\n builder.addCase(saveImageThunk.rejected, (state, action) => {\r\n //console.log(\"Picture Error:\", action);\r\n state.save_media_loading = ELoadingStatus.error;\r\n state.media_error_msg = action.error.toString();\r\n });\r\n },\r\n});\r\n\r\nexport const { ResetMediaLoadingStatus } = MediaSlice.actions;\r\n\r\nexport const selectSaveMediaLoadingStatus = (rootState: RootState) => {\r\n return rootState.media.save_media_loading;\r\n};\r\n\r\nexport const selectMediaError = (rootState: RootState) => {\r\n return rootState.media.media_error_msg;\r\n};\r\n\r\n/**\r\n * Gets the BASE64 string of the image\r\n */\r\nexport const selectBase64 = (rootState: RootState) => {\r\n return rootState.media.base64;\r\n};\r\n\r\n/**\r\n * Gets the return picture id\r\n */\r\nexport const selectPictureId = (rootState: RootState) => {\r\n return rootState.media.picture_id;\r\n};\r\n\r\nexport default MediaSlice.reducer;\r\n","import { configureStore } from \"@reduxjs/toolkit\";\r\nimport SessionSliceReducer from \"./redux/SessionSlice\";\r\nimport MediaSliceReducer from \"./redux/MediaSlice\";\r\n//import mainSliceReducer from \"./redux/MainSlice\";\r\nimport LoginReducer from \"./Framework/Login/LoginSlice\";\r\nimport JamHawReducer from \"./redux/JamHawSlice\";\r\n\r\nconst store = configureStore({\r\n reducer: {\r\n login: LoginReducer,\r\n session: SessionSliceReducer,\r\n media: MediaSliceReducer,\r\n jamhaw: JamHawReducer,\r\n },\r\n});\r\n\r\nexport type RootState = ReturnType;\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nexport default store;\r\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport \"./css/index.css\";\nimport App from \"./App\";\nimport store from \"./store\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\nif (window.cordova) {\n window.ISCORDOVA = true;\n} else {\n window.ISCORDOVA = false;\n}\n"],"sourceRoot":""}