{"version":3,"sources":["utils/formatter.ts","hooks/use-permissions.tsx","types.ts","components/display-markup.tsx","utils/is-agent.ts","components/app-header.tsx","assets/footer-facebook.svg","assets/footer-instagram.svg","assets/footer-linkedin.svg","assets/footer-logo.svg","assets/footer-twitter.svg","assets/footer-youtube.svg","components/footer.tsx","components/route-container/route-error-boundary.tsx","components/route-container/route-wrapper.tsx","components/route-container/index.tsx","components/route-container/route-error.tsx","components/pop-ups/pop-up-utils.ts","utils/capture-error.ts","contexts/admin-agent-context.tsx","components/pop-ups/pop-up-item.tsx","routes/business/crm/today-utils.ts","routes/business/crm/today-utils-arm.ts","contexts/auth-context.tsx","components/pop-ups/pop-up-data.tsx","components/back-to-top.tsx","assets/collapse.svg","assets/expand.svg","routes/business/crm/map-hotspot.tsx","assets/hotspot.svg","routes/home/sections/speedometer.module.css","contexts/app-context.tsx","routes/business/crm/contact-utils.ts","amplify.ts","assets/arc-logo.svg","components/navigation/nav-section-link.tsx","components/navigation/nav-section.tsx","components/navigation/nav-bar.tsx","assets/elephant-white.svg","assets/its-white.svg","components/navigation/nav-data.tsx","components/navigation/nav-drawer.tsx","components/navigation/index.tsx","components/notifications/action-list-item.tsx","components/notifications/action-list.tsx","components/notifications/text-list-item.tsx","components/notifications/text-list.tsx","components/notifications/index.tsx","components/pop-ups/index.tsx","components/token-error.tsx","components/dashboard.tsx","components/maintenance-message.tsx","utils/redirect.ts","components/agreement-alert.tsx","components/authorize-error.tsx","components/mfa-check.tsx","components/require-auth.tsx","routes/home/sections/contest-meter/select-meter.tsx","routes/home/sections/contest-meter/index.tsx","routes/home/sections/leaderboards.tsx","routes/home/sections/news-notes.tsx","routes/home/sections/speedometer.tsx","routes/home/sections/upcoming-events.tsx","assets/logo-call-activity.png","routes/home/sections/weekly-calls.tsx","assets/logo-call-wednesday.png","assets/logo-prodcast.png","routes/home/index.tsx","routes/home_v2/contest-leaderboards.tsx","routes/home_v2/dashboard/chart.tsx","routes/home_v2/dashboard/mobile-chart.tsx","routes/home_v2/dashboard/index.tsx","assets/hotspots-logo.png","routes/home_v2/events/hotspots-map.tsx","routes/home_v2/events/index.tsx","routes/home_v2/news-notes.tsx","routes/home_v2/today/badge-level.tsx","routes/home_v2/today/contest-tracker.tsx","routes/home_v2/today/crm-totals.tsx","routes/home_v2/call-status.ts","routes/home_v2/share-call-button.tsx","routes/home_v2/mobile-live-bar.tsx","assets/logo-twc-call.png","assets/logo-prodcast-call.png","assets/logo-activity-call.png","assets/logo-youtube.png","routes/home_v2/today/media-calls.tsx","routes/home_v2/today/ticket-totals.tsx","routes/home_v2/today/index.tsx","routes/home_v2/index.tsx","assets/alliance-logo.svg","routes/sign-in/index.tsx","routes/root.tsx","app-root.tsx","index.tsx","theme.ts","components/animate-in.tsx"],"names":["toTempIDs","params","temp","value","forEach","item","tempItem","tempID","cuid","push","toFixed","decimals","re","RegExp","toString","match","Number","parseFloat","toCurrency","displayAllDigits","Intl","NumberFormat","style","currency","minimumFractionDigits","maximumFractionDigits","format","formatter","fixedValue","toPhoneNumber","replace","toDateFormat","Date","toAgeInDuration","start","end","duration","intervalToDuration","timeAgo","undefined","years","months","days","toSafeDates","items","Object","keys","i","includes","split","spacetime","toLocalDate","toSafeDate","toPercentage","toLocaleString","removeDigits","formatDate","usePermissions","state","React","useContext","AuthContext","permissions","groups","hasGroup","group","checkPermissions","list","getBillingAccess","name","checkBillingAccess","access","checkARAccess","program","session","payload","getIdToken","decodePayload","cognitoGroups","AWS_GROUP","GlobalAdmin","map","billingPermissions","length","permission","find","Name","AvId","Program","PYMNT_DFLT","BillingUserAccess","ContentCategoryName","CarrierParent","CarrierCategory","CarrierSubcategory","DisplayMarkupBox","props","__html","markup","sx","dangerouslySetInnerHTML","DisplayMarkup","className","isAgt","AgtNo","Boolean","useStyles","makeStyles","appBar","backgroundColor","borderBottom","darkAppBar","grey","AppHeader","classes","isDarkMode","AppBar","elevation","position","component","Toolbar","width","margin","flexDirection","wrapContentForMobile","xs","sm","nofade","Typography","variant","color","materialTheme","palette","primary","main","routeTitle","flex","headerContent","_path","_path2","_excluded","_extends","assign","target","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgFooterFacebook","_ref","svgRef","title","titleId","height","viewBox","fill","xmlns","ref","id","d","_path3","_path4","ForwardRef","SvgFooterInstagram","SvgFooterLinkedin","SvgFooterLogo","SvgFooterTwitter","SvgFooterYoutube","Footer","theme","createStyles","marginBottom","fontWeight","fontFamily","fontSize","info","padding","breakpoints","up","display","justifyContent","only","textAlign","down","wrapper","marginTop","borderTop","copyright","social","links","textDecoration","footLogo","icons","groupId","url","icon","Grid","container","maxWidth","marginLeft","marginRight","direction","to","aria-label","md","link","href","rel","getFullYear","RouteErrorBoundary","hasError","error","errorInfo","captureError","data","children","Component","content","paddingTop","overflowX","RouteWrapper","useState","showButtonTop","setShowButtonTop","wrapperEl","useRef","useEffect","wrapperDiv","current","addEventListener","event","scrollTop","removeEventListener","paddingBottom","Fragment","notransform","onClick","scrollTo","minHeight","RouteContainer","dispatch","AppContext","type","routeContent","loading","LinearProgress","hideFooter","darkMode","role","hideHeader","RouteError","gutterBottom","createKey","username","date","monthIndex","getMonth","weekIndex","getWeekOfMonth","Frequency","PopupId","hasViewedPopUp","a","popUpKey","localforage","getItem","getPopUp","newPopUp","markPopUpViewed","setItem","body","newError","serializeError","config","headers","response","removeData","errors","window","navigator","userAgent","client","Bowser","parse","location","AWS_BRANCH","process","Auth","currentAuthenticatedUser","user","getUsername","fetch","JSON","stringify","method","initialState","tab","reducer","action","AdminAgentContext","createContext","AdminAgentProvider","useReducer","Provider","Transition","forwardRef","text","alignItems","PopUpItem","handleClose","onClose","imgPath","PopupFileName","PopupFilePath","labelledby","TransitionComponent","open","aria-labelledby","aria-describedby","zIndex","border","borderRadius","size","float","Title","src","alt","Text","buttons","button","blue","textTransform","label","orderByMonthAndDay","birthData","contacts","contact","DateOfBirth","birthDate","birthMonth","birthDay","getDate","orderedBirthData","orderBy","contactsToReturn","getData","reviewMonth6","filter","contactTags","reviewMonth12","conversionFOR","conversionMOO","conversionCFG","chargebacks","chargeback","birthdayToday","birthdayRecent","birthdayUpcoming","medicareToday","medicareIn1","medicareIn2","medicareIn3","medicareIn6","mooChildrensWL","MoOChildrensWL","forestersChildrensWL","ForestersChildrensWL","getTodayTotals","totals","todayCount","reviewCount","conversionCount","chargebackCount","birthdayCount","medicareCount","forestersCount","mooCount","showCompleted","policyReviews","Completed","conversions","medicare","birthdays","moo_children_wl","foresters_children_wl","getSubTotals","subTotals","Reviews","PolicyReview","Conversions","Birthday","Medicare","milestoneData","task","MilestoneDate","newMilestoneDate","milestoneMonth","milestoneDay","orderedMilestoneData","milestonesToReturn","getARMTodayTotals","FirstGLOBonusCount","FirstOverrideCount","FirstFastractedAgentCount","FirstARCDepositCount","DOBCount","FirstGLOBonus","FirstOverride","FirstFastractedAgent","FirstARCDeposit","DOB","isChecking","gettingPermissions","tokenError","authorizeError","status","AuthProvider","customPopUps","toTopButton","cursor","boxShadow","left","bottom","outline","BackToTop","values","useSpring","opacity","transform","from","SvgCollapse","SvgExpand","xmlnsXlink","x","y","enableBackground","xmlSpace","textDecorationLine","transition","MapHotspot","meeting","setOpen","mapsURL","Latitude","Longitude","lat","lng","HotspotIcon","currentState","onCloseClick","spacing","DateTime","HostImage","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","HostName","Location","Description","module","exports","drawerOpen","notificationsOpen","notificationsData","texts","actions","impersonatedAgent","AppProvider","isBirthdayToday","dateBirth","dateOfBirth","isDaySame","isMonthSame","isBirthdayRecent","birthday","birthdayLast","addYears","birthdayNext","recent","checkDate","isWithinInterval","addDays","isBirthdayUpcoming","upcoming","is65InMonthsOrLess","birthday65th","addMonths","formatContacts","formattedContacts","Carriers","carriers","Tags","tags","ContactId","isSameDay","is65Today","Chargebacks","Amplify","configure","region","userPoolId","userPoolWebClientId","mandatorySignIn","oauth","domain","scope","redirectSignIn","redirectSignOut","responseType","API","endpoints","endpoint","custom_header","currentSession","Authorization","getAccessToken","getJwtToken","SvgArcLogo","listItemText","NavSectionLink","show","setShow","stopPropagationForTab","stopPropagation","canView","ARC_BillingSystem","hasPermissions","hideFromBilling","ListItem","dense","onKeyDown","startIcon","ListItemText","Collapse","in","timeout","unmountOnExit","List","disablePadding","Link","navButton","menuPaper","top","NavSection","anchorEl","setAnchorEl","closed","setClosed","menuId","trim","toLowerCase","isMobile","subheader","ListSubheader","IconButton","ExpandMore","ExpandLess","ButtonBase","focusRipple","currentTarget","aria-controls","aria-haspopup","paper","navSections","NavBar","useWindowWidth","isDesktop","unreadTexts","MsgRead","unreadNotifications","Read","notificationsButton","Badge","badgeContent","Button","edge","SvgElephantWhite","_g","SvgItsWhite","preserveAspectRatio","stroke","navData","TrendingUp","TrendingDown","Wallet","Person","Policy","Numbers","Contacts","PersonPinCircle","Equalizer","WifiTethering","FolderOpen","Assignment","PersonAdd","LocalConvenienceStore","ConfirmationNumber","DeviceHub","FormatListNumbered","PersonOutline","CalendarToday","VideoLibrary","TableChart","AttachMoney","GridOn","Map","Directions","DirectionsRun","LocalActivity","Security","PlaylistAddCheck","School","LocalHospital","Bookmarks","LocationCity","Computer","ContactSupport","Whatshot","Facebook","YouTube","DonutSmall","Speed","EmojiEvents","RecordVoiceOver","Store","Explore","PhotoLibrary","ReadAll","Staff_ReadOnly","Accounting","CarrierFeeds","Commissions","CommissionApproval","Marketing","Contracting","LDS_KeyingMgr","PermissionsAdmin","Reconciliation","ManageAccounts","AgentDataAdmin","DynamicFeed","CompareArrows","Dns","CommissionMatrix","Pageview","AccountBalance","Dashboard","SupervisorAccount","Send","MoneyOff","Receipt","section","paddingLeft","NavDrawer","Drawer","anchor","Divider","overflowY","Navigation","setData","fetchData","post","dataFiltered","CarrierCode","startsWith","dataOrdered","newLinks","listItem","ActionListItem","updating","setUpdating","navigate","useNavigate","description","NotificationType","FileName","handleClick","NId","path","request","disabled","ListItemAvatar","CircularProgress","Avatar","secondary","formatDistance","DateAdded","ActionList","unreadActions","handleReadAll","align","TextListItem","CMId","ContactPhone","Msg","DateCreated","TextList","navStatic","alignSelf","paddingRight","Notifications","setLoading","tabValue","setTabValue","textBody","responseText","actionsBody","responseActions","textsLabel","actionsLabel","Tabs","textColor","onChange","newValue","Tab","Popups","setContent","TokenError","Dialog","DialogTitle","DialogActions","federatedSignIn","Box","minWidth","ThemeProvider","darkTheme","MaintenanceMessageAdmins","visible","setVisible","Container","p","Alert","severity","Stack","whiteSpace","signOut","logoContainer","MaintenanceMessageAgents","isAuthenticated","REDIRECT_KEY","storeRedirectPath","localForage","pathname","removeRedirectPath","removeItem","checkForRedirectPath","AgreementAlert","Tooltip","placement","arrow","onDismiss","fullWidth","disableElevation","endIcon","message","AuthorizeError","renderMessage","MFACheck","RequireAuth","dismissICA","setDismissICA","handleCheckForPath","redirectPath","handleStorePath","search","pathAuth","queryAuth","useQuery","enabled","queryKey","queryFn","onError","UserStatus","pathStatus","queryStatus","queryMFA","bypassCache","currentUser","getPreferredMFA","preferredMFA","mfaOptions","pathBilling","queryBilling","isLoadingBilling","isLoading","fetchStatus","isLoadingICA","isLoadingMFA","isAuthorizing","isAdmin","maintData","maintenanceActive","maintenanceEnd","HasSignedICA","isError","alertBillingPermissions","SelectMeter","options","update","selection","setSelection","opt","getMeter","handleSave","right","DialogContent","dividers","full","Radio","checked","inputProps","ContestMeter","setUpdate","contestAmt","setContestAmt","emptyMeter","setEmptyMeter","empty","promise","contestPoints","isCancel","cancel","modifiedValue","multiplier","Skeleton","overflow","head","imageStyle","Leaderboards","newPage","setNewPage","itemsPerPage","c","Category","indexOfLastItem","indexofFirstItem","displayContests","slice","DdocId","ThumbnailContent","ThumbnailName","skeletons","toUpperCase","s","Pagination","count","Math","ceil","shape","e","page","newsHeader","lineHeight","newsDescription","newsDate","sectionHeight","showLessMarkup","WebkitLineClamp","WebkitBoxOrient","ShowMore","readMore","setReadMore","desc","News","displayNews","require","Highcharts","revButton","monthlyGoalLabels","monthlyGoalInput","Speedometer","setOptions","commissionValue","setCommissionValue","gaugeValue","setGaugeValue","commissionLabel","setCommissionLabel","seriesValue","setSeriesValue","speedGoal","setSpeedGoal","savedSpeed","setSavedSpeed","shaking","setShaking","rev","setRev","audio","Audio","handleBlur","revUp","Goal","isMounted","playPromise","play","then","_","catch","setTimeout","Commission","parseInt","u","chart","plotBackgroundImage","plotBorderWidth","plotShadow","animation","easing","t","exporting","pane","startAngle","endAngle","background","linearGradient","x1","y1","x2","y2","stops","borderWidth","outerRadius","innerRadius","yAxis","min","max","minorTickInterval","minorTickWidth","minorTickLength","minorTickPosition","minorTickColor","tickPixelInterval","tickWidth","tickPosition","tickLength","tickColor","labels","step","rotation","fontStyle","plotBands","series","plotOptions","gauge","dataLabels","dial","baseWidth","baseLength","radius","tooltip","credits","styles","shaker","highcharts","immutable","placeholder","onBlur","Events","displayEvents","URL","lg","Array","index","conferenceCalls","day","dateDay","dateTime","phone","code","youtube","logo","logoCallActivity","iconText","DisplayCall","isLive","setIsLive","getStatus","getDay","hour","moment","tz","minute","timeOfDay","callback","delay","savedCallback","setInterval","clearInterval","useInterval","Paper","borderStyle","borderColor","letterSpacing","WeeklyCalls","HomeOG","query","Categories","ContestLeaderboards","pb","homeStyles","box","py","px","ml","mr","Chart","isCurrency","mobileOpen","getParser","getPlatform","toggle","setToggle","CustomSwitch","styled","Switch","column","minPointLength","xAxis","lineWidth","useHTML","isAgent","AgtName","gridLineWidth","legend","point","groupPadding","isHighlighted","Total","gap","SignalCellularAlt","slotProps","pixels","floor","MobileChart","flexWrap","textOverflow","mt","borderBottomWidth","AgentDashboard","pt","BuildingGame","GrossDeposits","IPAP","FasTracts","Recruits","NewIPAgents","useFlexGap","Slide","HotSpotsMap","mapRef","expand","setExpand","userLocation","setUserLocation","defaultCoordinates","accuracy","altitude","altitudeAccuracy","heading","latitude","longitude","speed","Promise","resolve","reject","geolocation","getCurrentPosition","successCallback","errorCallback","coords","isLoaded","useJsApiLoader","googleMapsApiKey","dataHotspots","center","mapContainerStyle","zoom","fullscreenControl","zoomControlOptions","streetViewControlOptions","mapTypeControlOptions","maxHeight","MeetingId","fullScreen","textShadow","onOpen","openMap","setOpenMap","handleOpenMap","mobileHotSpots","mx","NewsAndNotes","aspectRatio","BadgeLevel","isTopLvl","NextLvlImagePath","CustomTooltip","popper","tooltipClasses","East","LvlImagePath","BadgeNextLvlInfo","ContestTracker","marks","ContestSlider","Slider","defaultValue","valueLabelDisplay","valueLabelFormat","slots","thumb","other","gradientTransform","offset","stopColor","CRMTotals","salesPath","salesQueryKey","salesQuery","responseSales","teamPath","teamQueryKey","teamQuery","agentno","responseTeam","crmLink","isFetching","getCallStatus","ShareCallButton","openSnackbar","setOpenSnackbar","snackbarMessage","setSnackbarMessage","handleShare","share","console","clipboard","writeText","Share","Snackbar","autoHideDuration","ContentCopy","MobileLiveBar","MediaCalls","isDefault","FeaturedCall","marginX","mb","TicketTotals","noTix","HierarchyTixTotal","BaseshopTixTotal","UpcomingConvention","Today","IncomeTitle","IncomeTooltip","InfoOutlined","IncomeValue","_style","Home","dsPath","dsQueryKey","dsQuery","result","category","idKey","nameKey","totalKey","SvgAllianceLogo","greeting","SignIn","linkForForgot","AppRoutes","Account","lazy","Admin","Business","Connections","Resources","Team","Root","pathMaint","queryMaint","origin","json","displayAdminMaint","element","Suspense","fallback","App","Hub","listen","userSession","checkForUser","queryClient","QueryClient","defaultOptions","queries","retry","refetchOnWindowFocus","ReactDOM","render","StyledEngineProvider","injectFirst","CssBaseline","document","getElementById","createTheme","components","MuiTableCell","styleOverrides","sizeSmall","MuiIconButton","root","sizeMedium","mode","default","MuiDialog","MuiDrawer","paperAnchorRight","MuiLink","MuiInputBase","input","MuiToolbar","borderTopLeftRadius","borderTopRightRadius","MuiTooltip","AnimateIn","abs","div"],"mappings":"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","file":"static/js/main.dff66c8d.chunk.js","sourcesContent":["import cuid from 'cuid';\nimport format from 'date-fns/format';\nimport intervalToDuration from 'date-fns/intervalToDuration';\nimport spacetime from 'spacetime';\n\n// Add a tempID to all objects in an array\nexport function toTempIDs(params: { value: T[] }): T[] {\n const temp: T[] = [];\n\n params.value.forEach((item) => {\n const tempItem: any = { ...item };\n tempItem.tempID = cuid();\n temp.push(tempItem);\n });\n\n return temp;\n}\n\n// Using JavaScript's default toFixed function will round decimals\n// (1.225).toFixed(2) = 1.23\n// (-1.225).toFixed(2) = -1.23\n// This function will remove decimals after 2 places\n// toFixed({ value: 1.225 }) = 1.22\n// toFixed({ value: -1.225 }) = -1.22\nexport function toFixed(params: { value: number; decimals?: number }) {\n const decimals = params.decimals || 2;\n const re = new RegExp('^-?\\\\d+(?:.\\\\d{0,' + (decimals || -1) + '})?');\n const value = params.value.toString().match(re);\n if (value !== null) {\n return Number.parseFloat(value[0]);\n } else {\n return params.value;\n }\n}\n\nexport function toCurrency(params: {\n value: number | null;\n displayAllDigits?: boolean;\n}) {\n if (params.value !== null) {\n if (params.displayAllDigits) {\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 4,\n maximumFractionDigits: 8,\n });\n return formatter.format(params.value);\n } else {\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n });\n const fixedValue = toFixed({ value: params.value });\n return formatter.format(fixedValue);\n }\n } else {\n return null;\n }\n}\n\nexport function toPhoneNumber(params: { value: string | number }): string {\n // Filter only numbers from the input\n const cleaned = ('' + params.value).replace(/\\D/g, '');\n\n // Check if the input is of correct length\n const match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\n\n if (match) {\n return `(${match[1]})${match[2]}-${match[3]}`;\n } else {\n return params.value.toString();\n }\n}\n\nexport function toDateFormat(params: { value: Date | string | null }) {\n if (params.value === '0001-01-01T00:00:00.0000000') {\n return null;\n } else if (params.value !== null) {\n return format(new Date(params.value), 'yyyy-MM-dd');\n } else {\n return null;\n }\n}\n\nexport function toAgeInYears(params: { value: Date | string | null }) {\n if (params.value) {\n const ageDifMs = Date.now() - new Date(params.value).getTime();\n const ageDate = new Date(ageDifMs);\n return Math.abs(ageDate.getUTCFullYear() - 1970);\n } else {\n return null;\n }\n}\n\nexport const toAgeInDuration = (params: { start: Date; end: Date }): string => {\n const { start, end } = params;\n const duration = intervalToDuration({ start, end });\n\n let timeAgo = '';\n // Years\n if (duration.years !== undefined && duration.years > 0) {\n timeAgo += `${duration.years} year${duration.years > 1 ? 's' : ''}`;\n }\n // Months\n if (duration.months !== undefined && duration.months > 0) {\n timeAgo += ` ${duration.months} month${duration.months > 1 ? 's' : ''}`;\n }\n // Days\n if (duration.days !== undefined && duration.days > 0) {\n timeAgo += ` ${duration.days} day${duration.days > 1 ? 's' : ''}`;\n }\n\n return timeAgo;\n};\n\n// A lot of our data has dates formatted like this \"2014-08-25 00:00:00\"\n// In Safari new Date(\"2014-08-25 00:00:00\") is an invalid date\n// This will replace a specific list of dates with valid dates\n// All dates formatted like \"2014-08-25 00:00:00\" are assumed to be EST\n// This function will take a date like \"2020-12-15 15:53:45.847\"\n// and return \"Tue Dec 15 2020 15:53:45 GMT-0500 (EST)\" for users in EST\n// and return \"Tue Dec 15 2020 12:53:45 GMT-0800 (PST)\" for users in PST\nexport function toSafeDate(params: { value: string }) {\n if (typeof params.value === 'string' && params.value.includes(' ')) {\n return spacetime(params.value, 'America/New_York').toLocalDate();\n } else {\n return params.value;\n }\n}\n\n// This function will take an array of data and check specific keys for formatting\nexport function toSafeDates(params: { value: T[] }) {\n const items: T[] = [];\n\n params.value.forEach((value) => {\n const item: any = { ...value };\n\n Object.keys(item).forEach((i) => {\n const hasValue = item[i] !== undefined && item[i] !== null;\n const shouldFormat =\n i === 'DateOfBirth' ||\n i === 'Created' ||\n i === 'Modified' ||\n i === 'DistDate' ||\n i === 'Expire' ||\n i === 'Issued' ||\n i === 'IssuedDate' ||\n i === 'DateEntered' ||\n i === 'DateCreated' ||\n i === 'DateAccepted' ||\n i === 'DateAdded' ||\n i === 'AprvdDate' ||\n i === 'EventStart' ||\n i === 'date_created' ||\n i === 'record_created' ||\n i === 'record_updated' ||\n i === 'activated' ||\n i === 'sig_stamp' ||\n i === 'wol_stamp' ||\n i === 'stamp' ||\n i === 'lastaccesstime' ||\n i === 'override_time' ||\n i === 'TxDate' ||\n i === 'ChgDate';\n if (hasValue && shouldFormat) {\n if (i === 'DateOfBirth' && item[i].includes(' ')) {\n // \"2000-01-31 00:00:00\".split(' ')[0] = \"2000-01-31\"\n item[i] = item[i].split(' ')[0];\n } else if (i === 'DateOfBirth' && item[i].includes('T')) {\n // \"2000-01-31T00:00:00\".split('T')[0] = \"2000-01-31\"\n item[i] = item[i].split('T')[0];\n } else {\n item[i] = toSafeDate({ value: item[i] });\n }\n }\n });\n\n items.push(item);\n });\n\n return items;\n}\n\nexport function toPercentage(params: {\n value: number | null;\n removeDigits?: boolean;\n}) {\n if (params.value !== null) {\n return Number(params.value).toLocaleString(undefined, {\n style: 'percent',\n minimumFractionDigits: params.removeDigits ? 0 : 2,\n });\n } else {\n return null;\n }\n}\n\n/**\n * Use this when the specific time of day is not relevant\n *\n * This can cause issues:\n * new Date(\"2024-02-07\") > Tue Feb 06 2024 19:00:00 GMT-0500 (Eastern Standard Time)\n * new Date(\"2024-02-07T20:34:36.957Z\") > Wed Feb 07 2024 15:34:36 GMT-0500 (Eastern Standard Time)\n *\n * This is what we want:\n * new Date(\"2024-02-07T00:00\") > Wed Feb 07 2024 00:00:00 GMT-0500 (Eastern Standard Time)\n *\n */\nexport function formatDate(params: { value: string }): string {\n // Regular expression to match the date part in the format yyyy-MM-dd\n const dateRegex = /^(\\d{4}-\\d{2}-\\d{2})/;\n const match = params.value.match(dateRegex);\n\n if (match) {\n // If a match is found, append 'T00:00' to the matched date portion\n return `${match[1]}T00:00`;\n } else {\n return params.value;\n }\n}\n","import React from 'react';\nimport { AuthContext } from '../contexts/auth-context';\nimport { AWS_GROUP, BillingPermissionData, BillingUserAccess } from '../types';\n\nexport function usePermissions() {\n // Context\n const { state } = React.useContext(AuthContext);\n\n // Authenticated User Permissions to be returned from hook\n const permissions: {\n groups: string[];\n hasGroup: (group: string) => boolean;\n checkPermissions: (list: string[]) => boolean;\n getBillingAccess: (name: BillingPermissionData['Name']) => number;\n checkBillingAccess: (\n name: BillingPermissionData['Name'],\n access: BillingUserAccess[],\n ) => boolean;\n checkARAccess: (\n program: BillingPermissionData['Program'],\n access: BillingUserAccess[],\n ) => boolean;\n } = {\n groups: [],\n hasGroup: (group) => false,\n checkPermissions: (list) => false,\n getBillingAccess: (name) => 0,\n checkBillingAccess: (name, access) => false,\n checkARAccess: (program, access) => false,\n };\n\n if (state.session) {\n const payload = state.session.getIdToken().decodePayload();\n if (payload['cognito:groups']) {\n const cognitoGroups = payload['cognito:groups'] as string[];\n\n permissions.groups = cognitoGroups;\n\n permissions.hasGroup = (group) => {\n return cognitoGroups.includes(group);\n };\n\n permissions.checkPermissions = (list) => {\n if (cognitoGroups.includes(AWS_GROUP.GlobalAdmin)) {\n return true;\n } else {\n const values: boolean[] = list.map((i) => {\n return cognitoGroups.includes(i);\n });\n return values.includes(true);\n }\n };\n }\n }\n\n if (state.billingPermissions.length) {\n permissions.getBillingAccess = (name) => {\n let access = 0;\n const permission = state.billingPermissions.find((i) => i.Name === name);\n if (permission && permission.AvId) {\n access = permission.AvId;\n }\n return access;\n };\n\n permissions.checkBillingAccess = (name, access) => {\n const permission = state.billingPermissions.find((i) => i.Name === name);\n if (permission && permission.AvId) {\n return access.includes(permission.AvId);\n } else {\n return false;\n }\n };\n\n permissions.checkARAccess = (program, access) => {\n const permission = state.billingPermissions.find(\n (i) => i.Program === program,\n );\n if (permission && permission.AvId) {\n return access.includes(permission.AvId);\n } else {\n return false;\n }\n };\n }\n\n return permissions;\n}\n","import { TableCellProps } from '@mui/material/TableCell';\n\nexport interface ColumnHeader {\n key: keyof T;\n label?: string;\n align?: TableCellProps['align'];\n}\n\nexport interface TableState {\n page: number;\n rowsPerPage: number;\n sort: 'asc' | 'desc';\n sortBy: string;\n}\n\nexport enum AWS_GROUP {\n Accounting = 'Accounting',\n AgentDataAdmin = 'AgentDataAdmin',\n AllianceEvents_Admin = 'AllianceEvents_Admin',\n AllianceEvents_CheckIn = 'AllianceEvents_CheckIn',\n ARC_BillingSystem = 'ARC_BillingSystem',\n CarrierFeeds = 'CarrierFeeds',\n CommissionApproval = 'CommissionApproval',\n CommissionMatrix = 'CommissionMatrix',\n Commissions = 'Commissions',\n Contracting = 'Contracting',\n CTR_AgtSpecImpersonation = 'CTR_AgtSpecImpersonation',\n GlobalAdmin = 'GlobalAdmin',\n ImpersonateAll = 'ImpersonateAll',\n LDS_GlobalAdmin = 'LDS_GlobalAdmin',\n LDS_ImpersonateAll = 'LDS_ImpersonateAll',\n LDS_KeyingMgr = 'LDS_KeyingMgr',\n Marketing = 'Marketing',\n PermissionsAdmin = 'PermissionsAdmin',\n ReadAll = 'ReadAll',\n Reconciliation = 'Reconciliation',\n Staff_ReadOnly = 'Staff_ReadOnly',\n}\n\nexport interface PermissionUser {\n Username: string;\n Email: string;\n}\n\nexport interface PermissionGroup {\n GroupName: keyof typeof AWS_GROUP;\n DisplayName: string;\n Users?: PermissionUser[];\n}\n\nexport interface SearchAgentData {\n AgtNo: string;\n AgtName: string | null;\n CellPh: string | null;\n Email: string | null;\n Location: string | null;\n AgtStatus: string | null;\n ComLvl?: string | number | null;\n}\n\nexport interface WalletDepositData {\n ACHInfoID: number | null;\n Name: string | null;\n Routing: string | null;\n Number: string | null;\n AccountType: string | null;\n DateCreated: string | null;\n DateModified: string | null;\n PayNo: string | null;\n}\n\nexport interface WalletBillingData {\n AccountNumber: string | null;\n RoutingNumber: string | null;\n AccountType: string | null;\n HasAgreed: boolean | null;\n}\n\nexport interface WalletAccountData {\n AgtACHId: number;\n Nickname: string | null;\n Routing: string | null;\n Account: string | null;\n AccountType: 'Checking' | 'Savings' | null;\n LastModified: string | null;\n ForComms: boolean | null;\n ForLeadBill: boolean | null;\n IsLeadBillPrimary: boolean | null;\n}\n\nexport enum PYMNT_DFLT {\n 'EVT' = 'EVT',\n 'LDS' = 'LDS',\n 'PRC' = 'PRC',\n}\n\nexport interface CustomerPaymentData {\n customerPaymentProfileId: string | null;\n cardNumber: string | null;\n expirationDate: string | null;\n cardType: string | null;\n billToPhone: string | null;\n billToEmail: string | null;\n billToFirstName: string | null;\n billToLastName: string | null;\n billToCompany: string | null;\n billToAddress: string | null;\n billToCity: string | null;\n billToState: string | null;\n billToZip: string | null;\n billToCountry: string | null;\n defaultFor: PYMNT_DFLT[] | null;\n}\n\nexport interface CustomerData {\n merchantCustomerId: string | null;\n customerProfileId: string | null;\n description: string | null;\n email: string | null;\n username: string | null;\n customerPaymentProfiles: CustomerPaymentData[];\n profileType: string | null;\n}\n\nexport interface WalletData {\n billing: WalletAccountData[];\n 'credit-cards': CustomerData;\n}\n\nexport interface DebtCCPmntData {\n CCPmntID: number | string;\n BatID: number | string | null;\n DbtPmntTypeID: number | string | null;\n amount: number | string | null;\n transId: number | string | null;\n refId: number | string | null;\n transDesc: string | null;\n paidBy: string | null;\n paidTo: string | null;\n initiatedBy: string | null;\n createdDate: string | null;\n}\n\nexport enum BillingUserAccess {\n 'Allowed' = 1,\n 'Not Allowed' = 2,\n 'No Access' = 3,\n 'Read-Only' = 4,\n 'Read/Write' = 5,\n}\n\nexport interface BillingAgentARData {\n AMId: number;\n TxDate: string | null;\n TxType: string | null;\n TxCode: string | null;\n InvId: string | null;\n Paid: boolean | null;\n Charge: number | null;\n Payment: number | null;\n BalFwd: number | null;\n Method: string | null;\n ChgUser: string | null;\n}\n\nexport interface BillingSubARData {\n sArId: number;\n arId: BillingARData['AR'];\n name: string | null;\n refId: number | null;\n chgdate: string | null;\n chguser: string | null;\n ccProgram: string | null;\n}\n\nexport interface BillingARData {\n AR: string;\n ARName: string | null;\n WeekEndDOW: number | null;\n IsPaymentPlan: boolean | null;\n ARActive: boolean | null;\n AllowsInvoicing: boolean | null;\n AllowsCCDrafts: boolean | null;\n AllowsACHDrafts: boolean | null;\n program: string | null;\n ccProgram: string | null;\n name: string | null;\n requiresAdjustmentApproval: boolean | null;\n weekendingDayOverride: number | null;\n weekendingWeekAdjustment: number | null;\n weekendingMonthAdjustment: number | null;\n invoiceStatement: string | null;\n manageable: boolean | null;\n isPaymentPlan: boolean | null;\n interestRate: number | null;\n allowsStatements: boolean | null;\n usesGenericInvoicing: boolean | null;\n hasSubArs: boolean | null;\n gwProgram: string | null;\n accessLevel: number | null;\n subArs: BillingSubARData[] | null;\n}\n\nexport interface BillingARSelected {\n AR: BillingARData['AR'] | null;\n}\n\nexport interface BillingARAccountData {\n AgtACHId: number | null;\n Nickname: string | null;\n Routing: string | null;\n Account: string | null;\n AccountType: string | null;\n LastModified: string | null;\n ForComms: boolean | null;\n ForLeadBill: boolean | null;\n IsLeadBillPrimary: boolean | null;\n customerPaymentProfileId: number | null;\n cardNumber: number | null;\n expirationDate: string | null;\n cardType: string | null;\n billToPhone: string | null;\n billToEmail: string | null;\n billToFirstName: string | null;\n billToLastName: string | null;\n billToCompany: string | null;\n billToAddress: string | null;\n billToCity: string | null;\n billToState: string | null;\n billToZip: string | null;\n billToCountry: string | null;\n defaultFor: string[] | null;\n tempID?: string;\n}\n\nexport interface BillingARProfileData {\n AgtNo: string | null;\n Fname: string | null;\n Mname: string | null;\n Lname: string | null;\n BillLvl: number | null;\n Suffix: string | null;\n Alias: string | null;\n DOB: string | null;\n Email: string | null;\n CellPh: string | null;\n HomePh: string | null;\n BusPh: string | null;\n Fax: string | null;\n AgtStatus: string | null;\n BillUpline: boolean | null;\n IsSuspended: boolean | null;\n PCMember: boolean | null;\n}\n\nexport interface BillingARPresClubData {\n subName: string | null;\n active: boolean | null;\n canResubscribe: boolean | null;\n mediaCredits: number | null;\n newAgreement: boolean | null;\n dateSigned: string | null;\n dateJoined: string | null;\n dateUpdated: string | null;\n deliveryMethod: string | null;\n inactiveMethod: string | null;\n}\n\nexport interface BillingARAllAccessData {\n active: boolean | null;\n committedThru: string | null;\n payFrequency: string | null;\n signedUp: string | null;\n paidThru: string | null;\n}\n\nexport interface BillingServiceStatusData {\n caption: string | null;\n active: boolean | null;\n canChange: boolean | null;\n}\n\nexport interface BillingServiceStatusReport {\n leads: BillingServiceStatusData;\n collections: BillingServiceStatusData;\n 'presidents-club': BillingServiceStatusData;\n 'all-access': BillingServiceStatusData;\n}\n\nexport interface BillingBankChangeData {\n ChgDate: string | null;\n OldRouting: string | null;\n OldAccount: string | null;\n NewRouting: string | null;\n NewAccount: string | null;\n ForComms: boolean | null;\n ForLeadBill: boolean | null;\n tempID?: string;\n}\n\nexport interface BillingARNoteData {\n NoteId: number | null;\n EntryDate: string | null;\n Note: string | null;\n AdminUser: string | null;\n}\n\nexport interface BillingUserData {\n UserId: number;\n AdAccount: string | null;\n Active: boolean | null;\n Name: string | null;\n SSOLogin: string | null;\n}\n\nexport interface BillingPermissionData {\n ProgramId: number;\n Program: string | null;\n Name: string | null;\n Desc: string | null;\n AtId: number | null;\n AvId: number | null;\n AvValue: string | null;\n}\n\nexport interface BillingTransactionTypeData {\n TxType: string | null;\n Description: string | null;\n Sign: string | null;\n}\n\nexport interface BillingTransactionCodeData {\n TxCode: string | null;\n Description: string | null;\n}\n\nexport interface BillingMethodData {\n Method: string | null;\n}\n\nexport interface BillingAdjustmentTypes {\n 'transaction-types': BillingTransactionTypeData[];\n 'transaction-codes': BillingTransactionCodeData[];\n methods: BillingMethodData[];\n}\n\nexport interface BillingAdjustmentData {\n AdjId: number;\n AgtNo: string | null;\n AgtName: string | null;\n TxDate: string | null;\n TxType: string | null;\n TxCode: string | null;\n InvId: string | null;\n Chg: number | null;\n Pmt: number | null;\n Method: string | null;\n AdminUser: string | null;\n Status: string | null;\n}\n\nexport interface BillingPaymentPlanData {\n AgtNo: string | null;\n AmtOwed: number | null;\n ApplyInterest: boolean | null;\n Bill: boolean | null;\n HoldInterest: string | null;\n HoldUntil: string | null;\n PayAmt: number | null;\n PPId: number | null;\n AgtName: string | null;\n AR: string | null;\n InterestRate: number | null;\n tempID?: string;\n}\n\nexport interface BillingAmountSearchData {\n agentNo: string | null;\n agentName: string | null;\n arId: number | null;\n arName: string | null;\n date: string | null;\n type: string | null;\n code: string | null;\n invoice: string | null;\n charge: number | null;\n payment: number | null;\n method: string | null;\n username: string | null;\n stamp: string | null;\n tempID?: string;\n}\n\nexport interface RollupData {\n RId: number;\n WeekEndDate: string | null;\n FromAgtNo: string | null;\n FromAgtName: string | null;\n ToAgtNo: string | null;\n ToAgtName: string | null;\n Amt: number | null;\n Reason: string | null;\n Stamp: string | null;\n Roll: 0 | 1 | null;\n}\n\nexport interface RollupSummaryData {\n WeekEndDate: RollupData['WeekEndDate'];\n TotalAmount: RollupData['Amt'];\n rollups: RollupData[];\n}\n\nexport interface DraftAdjustmentData {\n DAId: number;\n AgtNo: string | null;\n Approved: boolean | null;\n Denied: boolean | null;\n Suspended: boolean | null;\n Amt: number | null;\n AdminUser: string | null;\n ChgDate: string | null;\n WeekEndDate: string | null;\n AR: string | null;\n BillLvl: number | null;\n Email: string | null;\n Fname: string | null;\n Mname: string | null;\n Lname: string | null;\n HasCorp: boolean | null;\n Suffix: string | null;\n ARName: string | null;\n}\n\nexport interface NoteData {\n ComNotesID: number | null;\n UniqComID: PolicyData['UniqComID'];\n PolTrackID: PolicyData['PolTrackID'];\n CarrierID: PolicyData['CarrierID'];\n Note: string | null;\n DisplayToAgent: boolean | null;\n ModifiedDate: string | null;\n ModifiedBy: string | null;\n CreatedDate: string | null;\n CreatedBy: string | null;\n}\n\nexport interface PolicyData {\n UniqComID: string | null;\n ComID: number | null;\n CorID: number | null;\n FutComID: number | null;\n CMGenComID: number | null;\n RecID: number | null;\n ArcHist: number | null;\n Orig: number | null;\n Status: string | null;\n Carrier: string | null;\n PolNo: string | null;\n PolTrackID: number | null;\n PlanName: string | null;\n IMOAmtPd: number | null;\n IMOComRate: number | null;\n TranType: string | null;\n IMOAdvRate: number | null;\n IMONetPrem: number | null;\n Mode: number | null;\n ModePrem: number | null;\n AgtComPrem: number | null;\n AgtAdvRate: number | null;\n AgtNetPrem: number | null;\n AgtComRate: number | null;\n SumMult: number | null;\n TotAgtPay: number | null;\n AprvdDate: string | null;\n Split: number | null;\n AsErnd: number | null;\n Cap: number | null;\n WrtAgtPay: number | null;\n Ctrld: number | null;\n InsName: string | null;\n WrtName: string | null;\n WrtNo: string | null;\n WrtCarNo: string | null;\n SumIMONetPrem: number | null;\n SumAgtPay: number | null;\n GrossAgtPay: number | null;\n FileDate: string | null;\n MinFileDate: string | null;\n ProdType: string | null;\n RecType: string | null;\n ApSigDate: string | null;\n MatAct: number | null;\n IMOPremAct: number | null;\n AgtPremAct: number | null;\n MagicNo: number | null;\n PrevChb: number | null;\n IsAnty: number | null;\n HierMult: number | null;\n GloMult: number | null;\n CntComID: number | null;\n CntAgtComRate: number | null;\n CntSplit: number | null;\n CntPlanName: number | null;\n Research: boolean | null;\n IMOGAPFlag: boolean | null;\n GAPAgtFlag: boolean | null;\n IMOAgtFlag: boolean | null;\n AgtNegFlag: boolean | null;\n CarrierID: number | null;\n CarrierMagic: number | null;\n ComSrcID: number | null;\n LastModifiedBy: string | null;\n LastModifiedDate: string | null;\n ApprovedBy: string | null;\n}\n\nexport interface PolicyHierarchy {\n AgtNo: string | null;\n AgtName: string | null;\n Mult: number | null;\n Depth: number | null;\n}\n\nexport interface PolicyGlo {\n AgtNo: string | null;\n AgtName: string | null;\n Mult: number | null;\n}\n\nexport interface CalculatedReportTotals {\n // Personal\n personalFYPositive: number;\n personalFYNegative: number;\n personalRNPositive: number;\n personalRNNegative: number;\n personalPositive: number;\n personalNegative: number;\n // Override\n overrideFYPositive: number;\n overrideFYNegative: number;\n overrideRNPositive: number;\n overrideRNNegative: number;\n overridePositive: number;\n overrideNegative: number;\n // GLO\n gloFYPositive: number;\n gloFYNegative: number;\n gloRNPositive: number;\n gloRNNegative: number;\n gloPositive: number;\n gloNegative: number;\n // Commissions\n commissionsPositive: number;\n commissionsNegative: number;\n // Other\n otherPositive: number;\n otherNegative: number;\n // Sums\n sumPositive: number;\n sumNegative: number;\n sumFinal: number;\n}\n\nexport interface CommissionReport {\n commissions: PaymentCommission[];\n chargeBackPayments: PaymentChargeback[];\n otherDebtPayments: PaymentDebt[];\n adjustments: PaymentAdjustment[];\n remainingDebtBalance: number | null;\n YTDTotal: number | null;\n}\n\nexport interface PaymentCommission {\n CorID: number | null;\n ListID: number | null;\n ComID: number | null;\n FutComID: number | null;\n RecID: number | null;\n Carrier: string | null;\n PolNo: string | null;\n PayNo: string | null;\n PayName: string | null;\n WrtNo: string | null;\n WrtName: string | null;\n InsName: string | null;\n PlanName: string | null;\n PayDate: string | null;\n AgtComPrem: number | null;\n AgtNetPrem: number | null;\n Split: number | null;\n PayType: string | null;\n Mult: number | null;\n AgtComRate: number | null;\n AgtAdvRate: number | null;\n AgtPay: number | null;\n // Created and used on the client\n // ---\n // tempID is added to PaymentCommission on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface PaymentChargeback {\n PolNo: string | null;\n WrtNo: string | null;\n WrtName: string | null;\n Carrier: string | null;\n InsName: string | null;\n PlanName: string | null;\n PayDate: string | null;\n AgtComPrem: number | null;\n Split: number | null;\n PayType: string | null;\n Mult: number | null;\n AgtComRate: number | null;\n AgtAdvRate: number | null;\n AgtPay: number | null;\n // Created and used on the client\n // ---\n // tempID is added to PaymentChargeback on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface PaymentDebt {\n CreatedDate: string | null;\n DbtType: string | null;\n DbtDesc: string | null;\n TotDbtAmt: number | null;\n TotAmtPaid: number | null;\n TotAmtUnpaid: number | null;\n AgtPay: number | null;\n RolledUpFrom: string | null;\n // Created and used on the client\n // ---\n // tempID is added to PaymentDebt on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface PaymentAdjustment {\n AdjReason: string | null;\n AgtPay: number | null;\n CreatedDate: string | null;\n // Created and used on the client\n // ---\n // tempID is added to PaymentDebt on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface PaymentType {\n DbtPmntTypeID: string;\n DbtPmntType: string;\n}\n\nexport interface AdjCategory {\n AdjTypeID: number;\n AdjType: string | null;\n PBPct: number | null;\n Priority: number | null;\n Active: 1 | 0 | null;\n}\n\nexport interface AccountingAdj {\n AdjID: number | null;\n PayNo: string | null;\n BatID: number | null;\n AdjTypeID: number | null;\n AdjReason: string | null;\n AgtPay: number | null;\n is1099Eligible: 0 | 1 | null;\n isDebtExempt: 0 | 1 | null;\n CreatedDate: string | null;\n}\n\nexport interface AccountingDbt {\n DbtID: number | null;\n UniqComID: string | null;\n ListID: number | null;\n AdjTypeID: number | null;\n DbtDesc: string | null;\n PayNo: string | null;\n TotDbtAmt: number | null;\n TotAmtPaid: number | null;\n TotAmtUnpaid: number | null;\n PauseUntil: string | null;\n Status: string | null;\n PaidDate: string | null;\n PolNo: string | null;\n FixedAmt: number | null;\n PBPct: number | null;\n RollUpFmAgt: string | null;\n RollupDate: string | null;\n is1099Eligible: number | null;\n isCancelled: number | null;\n CancelReason: string | null;\n BatID: number | null;\n CreatedDate: string | null;\n CreatedBy: string | null;\n ModifiedDate: string | null;\n ModifiedBy: string | null;\n}\n\nexport interface DebtAgtSummary {\n PayNo: string;\n PayName: string | null;\n AgtStatus: string | null;\n UplineNo: string | null;\n UplineName: string | null;\n TotAmtUnpaid: number | null;\n OldestDebtDate: string | null;\n LastPmntDate: string | null;\n}\n\nexport interface DebtLineItem {\n DbtID: number;\n UniqComID: string | null;\n AdjTypeID: number | null;\n AdjType: string | null;\n DbtDesc: string | null;\n TotDbtAmt: number | null;\n TotAmtPaid: number | null;\n TotAmtUnpaid: number | null;\n PolNo: string | null;\n CancelReason: string | null;\n Status: 'UNPAID' | 'PAID' | 'ROLLED' | 'PAUSED' | 'CANCELLED' | null;\n RollUpFmAgt: string | null;\n CreatedDate: string | null;\n CreatedBy: string | null;\n ModifiedDate: string | null;\n ModifiedBy: string | null;\n}\n\nexport interface Listing {\n UniqComID: string | null;\n CorID: number | null;\n ListID: number | null;\n ComID: number | null;\n FutComID: number | null;\n RecID: number | null;\n Carrier: string | null;\n PolNo: string | null;\n PayNo: string | null;\n PayName: string | null;\n WrtNo: string | null;\n WrtName: string | null;\n InsName: string | null;\n PlanName: string | null;\n PayDate: string | null;\n AgtComPrem: number | null;\n AgtNetPrem: number | null;\n Split: number | null;\n PayType: string | null;\n Mult: number | null;\n AgtComRate: number | null;\n AgtAdvRate: number | null;\n AgtPay: number | null;\n BatID: number | null;\n ApprovedBy: string | null;\n // Created and used on the client\n // AgtPay summed by RecID\n TotAgtPay?: number;\n // Mult summed by RecID\n TotMult?: number;\n // PolicyListing's grouped by RecID\n Listings?: Listing[];\n // ARCHistoryID\n // This ID is a combination of the UniqComID and the PayDate\n ARCHistoryID?: string;\n}\n\nexport interface Payroll {\n BatchId: string | number | null;\n PayDate: string | null;\n}\n\nexport interface CRMAgent {\n AgentNumber: string;\n FirstName: string;\n LastName: string;\n MiddleName: string;\n AgentStatus: string;\n AgentLevel: string;\n RecAgentNumber: string;\n RecFirstName: string;\n RecLastName: string;\n RecMiddleName: string;\n Address1: string;\n Address2: string;\n City: string;\n State: string;\n Zip: string;\n Email: string;\n AlternateEmail: string;\n HomePhone: string;\n CellPhone: string;\n BusinessPhone: string;\n Fax: string;\n DateEntered: string;\n RTSDate: string | null;\n YTDAmount: string | null;\n Latitude: number | null;\n Longitude: number | null;\n}\n\nexport interface CRMContact {\n ContactId: string;\n Username: string;\n ContactTypeId: '1' | '2' | '3' | '4';\n ContactType: string;\n FirstName: string | null;\n LastName: string | null;\n Phone: string | null;\n ContactStatus:\n | 'New'\n | 'N/I'\n | 'Not Now'\n | 'Follow Up'\n | 'In Class'\n | 'Paperwork'\n | 'No Answer'\n | \"Didn't Book\"\n | 'Booked'\n | 'Call Back'\n | 'Door Knock'\n | 'No Sale'\n | 'Sold Policy'\n | 'Pending'\n | 'Active'\n | 'Lapsing'\n | 'Not Active'\n | null;\n Address1: string | null;\n Address2: string | null;\n City: string | null;\n State: string | null;\n Zip: string | null;\n Email: string | null;\n DateOfBirth: string | null;\n Created: string | null;\n Modified: string | null;\n County: string | null;\n LeadSource: string | null;\n ProspectLicensed: string | null;\n Reviews?: CRMPolicyReview[];\n Conversions?: CRMPolicyReview[];\n Chargebacks?: CRMPolicyReview[];\n Medicare?: CRMBirthday | null;\n Birthday?: CRMBirthday | null;\n MoOChildrensWL?: CRMBirthday | null;\n ForestersChildrensWL?: CRMBirthday | null;\n Carriers?: string | null;\n carriers?: string[];\n Tags?: string;\n tags?: string[];\n // contactTags is an array of custom tags for the Today tab of CRM\n contactTags?: string[];\n Latitude: number | null;\n Longitude: number | null;\n}\n\nexport interface CRMLeadDetail {\n ContactId: number;\n Username: string;\n Age: string;\n // LeadGuid: null;\n // OasysLink: string;\n Expire: string;\n DistDate: string;\n Allocated: string;\n LeadId?: string;\n LeadID?: string;\n // UniqId: string;\n LeadProduct: string;\n LeadSource: string;\n LeadLanguage: string;\n DistSource: string;\n LeadType: string;\n IsFree: boolean;\n UsernameFrom: string;\n Fips: string;\n County: string;\n Region: string;\n Clients: { fname: string; lname: string; type: string }[] | null;\n Phones: { display: string; value: string }[] | null;\n Emails: { display: string; value: string }[] | null;\n MetaData: { display: string; value: string }[] | null;\n}\n\nexport interface CRMPolicyReview {\n ContactId: number;\n ClientInfoId: number;\n AppId?: string;\n FirstName: string;\n LastName: string;\n ContactStatus: string;\n PolNo: string;\n Premium: number;\n Issued: string;\n LatestChbPayDate?: string;\n PolicyReview?:\n | '6mo'\n | '12mo'\n | 'CFG SafeShield'\n | 'Foresters Strong Foundation'\n | 'Mutual of Omaha Term Life Express';\n Completed: boolean;\n}\n\nexport interface CRMBirthday {\n ContactId: number;\n FirstName: string;\n LastName: string;\n ContactStatus: string;\n DateOfBirth: string;\n Completed: boolean;\n ClientInfoId?: number;\n}\n\nexport interface CRMToday {\n policyReviews: CRMPolicyReview[];\n conversions: CRMPolicyReview[];\n chargebacks: CRMPolicyReview[];\n medicare: CRMBirthday[];\n birthdays: CRMBirthday[];\n foresters_children_wl: CRMBirthday[];\n moo_children_wl: CRMBirthday[];\n}\n\nexport interface ARMTodayTask {\n AMId: string | null;\n AgentNo: string | null;\n fname: string | null;\n lname: string | null;\n MTypeName: string | null;\n MilestoneDate: string | null;\n Completed: string | null;\n}\n\nexport interface ARMToday {\n FirstGLOBonus?: ARMTodayTask[];\n FirstOverride?: ARMTodayTask[];\n FirstFastractedAgent?: ARMTodayTask[];\n FirstARCDeposit?: ARMTodayTask[];\n DOB?: ARMTodayTask[];\n}\n\nexport enum ContentCategoryName {\n 'Leaderboards' = 'Leaderboards',\n 'News & Notes' = 'News & Notes',\n 'Upcoming Events' = 'Upcoming Events',\n 'Contests' = 'Contests',\n}\n\nexport interface ContentCategory {\n CategoryId: number;\n Category: keyof typeof ContentCategoryName | null;\n DateCreated: string | null;\n}\n\nexport interface ContentDocument {\n DdocId: number;\n DdocIndex: number | null;\n CategoryId: number | null;\n Category?: ContentCategory['Category'];\n Title: string | null;\n ThumbnailName: string | null;\n FileName: string | null;\n ThumbnailContent: string | null;\n FileContent: string | null;\n Description: string | null;\n URL: string | null;\n DateCreated: string | null;\n DateUpdated: string | null;\n Deleted: number | null;\n}\n\nexport enum CarrierParent {\n 'ancillary-product' = 'ancillary-product',\n 'medicare-advantage' = 'medicare-advantage',\n 'medicare-supplement' = 'medicare-supplement',\n}\n\nexport interface ContentCarrier {\n CCId: number;\n ParentCarrier: keyof typeof CarrierParent | null;\n CarrierCode: string;\n Title: string | null;\n Address: string | null;\n Phone: string | null;\n AgentSite: string | null;\n Eapp: string | null;\n Quotes: string | null;\n LogoFileName: string | null;\n CommissionFileName: string | null;\n DateCreated: string | null;\n DateUpdated: string | null;\n // attachments is an array ContentCarrierLink created on the client\n attachments?: ContentCarrierLink[];\n}\n\nexport enum CarrierCategory {\n 'Product Information' = 'Product Information',\n 'Product' = 'Product',\n Training = 'Training',\n Videos = 'Videos',\n}\n\nexport interface ContentCarrierCategory {\n CCatId: string;\n CategoryName: keyof typeof CarrierCategory;\n DateCreated: string;\n}\n\nexport enum CarrierSubcategory {\n 'Life Insurance' = 'Life Insurance',\n Annuities = 'Annuities',\n Dental = 'Dental',\n 'Hospital Indemnity' = 'Hospital Indemnity',\n 'First Diagnosis Cancer' = 'First Diagnosis Cancer',\n 'Short Term Recovery Care' = 'Short Term Recovery Care',\n 'Outline of Coverage' = 'Outline of Coverage',\n 'Consumer Brochures' = 'Consumer Brochures',\n 'Sales Presentations' = 'Sales Presentations',\n}\n\nexport interface ContentCarrierSubcategory {\n CSubCatId: string;\n DateCreated: string;\n SubCategoryName: keyof typeof CarrierSubcategory;\n}\n\nexport interface ContentCarrierLink {\n CAId: string;\n CCId: string | null;\n CAIndex: string | number | null;\n UploadedFileName: string | null;\n FileName: string | null;\n URL: string | null;\n CategoryName: string | null;\n SubCategoryName: string | null;\n}\n\nexport interface CarrierHeaderLink {\n Title: string;\n CarrierCode: string;\n EApp: string | null;\n}\n\nexport interface AgentSelect {\n agentno: string;\n fname: string | null;\n mname: string | null;\n lname: string | null;\n agentname: string | null;\n hom_addr1: string | null;\n hom_city: string | null;\n hom_state: string | null;\n hom_zip: string | null;\n status: string | null;\n}\n\nexport interface ClientCommission {\n ListID: number | null;\n ComID: number | null;\n Carrier: string | null;\n PolNo: string | null;\n PolTrackID: number | null;\n PlanName: string | null;\n IMOComRate: number | null;\n Split: number | null;\n AgtComPrem: number | null;\n WrtNo: string | null;\n WrtName: string | null;\n InsName: string | null;\n PayNo: string | null;\n PayName: string | null;\n AgtComRate: number | null;\n AgtAdvRate: number | null;\n Mult: number | null;\n AgtPay: number | null;\n PayType: string | null;\n AprvdDate: string | null;\n Ctrld: number | null;\n BatID: number | null;\n RecID: number | null;\n IsAnty: number | null;\n AgtStatus: string | null;\n CarrierID: number | null;\n ComSrcID: number | null;\n PayTypeID: number | null;\n // tempID is added to ClientCommission on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface ContactActivity {\n ContactId: string | null;\n ClientInfoId: string | null;\n Username: string | null;\n IssuedDate: string | null;\n PolNo: string | null;\n Carrier: string | null;\n AP: string | null;\n FaceAmount: string | null;\n AppId: string | null;\n ContactStatus: string | null;\n}\n\nexport interface ContactMsg {\n CMId: number;\n ContactId: number;\n ContactPhone: string;\n Username: string;\n MsgType: string;\n Inbound: boolean;\n Msg: string;\n DateCreated: string;\n UserVirtualPhone: string;\n UserVirtualPhoneActive: boolean;\n Concatenated: boolean;\n ConcatRef: string;\n ConcatPart: number;\n ConcatTotal: number;\n MsgRead: boolean;\n MsgSent: number;\n MsgSentError: string;\n}\n\nexport interface ContactDial {\n CDId: string;\n DateAdded: string;\n}\n\nexport interface ContactAppointment {\n CAId: string;\n DateAdded: string;\n EventStart?: string;\n}\n\nexport interface ContactNote {\n NoteId: string;\n ContactId: string;\n Note: string;\n DateAdded: string;\n Deleted: string;\n}\n\nexport interface ContactDocument {\n DocId: string;\n ContactId: string;\n Type: string;\n FileName: string;\n Description: string;\n DateUploaded: string;\n Deleted: string;\n}\n\nexport interface ContactGreenSheet {\n ContactId: string;\n ClientFirstName: string;\n ClientLastName: string;\n ClientDob: string;\n ClientHeight: string;\n ClientWeight: string;\n ClientTobacco: string;\n ClientAddress: string;\n ClientCity: string;\n ClientState: string;\n ClientZip: string;\n ClientEmployer: string;\n ClientEmployerLength: string;\n ClientIncome: string;\n ClientRetired: string;\n ClientLifePoliciesFaceValue: string;\n ClientLifePoliciesOptions: string;\n ClientHealthInsuranceProvider: string;\n SpouseFirstName: string;\n SpouseLastName: string;\n SpouseDob: string;\n SpouseHeight: string;\n SpouseWeight: string;\n SpouseTobacco: string;\n SpouseAddress: string;\n SpouseCity: string;\n SpouseState: string;\n SpouseZip: string;\n SpouseEmployer: string;\n SpouseEmployerLength: string;\n SpouseIncome: string;\n SpouseRetired: string;\n SpouseLifePoliciesFaceValue: string;\n SpouseLifePoliciesOptions: string;\n SpouseHealthInsuranceProvider: string;\n HomeOwner: string;\n Lender: string;\n HomeownerInsuranceProvider: string;\n ValueOfHome: string;\n MortgageAmount: string;\n MortgageMonthlyPayment: string;\n AutoLoan: string;\n AutoLoanLender: string;\n AutoInsuranceProvider: string;\n AutoLoanPaymentAmount: string;\n Savings: string;\n mutualFundsStocks: string;\n iraAnnuities401K: string;\n NetWorth: string;\n AnyHealthConcern: string;\n MedicationsReasonForTaking: string;\n Children: string;\n AnyCriminalDrivingConcern: string;\n UsCompleteApplication: string;\n Phone: string;\n TimeToContact: string;\n Email: string;\n}\n\nexport interface CalendarSource {\n CalId: string;\n CalSourceId: number;\n Username: string;\n CalSourceDesc: string;\n CalUrl: string;\n TextColor: string;\n BgColor: string;\n BorderColor: string;\n}\n\nexport interface CalendarEvent {\n EventId: number | null;\n CalId: string;\n ICalUID: string;\n TextColor: string;\n BgColor: string;\n BorderColor: string;\n EventStart: string;\n AllDay: boolean | null;\n EventEnd: string;\n EventLocation: string;\n Summary: string;\n EventDesc: string;\n EventType: string | null;\n Recurrence: boolean | null;\n RecurrenceFrequency: string | null;\n RecurrenceBy: string | null;\n RecurrenceByValue: string | null;\n RecurrenceUntil: string | null;\n CreatedBy: string | null;\n DateCreated: string;\n ModifiedBy: string | null;\n DateModified: string;\n ContactId: number | null;\n}\n\nexport interface NotificationText {\n CMId: number;\n ContactId: number;\n ContactPhone: string;\n Username: string;\n MsgType: string;\n Inbound: boolean;\n Msg: string;\n DateCreated: string;\n UserVirtualPhone: string;\n UserVirtualPhoneActive: boolean;\n Concatenated: boolean;\n ConcatRef: string;\n ConcatPart: number;\n ConcatTotal: number;\n MsgRead: boolean;\n MsgSent: number;\n MsgSentError: string;\n}\n\nexport interface NotificationAction {\n NId: string;\n Id: string;\n ContactId: string;\n Username: string;\n NotificationType: string;\n FileName: string | null;\n DateAdded: string;\n Read: '0' | '1';\n}\n\nexport interface NachaEvent {\n BPId: number;\n BatchId: number | null;\n PayDate: string | null;\n CreatedBy: string | null;\n CreatedDate: string | null;\n CurrentStatus: string | null;\n BatchStatus: number | null;\n Progress: number | null;\n Total: number | null;\n GeneratedDate: string | null;\n NachaFilename: string | null;\n NachaTotal: number | null;\n ApprovedDate: string | null;\n ApprovedBy: string | null;\n Error: string | null;\n}\n\nexport interface DebtDownline {\n PayNo: string | null;\n PayFName: string | null;\n PayLName: string | null;\n AgtStatus: string | null;\n TotAmtUnpaid: number | null;\n UplineNo: string | null;\n UplineName: string | null;\n ManagerNo: string | null;\n ManagerName: string | null;\n OldestDebtDate: string | null;\n LastPmntDate: string | null;\n // Column used in displaying button for Paying on debt\n Pay?: number | null;\n}\n\nexport interface DebtPayment {\n AgtPay: number | null;\n BatID: number | null;\n CreatedDate: string | null;\n}\n\nexport interface DebtChargeback {\n DbtID: number | null;\n PolNo: string | null;\n WrtNo: string | null;\n WrtName: string | null;\n Carrier: string | null;\n InsName: string | null;\n PlanName: string | null;\n PayDate: string | null;\n AgtComPrem: number | null;\n Split: number | null;\n PayType: string | null;\n Mult: number | null;\n AgtComRate: number | null;\n AgtAdvRate: number | null;\n AgtPay: number | null;\n TotAmtUnpaid: number | null;\n Status: string | null;\n RollUpFmAgt: string | null;\n}\n\nexport interface DebtOther {\n CreatedDate: string | null;\n DbtType: string | null;\n DbtDesc: string | null;\n TotDbtAmt: number | null;\n TotAmtPaid: number | null;\n TotAmtUnpaid: number | null;\n // Created and used on the client\n // ---\n // tempID is added to DebtOther on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface DebtUnpaidDownline {\n PayNo: string | null;\n PayName: string | null;\n UplineNo: string | null;\n UplineName: string | null;\n ManagerNo: string | null;\n ManagerName: string | null;\n AgtStatus: string | null;\n AgtPay: number | null;\n // Created and used on the client\n // ---\n // tempID is added to DebtUnpaidDownline on the client\n // It is not optional and will not come from the API\n tempID: string;\n}\n\nexport interface DebtReport {\n chargebackDebt: DebtChargeback[];\n otherDebt: DebtOther[];\n AutomatedAdjustments: [];\n UnpaidDownlineDebt: DebtUnpaidDownline[];\n}\n\nexport interface PendingBusiness {\n AgtNo: string | null;\n AgtName: string | null;\n PendCnt: string | null;\n IPCnt: string | null;\n CBCnt: string | null;\n IPCntPrevYr: string | null;\n CBCntPrevYr: string | null;\n}\n\nexport interface PendingPolicy {\n Carrier: string | null;\n PolNo: string | null;\n AgtNo: string | null;\n AgtName: string | null;\n PolStat: string | null;\n FaceAmt: string | null;\n AnnPayAmt: string | null;\n Plan: string | null;\n InsName: string | null;\n PolEffDate: string | null;\n}\n\nexport interface PendingRequirement {\n ReqCode: string | null;\n ReqDesc: string | null;\n ReqDate: string | null;\n StatDate: string | null;\n Notes: string | null;\n tempID?: string;\n}\n\nexport interface SubmittedBusiness {\n AgtNo: string | null;\n AgtName: string | null;\n PolNo: string | null;\n Fname: string | null;\n Lname: string | null;\n LastActDate: string | null;\n AppID: string | null;\n Carrier: string | null;\n AnnPrem: string | null;\n PolStat: string | null;\n Plan: string | null;\n StatDate: string | null;\n Notes: string | null;\n PolEffDate: string | null;\n}\n\nexport interface ActivityPlan {\n AgentId: number;\n AgentNumber: string;\n AgentName: string;\n Dials: number;\n Appointments: number;\n Contacts: number;\n Sits: number;\n SubmittedAPPs: number;\n SubmittedAP: number;\n Referrals: number;\n Found: number;\n DoorKnocks: number;\n AnnuityApps: number;\n AnnuityAP: number;\n Interviews: number;\n FasTracts: number;\n NewInSchool: number;\n WidthContracts: number;\n FirstSubmit: number;\n FirstIssuePaid: number;\n}\n\nexport interface AgentIncrementalChargeback {\n FirstName: string;\n LastName: string;\n AgentId: string;\n Percentile: string | null;\n}\n\nexport interface HierarchyDeposited {\n Name: string;\n Week$: number | null;\n MTD: number | null;\n YTD: number | null;\n}\n\nexport interface UpcomingEvents {\n name: string;\n url: string;\n image: string;\n}\n\nexport interface DepositSummary {\n date: string;\n totalComms: number;\n writingComms: number;\n overrideComms: number;\n gloComms: number;\n}\n\nexport interface LookupAgentList {\n AgentNumber: string;\n Status: string;\n Name: string;\n Location: string;\n}\n\nexport interface AgentProfile {\n agentno?: string;\n status: string;\n securityCode: string;\n firstName: string;\n middleInitial: string;\n lastName: string;\n preferredName: string;\n dob: string;\n ssn: string;\n companyName: string;\n taxID: string;\n email: string;\n businessEmail: string;\n homePhone: string;\n cellPhone: string;\n businessPhone: string;\n faxNumber: string;\n homeAddress: string;\n homeAddress2: string;\n homeCity: string;\n homeState: string;\n homeZip: string;\n businessAddress: string;\n businessAddress2: string;\n businessCity: string;\n businessState: string;\n businessZip: string;\n npn: string;\n}\n\nexport interface AccountDetails {\n name: string;\n agentNo: string;\n homeAddress: string;\n homeAddress2: string;\n homeCity: string;\n homeState: string;\n homeZip: string;\n busAddress: string;\n busAddress2: string;\n busCity: string;\n busState: string;\n busZip: string;\n sigName: string;\n sigHash: string;\n sigStamp: string;\n directUpline: string;\n agencyMgr: string;\n recordCreated: string;\n recordUpdated: string;\n lastAccess: string;\n overrideTime: string;\n overrideBy: string;\n ftStatus: string;\n manApproval: string;\n pendingMgr: string;\n contractLevel: string;\n isActive: string;\n isAllowed: string;\n isManager: string;\n hasBilling: string;\n gmrStatus: string;\n signedPAC: string;\n}\n\nexport interface PopUpData {\n PopupId: number | string | null;\n PopupFileName: string | null;\n PopupFilePath: string | null;\n Title: string | null;\n Frequency: 'once' | 'weekly' | 'monthly' | null;\n Text: string | null;\n DateCreated: string | null;\n DateUpdated: string | null;\n Deleted: number | null;\n buttons?: { label?: string; url?: string }[];\n}\n\nexport interface RecruitingChart {\n WeekOrMonth: string;\n Recruits: number;\n FasTracts: number;\n}\n\nexport interface SalesChartResData {\n EndOfMonthOrDynamicWeek: string;\n IPAP: number;\n UniqueWritersOrNewApp: number;\n}\n\nexport interface BadgeData {\n Area: number;\n BadgeActive: number;\n BadgeTitle: string;\n BadgeType: string;\n DefaultImgID: string;\n ImgFileLocation: string;\n ImgID: string;\n ImgType: string;\n Intent: string;\n ShortDesc: string;\n}\n\nexport interface AccountingReportData {\n BatchId: number | null;\n PayNo: string | null;\n AgtName: string | null;\n AgtPay: number | null;\n CanPay: number | null;\n AdjType: string | null;\n}\n\nexport interface HotspotsData {\n MeetingId?: number | string | null;\n HostName: string | null;\n HostImage: string | null;\n Location: string | null;\n Description: string | null;\n DateTime: string | null;\n}\n\nexport interface SentMessageLog {\n MCId: number;\n Username: string;\n AgentNumber: string;\n AgentName: string;\n AgentPhone: string;\n MsgType: string;\n Outbound: boolean;\n Msg: string;\n DateCreated: string;\n MsgSentStatus: string;\n MsgSentError: string;\n MsgSentDate: string;\n}\n\nexport interface HierarchyItem {\n AgtNo: string;\n AgtName: string;\n Level: number;\n Depth: number;\n}\n\nexport interface AgentProfileData {\n AgtNo: string | null;\n AgtStatus: string | null;\n Level: number | null;\n AgtType: string | null;\n AgtName: string | null;\n AliasName: string | null;\n Prefix: string | null;\n Fname: string | null;\n Mname: string | null;\n Lname: string | null;\n Suffix: string | null;\n Title: string | null;\n Gender: string | null;\n Last4SSN: string | null;\n DOB: string | null;\n Email: string | null;\n Email2: string | null;\n HomePh: string | null;\n CellPh: string | null;\n Fax: string | null;\n HomeAdd: string | null;\n HomeAptSte: string | null;\n HomeCity: string | null;\n HomeSt: string | null;\n HomeZip: string | null;\n HomeCnty: string | null;\n MailToAdd: string | null;\n MailToAdptSte: string | null;\n MailToCity: string | null;\n MailToSt: string | null;\n MailToZip: string | null;\n Recruiter: string | null;\n RecName: string | null;\n DrivLic: string | null;\n DrivLicSt: string | null;\n MaidName: string | null;\n MaritalStatus: string | null;\n SpouseName: string | null;\n HasCorp: 0 | 1 | null;\n CorpName: string | null;\n TaxID: string | null;\n BusAdd: string | null;\n BusAptSte: string | null;\n BusCity: string | null;\n BusSt: string | null;\n BusZip: string | null;\n BusPh: string | null;\n Website: string | null;\n NPN: string | null;\n PrevAdd: string | null;\n PrevAptSte: string | null;\n PrevCity: string | null;\n PrevSt: string | null;\n PrevZip: string | null;\n PresAddLth: string | null;\n PrevAddLth: string | null;\n Licensed: 0 | 1 | null;\n USCitizen: 0 | 1 | null;\n ContAuth: 0 | 1 | null;\n}\n\nexport interface AdminAgentNoteData {\n NoteId: string;\n AgtNo: string | null;\n Note: string | null;\n Username: string | null;\n CreatedDate: string | null;\n}\n\nexport interface VideoData {\n VideoId?: number;\n VideoSlug?: string | null;\n Title?: string | null;\n Description?: string | null;\n EmbedUrl?: string | null;\n ThumbnailFile?: string | null;\n ThumbnailUrl?: string | null;\n UploadDate?: string | null;\n Duration?: number | null;\n}\n\nexport interface BillingCCData {\n ccId: string | null;\n system: string | null;\n type: string | null;\n accountEnd: string | null;\n lastUpdated: string | null;\n ccExpires: string | null;\n ccFirstName: string | null;\n ccLastName: string | null;\n ccAddress: string | null;\n ccCity: string | null;\n ccState: string | null;\n ccZip: string | null;\n isIPPrimary: boolean | null;\n isInvoicePrimary: boolean | null;\n label: string | null;\n}\n","import Box from '@mui/material/Box';\nimport { SxProps } from '@mui/system';\n\nexport function DisplayMarkupBox(props: {\n markup: string | null;\n sx?: SxProps;\n}) {\n const createMarkup = (__html: string) => {\n return { __html };\n };\n\n if (props.markup) {\n return (\n \n );\n } else {\n return null;\n }\n}\n\nexport function DisplayMarkup(props: {\n markup: string | null;\n className?: string;\n}) {\n const createMarkup = (__html: string) => {\n return { __html };\n };\n\n if (props.markup) {\n return (\n \n );\n } else {\n return null;\n }\n}\n","/**\n * Determine if a username is for an Agent\n */\nexport const isAgt = (AgtNo: string | null | undefined) => {\n return Boolean(AgtNo && AgtNo.match(/^[a-zA-Z]{3}[0-9]{6}$/));\n};\n","import AppBar from '@mui/material/AppBar';\nimport grey from '@mui/material/colors/grey';\nimport Toolbar from '@mui/material/Toolbar';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { materialTheme } from '../theme';\nimport { AnimateIn } from './animate-in';\n\nconst useStyles = makeStyles({\n appBar: {\n backgroundColor: '#fff',\n borderBottom: '1px solid #efefefcc',\n },\n darkAppBar: {\n backgroundColor: grey[800],\n borderBottom: `1px solid #000`,\n },\n});\n\nexport function AppHeader(props: {\n routeTitle: string;\n headerContent?: React.ReactNode;\n wrapContentForMobile?: boolean;\n isDarkMode?: boolean;\n}) {\n // Hooks\n const classes = useStyles();\n // Props\n const { isDarkMode } = props;\n\n return (\n \n \n \n \n {props.routeTitle}\n \n \n\n
\n\n {props.headerContent}\n \n \n );\n}\n","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 81,\n height: 81,\n viewBox: \"0 0 81 81\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.3 40.1C76.3 20.2 60.2 4.09998 40.3 4.09998C20.4 4.09998 4.29999 20.2 4.29999 40.1C4.29999 60 20.4 76.1 40.3 76.1C60.2 76.1 76.3 60 76.3 40.1ZM7.59999 40.1C7.59999 22 22.3 7.39998 40.3 7.39998C58.3 7.39998 73 22.1 73 40.1C73 58.1 58.4 72.8 40.3 72.8C22.2 72.8 7.59999 58.2 7.59999 40.1Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.7 60.9V40.1H48.6L49.7 33.2H41.8V29.7C41.8 27.9 42.4 26.2 45 26.2H50.2V19.3H42.9C36.7 19.3 35.1 23.4 35.1 29V33.2H30.9V40.1H35.1V60.9H41.7V60.9Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterFacebook);\nexport default __webpack_public_path__ + \"static/media/footer-facebook.e21ab7f8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterInstagram(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 81,\n height: 81,\n viewBox: \"0 0 81 81\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.1 20.7H31.2C25.4 20.7 20.7 25.4 20.7 31.2V49C20.7 54.8 25.4 59.5 31.2 59.5H49.1C54.9 59.5 59.6 54.8 59.6 49V31.2C59.6 25.4 54.9 20.7 49.1 20.7ZM56.5 49C56.5 53.1 53.2 56.4 49.1 56.4H31.2C27.1 56.4 23.8 53.1 23.8 49V31.2C23.8 27.1 27.1 23.8 31.2 23.8H49.1C53.2 23.8 56.5 27.1 56.5 31.2V49V49Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9 38.7C48.6 36.8 47.8 35.1 46.4 33.8C45.1 32.5 43.4 31.6 41.5 31.3C40.7 31.2 39.8 31.2 38.9 31.3C36.6 31.6 34.6 32.9 33.2 34.7C31.8 36.6 31.2 38.9 31.6 41.2C31.9 43.5 33.2 45.5 35 46.9C36.5 48 38.3 48.6 40.2 48.6C40.6 48.6 41.1 48.6 41.5 48.5C43.8 48.2 45.8 46.9 47.2 45.1C48.6 43.3 49.2 41 48.9 38.7ZM41.1 45.5C39.6 45.7 38.2 45.4 37 44.5C35.8 43.6 35 42.3 34.8 40.8C34.6 39.3 34.9 37.9 35.8 36.7C36.7 35.5 38 34.7 39.5 34.5C39.8 34.5 40 34.4 40.3 34.4C40.6 34.4 40.8 34.4 41.1 34.5C43.5 34.9 45.4 36.8 45.8 39.2C46.2 42.2 44.1 45.1 41.1 45.5Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.1 29.2C50.8 28.9 50.4 28.7 50 28.7C49.6 28.7 49.2 28.9 48.9 29.2C48.6 29.5 48.4 29.9 48.4 30.3C48.4 30.7 48.6 31.1 48.9 31.4C49.2 31.7 49.6 31.9 50 31.9C50.4 31.9 50.8 31.7 51.1 31.4C51.4 31.1 51.6 30.7 51.6 30.3C51.6 29.9 51.4 29.4 51.1 29.2Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.3 40.1C76.3 20.2 60.2 4.09998 40.3 4.09998C20.4 4.09998 4.29999 20.2 4.29999 40.1C4.29999 60 20.4 76.1 40.3 76.1C60.2 76.1 76.3 60 76.3 40.1ZM7.59999 40.1C7.59999 22 22.3 7.39998 40.3 7.39998C58.3 7.39998 73 22.1 73 40.1C73 58.1 58.4 72.8 40.3 72.8C22.2 72.8 7.59999 58.2 7.59999 40.1Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterInstagram);\nexport default __webpack_public_path__ + \"static/media/footer-instagram.c3796680.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterLinkedin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 81,\n height: 81,\n viewBox: \"0 0 81 81\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.1 40.1C76.1 20.2 60 4.09998 40.1 4.09998C20.2 4.09998 4.10001 20.2 4.10001 40.1C4.10001 60 20.2 76.1 40.1 76.1C60 76.1 76.1 60 76.1 40.1ZM7.40001 40.1C7.40001 22 22.1 7.39998 40.1 7.39998C58.1 7.39998 72.8 22.1 72.8 40.1C72.8 58.1 58.2 72.8 40.1 72.8C22 72.8 7.40001 58.2 7.40001 40.1Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31 31.9999H22.9V60.2999H31V31.9999Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31 19.9H22.9V28H31V19.9Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.3 60.2999H51.2V44.1999C51.2 41.9999 49.4 40.1999 47.2 40.1999C45 40.1999 43.2 41.9999 43.2 44.1999V60.3999H35.1V31.9999H43.2V33.4999C45.3 32.7999 46.7 31.9999 49.3 31.9999C54.8 31.9999 59.4 36.8999 59.4 42.6999L59.3 60.2999Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterLinkedin);\nexport default __webpack_public_path__ + \"static/media/footer-linkedin.1f3da762.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 56,\n height: 55,\n viewBox: \"0 0 56 55\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.9 52.1C41.5414 52.1 52.6 41.0414 52.6 27.4C52.6 13.7586 41.5414 2.70001 27.9 2.70001C14.2586 2.70001 3.2 13.7586 3.2 27.4C3.2 41.0414 14.2586 52.1 27.9 52.1Z\",\n fill: \"#FAFAFA\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.8 43.9C17.2 44.7 16.1 45 15.4 44.8C14.7 44.6 14.3 44 14.2 42.9C14.2 41.9 14.4 40.5 15 38.8C15.6 37.1 16.4 35.3 17.5 33.2C16.3 33.5 15.1 33.8 13.9 34C13.5 34.1 13.2 33.9 13.2 33.5C13.2 33.1 13.3 32.6 13.6 32C13.9 31.4 14.2 30.9 14.7 30.5C15.2 30 15.6 29.9 16.2 29.9C16.5 29.9 17 30 17.5 30C18.1 30 18.7 30 19.5 30C20.2 28.9 20.9 27.9 21.6 26.9C23 25.1 24.4 23.3 25.9 21.6C27.4 19.9 28.9 18.4 30.3 17C31.8 15.6 33.2 14.4 34.6 13.4C36 12.4 37.2 11.6 38.4 11C39.5 10.4 40.5 10.1 41.3 10C42.1 9.9 42.7 10 43 10.5C43.3 10.9 43.3 11.4 43.1 12.2C42.9 12.9 42.5 13.8 42 14.8C41.4 15.8 40.8 16.9 40 18.1C39.2 19.3 38.4 20.6 37.6 21.9C36.8 23.2 36 24.5 35.2 25.9C34.4 27.2 33.8 28.5 33.2 29.6C32.7 30.7 32.3 31.7 32.1 32.5C31.9 33.3 32 33.9 32.3 34.1C32.4 34.2 32.7 34.2 33.1 33.9C33.5 33.6 33.9 33.3 34.4 32.8C34.9 32.4 35.4 31.8 35.9 31.3C36.4 30.7 36.8 30.2 37.1 29.7C37.4 29.3 37.6 29 37.9 28.9C38.1 28.8 38.3 28.7 38.5 28.8C38.6 28.8 38.7 29 38.7 29.2C38.7 29.4 38.6 29.7 38.4 30.2C38.2 30.5 37.9 31 37.5 31.6C37.1 32.2 36.5 32.9 36 33.7C35.4 34.4 34.8 35.2 34.1 36C33.4 36.8 32.7 37.4 32.1 38C31.4 38.6 30.8 39 30.2 39.2C29.6 39.5 29.1 39.4 28.6 39.1C28.3 38.9 28.1 38.5 28.1 37.9C28.1 37.4 28.1 36.7 28.3 35.9C28.5 35.1 28.8 34.3 29.1 33.4C29.4 32.5 29.9 31.5 30.3 30.5C28.8 30.8 27.3 31.2 25.8 31.5C24.3 31.9 22.8 32.2 21.5 32.5C20.9 33.7 20.3 34.9 19.9 36.1C19.5 37.3 19.1 38.4 18.9 39.4C18.7 40.4 18.6 41.3 18.6 42.1C18.4 42.7 18.5 43.4 18.8 43.9ZM22.8 29.8C24.1 29.6 25.5 29.4 27 29.2C28.5 28.9 29.9 28.6 31.2 28.2C32 26.5 32.9 24.9 33.8 23.3C34.7 21.7 35.6 20.3 36.3 19C37 17.7 37.6 16.7 38 15.8C38.4 14.9 38.5 14.4 38.2 14.1C38 13.9 37.6 13.9 37.1 14C36.6 14.2 36 14.5 35.3 15C34.6 15.5 33.8 16.2 33 17C32.1 17.8 31.3 18.7 30.3 19.7C29.4 20.7 28.5 21.8 27.5 22.9C26.6 24.1 25.7 25.2 24.8 26.4C24.4 26.9 24 27.5 23.7 28C23.5 28.7 23.1 29.2 22.8 29.8Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.2 38.6C14.3 38.4 14.4 38.1 14.5 37.9C11.9 34.9 10.3 31 10.3 26.8C10.3 17.5 17.9 9.9 27.2 9.9C30.1 9.9 32.8 10.6 35.2 11.9C35.8 11.5 36.4 11.1 37 10.8C34.1 9 30.8 8 27.1 8C16.7 8 8.3 16.4 8.3 26.8C8.3 31.9 10.4 36.6 13.7 40C13.9 39.5 14.1 39 14.2 38.6Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.4 15.5C42.1 16.1 41.7 16.6 41.3 17.3C43.1 20 44.1 23.2 44.1 26.7C44.1 36 36.5 43.6 27.2 43.6C24.3 43.6 21.6 42.9 19.2 41.6C19.2 41.7 19.2 41.8 19.2 41.9C19.2 42.5 19.3 43 19.5 43.4L19.9 44C22.2 45 24.6 45.5 27.3 45.5C37.7 45.5 46.1 37.1 46.1 26.7C46.1 22.5 44.7 18.7 42.4 15.5Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterLogo);\nexport default __webpack_public_path__ + \"static/media/footer-logo.59073cde.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterTwitter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 81,\n height: 81,\n viewBox: \"0 0 81 81\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.3 40.1C76.3 20.2 60.2 4.09998 40.3 4.09998C20.4 4.09998 4.3 20.2 4.3 40.1C4.3 60 20.4 76.1 40.3 76.1C60.2 76.1 76.3 60 76.3 40.1ZM7.6 40.1C7.6 22 22.2 7.39998 40.3 7.39998C58.4 7.39998 73 22 73 40.1C73 58.2 58.4 72.8 40.3 72.8C22.2 72.8 7.6 58.2 7.6 40.1Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.8 27.1C62.1 27.8 60.4 28.3 58.5 28.6C60.4 27.5 61.9 25.6 62.6 23.5C60.8 24.6 58.8 25.3 56.7 25.7C55 23.9 52.6 22.8 50 22.8C44.9 22.8 40.8 26.9 40.8 32C40.8 32.7 40.9 33.4 41 34.1C33.3 33.7 26.5 30 22 24.4C21.2 25.8 20.8 27.3 20.8 29C20.8 32.2 22.4 35 24.9 36.7C23.4 36.6 22 36.2 20.7 35.5V35.6C20.7 40.1 23.9 43.8 28.1 44.7C27.3 44.9 26.5 45 25.7 45C25.1 45 24.5 44.9 24 44.8C25.2 48.5 28.6 51.1 32.6 51.2C29.4 53.7 25.5 55.1 21.1 55.1C20.4 55.1 19.6 55.1 18.9 55C23 57.6 27.8 59.2 33.1 59.2C50.1 59.2 59.4 45.1 59.4 32.9V31.7C61 30.6 62.6 29 63.8 27.1Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterTwitter);\nexport default __webpack_public_path__ + \"static/media/footer-twitter.d449809a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFooterYoutube(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 81,\n height: 81,\n viewBox: \"0 0 81 81\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.3 40.1C76.3 20.2 60.2 4.09998 40.3 4.09998C20.4 4.09998 4.3 20.2 4.3 40.1C4.3 60 20.4 76.1 40.3 76.1C60.2 76.1 76.3 60 76.3 40.1ZM7.6 40.1C7.6 22 22.3 7.39998 40.3 7.39998C58.3 7.39998 73 22.1 73 40.1C73 58.1 58.4 72.8 40.3 72.8C22.2 72.8 7.6 58.2 7.6 40.1Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.4 39.3L31.4 19.3C31.1 19.1 30.7 19.1 30.4 19.2C30.1 19.4 29.9 19.7 29.9 20.1V60.1C29.9 60.5 30.1 60.8 30.4 61C30.5 61.1 30.7 61.1 30.9 61.1C31.1 61.1 31.3 61 31.5 60.9L60.5 40.9C60.8 40.7 60.9 40.4 60.9 40.1C60.8 39.8 60.6 39.5 60.4 39.3Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFooterYoutube);\nexport default __webpack_public_path__ + \"static/media/footer-youtube.c2b5d8a6.svg\";\nexport { ForwardRef as ReactComponent };","import { Theme } from '@mui/material';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { grey } from '@mui/material/colors';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Link } from 'react-router-dom';\nimport { ReactComponent as FacebookLogo } from '../assets/footer-facebook.svg';\nimport { ReactComponent as InstagramLogo } from '../assets/footer-instagram.svg';\nimport { ReactComponent as LinkedInLogo } from '../assets/footer-linkedin.svg';\nimport { ReactComponent as FooterLogo } from '../assets/footer-logo.svg';\nimport { ReactComponent as TwitterLogo } from '../assets/footer-twitter.svg';\nimport { ReactComponent as YoutubeLogo } from '../assets/footer-youtube.svg';\n\nexport function Footer(props: { isDarkMode?: boolean }) {\n let color = props.isDarkMode ? '#fff' : grey[900];\n\n const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n marginBottom: 10,\n fontWeight: 'bold',\n fontFamily: 'Lato',\n fontSize: '1.5em',\n color: color,\n },\n info: {\n padding: '15px 0px ',\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n justifyContent: 'space-around',\n },\n [theme.breakpoints.only('sm')]: {\n textAlign: 'center',\n },\n [theme.breakpoints.down('sm')]: {\n borderBottom: '1px solid #999',\n textAlign: 'center',\n },\n },\n wrapper: {\n marginTop: '50px',\n borderTop: '1px solid #999',\n padding: '15px 0px',\n },\n copyright: {\n textAlign: 'center',\n padding: '15px 0px',\n borderTop: '1px solid #999',\n },\n social: {\n display: 'flex',\n justifyContent: 'center',\n padding: 10,\n fill: color,\n },\n links: {\n color: color,\n textDecoration: 'none',\n '&:hover': { color: '#999' },\n },\n footLogo: {\n fill: grey[900],\n height: 125,\n width: 125,\n '&:hover': { fill: '#999' },\n },\n icons: {\n fill: color,\n height: 50,\n width: 50,\n '&:hover': {\n fill: '#999',\n },\n },\n }),\n );\n const classes = useStyles();\n\n const links = [\n {\n groupId: 'tours',\n title: 'Quality Leads',\n url: 'https://www.naaleads.com/tour/leads',\n },\n {\n groupId: 'tours',\n title: 'Professional Training',\n url: 'https://www.naaleads.com/tour/training',\n },\n {\n groupId: 'tours',\n title: 'Turnkey System',\n url: 'https://www.naaleads.com/tour/turnkey-system',\n },\n {\n groupId: 'tours',\n title: 'Reliable Products',\n url: 'https://www.naaleads.com/tour/products',\n },\n {\n groupId: 'tours',\n title: 'Compensation',\n url: 'https://www.naaleads.com/tour/compensation',\n },\n {\n groupId: 'about',\n title: 'About The Alliance',\n url: 'https://www.naaleads.com/about',\n },\n {\n groupId: 'about',\n title: 'Our Story',\n url: 'https://www.naaleads.com/about/our-story',\n },\n {\n groupId: 'about',\n title: 'Leadership',\n url: 'https://www.naaleads.com/about/our-leadership',\n },\n {\n groupId: 'about',\n title: 'Impact',\n url: 'https://www.naaleads.com/about/charitable-partners',\n },\n {\n groupId: 'other',\n title: 'Corporate Jobs',\n url: 'https://www.naaleads.com/corporate-jobs',\n },\n {\n groupId: 'other',\n title: 'Contact Us',\n url: 'https://www.naaleads.com/contact',\n },\n {\n groupId: 'other',\n title: 'Sitemap',\n url: 'https://www.naaleads.com/sitemap',\n },\n {\n groupId: 'other',\n title: 'Privacy Policy',\n url: 'https://a7d9021b860b18c4222a-d761a6fa6590560fc9f9e4d318d2556e.ssl.cf1.rackcdn.com/contracting/documents/alliance-privacy-notice.pdf',\n },\n {\n groupId: 'other',\n title: 'NAA Terms of Service',\n url: 'https://a7d9021b860b18c4222a-d761a6fa6590560fc9f9e4d318d2556e.ssl.cf1.rackcdn.com/contracting/documents/alliance-terms-of-service.pdf',\n },\n {\n groupId: 'other',\n title: 'Do Not Sell My Information',\n url: 'https://submit-irm.trustarc.com/services/validation/d14968e7-edec-4831-b5f2-c494567844f6',\n },\n {\n groupId: 'social',\n icon: ,\n url: 'https://www.facebook.com/groups/330822977953654',\n title: 'Facebook',\n },\n {\n groupId: 'social',\n icon: ,\n url: 'https://www.instagram.com/nationalagentsalliance/',\n title: 'Instagram',\n },\n {\n groupId: 'social',\n icon: ,\n url: 'https://twitter.com/NaaLeadsTheWay',\n title: 'Twitter',\n },\n {\n groupId: 'social',\n icon: ,\n url: 'https://www.linkedin.com/company/national-agents-alliance-corporate',\n title: 'LinkedIn',\n },\n {\n groupId: 'social',\n icon: ,\n url: 'http://www.youtube.com/user/naatube101',\n title: 'Youtube',\n },\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n
\n \n Connect\n \n \n The Alliance\n
1214 Turrentine Street\n
Burlington, NC 27215\n
336.227.3319\n
\n
\n
\n \n
\n \n Tours\n \n {links.map((link, key) => {\n return (\n link.groupId === 'tours' && (\n \n \n {link.title}\n \n \n )\n );\n })}\n
\n
\n \n
\n \n About\n \n {links.map((link, key) => {\n return (\n link.groupId === 'about' && (\n \n \n {link.title}\n \n \n )\n );\n })}\n
\n
\n\n \n
\n \n Other\n \n {links.map((link, key) => {\n return (\n link.groupId === 'other' && (\n \n \n {link.title}\n \n \n )\n );\n })}\n
\n \n \n \n \n {links.map((link, key) => {\n return (\n link.groupId === 'social' && (\n \n {link.icon}\n \n )\n );\n })}\n \n \n Copyright © 2004 - {new Date().getFullYear()} NAA All Rights\n Reserved\n \n \n \n \n );\n}\n","import React from 'react';\nimport { captureError } from '../../utils/capture-error';\nimport { RouteError } from './route-error';\n\nexport class RouteErrorBoundary extends React.Component<{\n children: React.ReactNode;\n}> {\n state = { hasError: false };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n captureError({ data: { error, errorInfo } });\n }\n\n render() {\n if (this.state.hasError) {\n return ;\n } else {\n return this.props.children;\n }\n }\n}\n","import makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { AnimateIn, AnimateInProps } from '../animate-in';\nimport { BackToTop } from '../back-to-top';\n\nconst useStyles = makeStyles({\n content: {\n width: '94%',\n margin: '0 auto',\n paddingTop: 10,\n },\n wrapper: {\n flex: 1,\n overflowX: 'auto',\n },\n});\n\nexport function RouteWrapper(props: {\n children: React.ReactNode;\n paddingBottom?: number;\n nofade?: AnimateInProps['nofade'];\n notransform?: AnimateInProps['notransform'];\n}) {\n // State\n const [showButtonTop, setShowButtonTop] = React.useState(false);\n // Hooks\n const wrapperEl = React.useRef(null);\n const classes = useStyles();\n\n React.useEffect(() => {\n const wrapperDiv = wrapperEl.current;\n\n wrapperDiv?.addEventListener('scroll', (event) => {\n const target = event.target as HTMLTextAreaElement;\n if (target.scrollTop > 500) {\n setShowButtonTop(true);\n } else {\n setShowButtonTop(false);\n }\n });\n\n return () => wrapperDiv?.removeEventListener('scroll', () => {});\n }, [wrapperEl]);\n\n const handleScrollToTop = () => {\n if (wrapperEl.current !== null) {\n wrapperEl.current.scrollTo(0, 0);\n }\n };\n\n const paddingBottom =\n props.paddingBottom !== undefined ? props.paddingBottom : 100;\n\n return (\n \n \n
\n {props.children}\n
\n \n\n {showButtonTop && }\n
\n );\n}\n","import LinearProgress from '@mui/material/LinearProgress';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { AppContext } from '../../contexts/app-context';\nimport { AnimateInProps } from '../animate-in';\nimport { AppHeader } from '../app-header';\nimport { Footer } from '../footer';\nimport { RouteError } from './route-error';\nimport { RouteErrorBoundary } from './route-error-boundary';\nimport { RouteWrapper } from './route-wrapper';\n\nconst useStyles = makeStyles({\n container: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minHeight: 0,\n },\n});\n\nexport function RouteContainer(props: {\n children: React.ReactNode;\n routeTitle: string;\n loading?: boolean;\n headerContent?: React.ReactNode;\n wrapContentForMobile?: boolean;\n hasError?: boolean;\n paddingBottom?: number;\n hideHeader?: boolean;\n hideFooter?: boolean;\n nofade?: AnimateInProps['nofade'];\n notransform?: AnimateInProps['notransform'];\n darkMode?: boolean;\n}) {\n // Context\n const { dispatch } = React.useContext(AppContext);\n // Hooks\n const classes = useStyles();\n\n React.useEffect(() => {\n // If the drawer is open when this component mounts, close it\n dispatch({ type: 'DRAWER_CLOSE' });\n }, [dispatch]);\n\n let routeContent =
;\n if (props.loading) {\n routeContent = ;\n } else if (props.hasError) {\n routeContent = ;\n } else {\n routeContent = (\n \n \n {props.children}\n {props.hideFooter ? null :
}\n \n \n );\n }\n\n return (\n \n \n ARC | {props.routeTitle}\n \n\n \n {props.hideHeader ? null : (\n \n )}\n\n {routeContent}\n
\n \n );\n}\n","import Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { AnimateIn } from '../animate-in';\n\nconst useStyles = makeStyles({\n error: {\n width: '96%',\n maxWidth: 400,\n margin: '10px auto',\n padding: 10,\n textAlign: 'center',\n },\n});\n\nexport function RouteError() {\n // Hooks\n const classes = useStyles();\n\n return (\n \n
\n\n \n Sorry, something went wrong.\n \n We're working on it and we'll get it fixed as soon as we can.\n \n Home\n \n \n );\n}\n","import getMonth from 'date-fns/getMonth';\nimport getWeekOfMonth from 'date-fns/getWeekOfMonth';\nimport localforage from 'localforage';\nimport { PopUpData } from '../../types';\n\n/**\n * Create a unique key for a Pop Up.\n */\nfunction createKey(params: { data: PopUpData; username: string }) {\n const { data, username } = params;\n\n const date = new Date();\n const monthIndex = getMonth(date);\n const weekIndex = getWeekOfMonth(date);\n\n if (data.Frequency === 'monthly') {\n return `${data.PopupId}-${monthIndex}-${username}`;\n } else if (data.Frequency === 'weekly') {\n return `${data.PopupId}-${monthIndex}-${weekIndex}-${username}`;\n } else {\n // Default to Frequency of \"once\"\n return `${data.PopupId}-${username}`;\n }\n}\n\n/**\n * Check to see if a user has seen a Pop Up.\n */\nasync function hasViewedPopUp(params: { data: PopUpData; username: string }) {\n const { data, username } = params;\n\n const popUpKey = createKey({ data, username });\n\n const value = await localforage.getItem(popUpKey);\n if (value) {\n return 'viewed';\n } else {\n return null;\n }\n}\n\n/**\n * Get the first unseen Pop Up from a list of Pop Ups.\n */\nexport async function getPopUp(params: {\n data: PopUpData[];\n username: string;\n}) {\n const { data, username } = params;\n\n let newPopUp: PopUpData | null = null;\n\n // Loop over the data to find the first unviewed Pop Up\n for (const item of data) {\n // If a new unviewed Pop Up has not been found yet\n if (newPopUp === null) {\n // If the Pop Up has been viewed the value will be \"viewed\"\n const value = await hasViewedPopUp({ data: item, username });\n if (value === null) {\n // This Pop Up has not been viewed yet\n newPopUp = item;\n }\n }\n }\n\n return newPopUp;\n}\n\n/**\n * Mark a Pop Up as \"viewed\" so that it will not be seen again for its Frequency.\n */\nexport async function markPopUpViewed(params: {\n data: PopUpData;\n username: string;\n}) {\n const { data, username } = params;\n\n const popUpKey = createKey({ data, username });\n\n await localforage.setItem(popUpKey, 'viewed');\n}\n","import { CognitoUser } from 'amazon-cognito-identity-js';\nimport { Auth } from 'aws-amplify';\nimport Bowser from 'bowser';\nimport { serializeError } from 'serialize-error';\n\nexport async function captureError(params: {\n data: any;\n removeData?: boolean;\n}) {\n const body: any = {};\n\n if (params.data) {\n body.data = params.data;\n if (params.data.error) {\n // create a copy of params.data.error before its serialized\n const newError = params.data.error;\n // serializeError will mutate the error passed in params.data.error by calling toJSON on the axios error\n body.data.error = serializeError(params.data.error);\n // Remove error config headers\n if (body.data.error?.config?.headers) {\n delete body.data.error.config.headers;\n }\n // Remove error response config headers\n if (body.data.error?.response?.config?.headers) {\n delete body.data.error.response.config.headers;\n }\n // Remove error response headers\n if (body.data.error?.response?.headers) {\n delete body.data.error.response.headers;\n }\n\n if (params.removeData) {\n // Remove config data\n if (body.data.error?.config?.data) {\n delete body.data.error.config.data;\n }\n // Remove response config data\n if (body.data.error?.response?.config?.data) {\n delete body.data.error.response.config.data;\n }\n }\n\n // If the API has returned an errors or error object like in the case of a 400 response\n // serialize and add it to the body data\n if (newError?.response?.data?.errors) {\n body.data.errors = serializeError(newError.response.data.errors);\n } else if (newError?.response?.data?.error) {\n body.data.errors = serializeError(newError.response.data.error);\n }\n }\n body.data.window = {};\n if (window.navigator && window.navigator.userAgent) {\n body.data.window.userAgent = window.navigator.userAgent;\n // Browser Info\n body.data.client = Bowser.parse(window.navigator.userAgent);\n }\n if (window.location && window.location.href) {\n body.data.window.href = window.location.href;\n }\n if (process.env.REACT_APP_AWS_BRANCH) {\n body.data.AWS_BRANCH = process.env.REACT_APP_AWS_BRANCH;\n }\n // Current User\n try {\n const user: CognitoUser = await Auth.currentAuthenticatedUser();\n if (user) {\n body.data.username = user.getUsername();\n }\n } catch (error) {\n // No current user\n }\n }\n\n if (\n process.env.NODE_ENV === 'production' &&\n process.env.REACT_APP_ALERTS_URL\n ) {\n fetch(process.env.REACT_APP_ALERTS_URL, {\n body: JSON.stringify(body),\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n });\n } else {\n console.error({ captureError: params });\n }\n}\n","import React, { Dispatch } from 'react';\n\n// State\ntype AdminAgentState = {\n AgtNo: string;\n tab: string;\n};\nconst initialState: AdminAgentState = {\n AgtNo: '',\n tab: '',\n};\n\n// Actions\ntype AdminAgentActions =\n | { type: 'RESET' }\n | { type: 'CHANGE_AGT'; payload: { AgtNo: string } }\n | { type: 'CHANGE_TAB'; payload: { AgtNo: string; tab: string } };\n\nconst reducer = (state: AdminAgentState, action: AdminAgentActions) => {\n switch (action.type) {\n case 'RESET': {\n return { ...state, AgtNo: '', tab: '' };\n }\n case 'CHANGE_AGT': {\n const { AgtNo } = action.payload;\n return { ...state, AgtNo };\n }\n case 'CHANGE_TAB': {\n const { AgtNo, tab } = action.payload;\n return { ...state, AgtNo, tab };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nexport const AdminAgentContext = React.createContext(\n {} as {\n state: AdminAgentState;\n dispatch: Dispatch;\n }\n);\n\nexport function AdminAgentProvider(props: { children: React.ReactNode }) {\n const [state, dispatch] = React.useReducer(reducer, initialState);\n\n return (\n \n {props.children}\n \n );\n}\n","import Close from '@mui/icons-material/Close';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport Slide from '@mui/material/Slide';\nimport Typography from '@mui/material/Typography';\nimport { blue } from '@mui/material/colors';\nimport { TransitionProps } from '@mui/material/transitions';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { PopUpData } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { DisplayMarkup } from '../display-markup';\nimport { markPopUpViewed } from './pop-up-utils';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & { children: React.ReactElement },\n ref: React.Ref,\n) {\n return ;\n});\n\nconst useStyles = makeStyles({\n text: {\n fontFamily: 'Lato',\n fontSize: 16,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n markup: {\n '& p': {\n margin: 0,\n },\n '& a': {\n color: 'aqua',\n },\n },\n});\n\nexport function PopUpItem(props: {\n data: PopUpData;\n username: string;\n onClose: () => void;\n}) {\n // Props\n const { data, username } = props;\n // Hooks\n const classes = useStyles();\n\n const handleClose = async () => {\n try {\n await markPopUpViewed({ data, username });\n\n props.onClose();\n } catch (error) {\n captureError({ data: { error } });\n }\n };\n\n const imgPath = props.data.PopupFileName || props.data.PopupFilePath;\n\n const labelledby = 'display-popup-title';\n const describedby = 'display-popup-description';\n\n return (\n \n
\n \n \n \n\n {data.Title && (\n
\n \n \n {data.Title}\n \n \n
\n )}\n\n \n {imgPath && (\n \n \n \n )}\n\n {data.Text && (\n \n \n \n \n \n )}\n\n {data.buttons?.map((button) => (\n \n \n {button.label}\n \n \n ))}\n \n
\n \n );\n}\n","import orderBy from 'lodash/orderBy';\nimport { CRMContact, CRMToday } from '../../../types';\nimport { contactTags } from './contact-utils';\n\nconst orderByMonthAndDay = (params: {\n contacts: CRMContact[];\n}): CRMContact[] => {\n // Create an array that can be ordered by birth month and day\n const birthData: {\n contact: CRMContact;\n birthMonth: number;\n birthDay: number;\n }[] = [];\n params.contacts.forEach((contact) => {\n if (contact.DateOfBirth) {\n const birthDate = new Date(contact.DateOfBirth);\n birthData.push({\n contact,\n birthMonth: birthDate.getMonth(),\n birthDay: birthDate.getDate(),\n });\n }\n });\n\n // Order the array by birth month an day\n const orderedBirthData = orderBy(birthData, ['birthMonth', 'birthDay']);\n\n // Return the array of contacts passed into the function\n // Now ordered by birth month and day\n const contactsToReturn: CRMContact[] = [];\n orderedBirthData.forEach((data) => {\n contactsToReturn.push(data.contact);\n });\n\n return contactsToReturn;\n};\n\nexport const getData = (params: { data: CRMContact[] }) => {\n return {\n // POLICY REVIEWS\n reviewMonth6: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.reviewMonth6)\n ),\n reviewMonth12: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.reviewMonth12)\n ),\n // CONVERSIONS\n conversionFOR: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.conversionFOR)\n ),\n conversionMOO: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.conversionMOO)\n ),\n conversionCFG: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.conversionCFG)\n ),\n // CHARGEBACKS\n chargebacks: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.chargeback)\n ),\n // BIRTHDAYS\n birthdayToday: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.birthdayToday)\n ),\n // Order Recent and Upcoming Birthdays by their day and month\n // Not taking into account the year the person was born\n birthdayRecent: orderByMonthAndDay({\n contacts: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.birthdayRecent)\n ),\n }),\n birthdayUpcoming: orderByMonthAndDay({\n contacts: params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.birthdayUpcoming)\n ),\n }),\n\n // MEDICARE\n medicareToday: orderBy(\n params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.medicareToday)\n ),\n 'DateOfBirth'\n ),\n medicareIn1: orderBy(\n params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.medicareIn1)\n ),\n 'DateOfBirth'\n ),\n medicareIn2: orderBy(\n params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.medicareIn2)\n ),\n 'DateOfBirth'\n ),\n medicareIn3: orderBy(\n params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.medicareIn3)\n ),\n 'DateOfBirth'\n ),\n medicareIn6: orderBy(\n params.data.filter((contact) =>\n contact.contactTags?.includes(contactTags.medicareIn6)\n ),\n 'DateOfBirth'\n ),\n\n // Mutual of Omaha Children's WL\n mooChildrensWL: params.data.filter((contact) => contact.MoOChildrensWL),\n\n // Foresters Children's WL\n forestersChildrensWL: params.data.filter(\n (contact) => contact.ForestersChildrensWL\n ),\n };\n};\n\nexport interface TodayTotals {\n todayCount: number;\n reviewCount: number;\n conversionCount: number;\n chargebackCount: number;\n birthdayCount: number;\n medicareCount: number;\n forestersCount: number;\n mooCount: number;\n}\n\nexport const getTodayTotals = (params: {\n data: CRMToday;\n showCompleted: boolean;\n}): TodayTotals => {\n const totals: TodayTotals = {\n todayCount: 0,\n reviewCount: 0,\n conversionCount: 0,\n chargebackCount: 0,\n birthdayCount: 0,\n medicareCount: 0,\n forestersCount: 0,\n mooCount: 0,\n };\n\n // Policy Reviews\n if (params.showCompleted) {\n // All\n totals.reviewCount = params.data.policyReviews.length;\n } else {\n // Uncompleted\n totals.reviewCount = params.data.policyReviews.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Conversions\n if (params.showCompleted) {\n // All\n totals.conversionCount = params.data.conversions.length;\n } else {\n // Uncompleted\n totals.conversionCount = params.data.conversions.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Chargebacks\n if (params.showCompleted) {\n // All\n totals.chargebackCount = params.data.chargebacks.length;\n } else {\n // Uncompleted\n totals.chargebackCount = params.data.chargebacks.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Medicare\n if (params.showCompleted) {\n // All\n totals.medicareCount = params.data.medicare.length;\n } else {\n // Uncompleted\n totals.medicareCount = params.data.medicare.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Birthday\n if (params.showCompleted) {\n // All\n totals.birthdayCount = params.data.birthdays.length;\n } else {\n // Uncompleted\n totals.birthdayCount = params.data.birthdays.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Childrens WL - Mutual of Omaha\n if (params.showCompleted) {\n // All\n totals.mooCount = params.data.moo_children_wl.length;\n } else {\n totals.mooCount = params.data.moo_children_wl?.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // Children's WL - Foresters\n if (params.showCompleted) {\n // All\n totals.forestersCount = params.data.foresters_children_wl.length;\n } else {\n totals.forestersCount = params.data.foresters_children_wl?.filter(\n (i) => !i.Completed\n ).length;\n }\n\n // The todayCount will be shown on the button that\n // is used to select the Today tab of the CRM\n totals.todayCount =\n totals.birthdayCount +\n totals.conversionCount +\n totals.chargebackCount +\n totals.medicareCount +\n totals.reviewCount +\n totals.mooCount +\n totals.forestersCount;\n\n return totals;\n};\n\nexport const getSubTotals = (params: {\n data: {\n reviewMonth6: CRMContact[];\n reviewMonth12: CRMContact[];\n conversionFOR: CRMContact[];\n conversionMOO: CRMContact[];\n conversionCFG: CRMContact[];\n birthdayToday: CRMContact[];\n birthdayRecent: CRMContact[];\n birthdayUpcoming: CRMContact[];\n medicareToday: CRMContact[];\n medicareIn1: CRMContact[];\n medicareIn2: CRMContact[];\n medicareIn3: CRMContact[];\n medicareIn6: CRMContact[];\n };\n showCompleted: boolean;\n}) => {\n // Params\n const { data, showCompleted } = params;\n\n const subTotals = {\n reviewMonth6: 0,\n reviewMonth12: 0,\n conversionFOR: 0,\n conversionMOO: 0,\n conversionCFG: 0,\n birthdayToday: 0,\n birthdayRecent: 0,\n birthdayUpcoming: 0,\n medicareToday: 0,\n medicareIn1: 0,\n medicareIn2: 0,\n medicareIn3: 0,\n medicareIn6: 0,\n };\n if (showCompleted) {\n // Subtotal All\n // reviewMonth6\n data.reviewMonth6.forEach((item) => {\n item.Reviews?.forEach((i) => {\n if (i.PolicyReview === '6mo') {\n subTotals.reviewMonth6++;\n }\n });\n });\n // reviewMonth12\n data.reviewMonth12.forEach((item) => {\n item.Reviews?.forEach((i) => {\n if (i.PolicyReview === '12mo') {\n subTotals.reviewMonth12++;\n }\n });\n });\n // conversionFOR\n data.conversionFOR.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (i.PolicyReview === 'Foresters Strong Foundation') {\n subTotals.conversionFOR++;\n }\n });\n });\n // conversionMOO\n data.conversionMOO.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (i.PolicyReview === 'Mutual of Omaha Term Life Express') {\n subTotals.conversionMOO++;\n }\n });\n });\n // conversionCFG\n data.conversionCFG.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (i.PolicyReview === 'CFG SafeShield') {\n subTotals.conversionCFG++;\n }\n });\n });\n // birthdayToday\n data.birthdayToday.forEach((i) => {\n subTotals.birthdayToday++;\n });\n // birthdayRecent\n data.birthdayRecent.forEach((i) => {\n subTotals.birthdayRecent++;\n });\n // birthdayUpcoming\n data.birthdayUpcoming.forEach((i) => {\n subTotals.birthdayUpcoming++;\n });\n // medicareToday\n data.medicareToday.forEach((i) => {\n subTotals.medicareToday++;\n });\n // medicareIn1\n data.medicareIn1.forEach((i) => {\n subTotals.medicareIn1++;\n });\n // medicareIn2\n data.medicareIn2.forEach((i) => {\n subTotals.medicareIn2++;\n });\n // medicareIn3\n data.medicareIn3.forEach((i) => {\n subTotals.medicareIn3++;\n });\n // medicareIn6\n data.medicareIn6.forEach((i) => {\n subTotals.medicareIn6++;\n });\n } else {\n // Subtotal Uncompleted\n // reviewMonth6\n data.reviewMonth6.forEach((item) => {\n item.Reviews?.forEach((i) => {\n if (i.PolicyReview === '6mo' && !i.Completed) {\n subTotals.reviewMonth6++;\n }\n });\n });\n // reviewMonth12\n data.reviewMonth12.forEach((item) => {\n item.Reviews?.forEach((i) => {\n if (i.PolicyReview === '12mo' && !i.Completed) {\n subTotals.reviewMonth12++;\n }\n });\n });\n // conversionFOR\n data.conversionFOR.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (i.PolicyReview === 'Foresters Strong Foundation' && !i.Completed) {\n subTotals.conversionFOR++;\n }\n });\n });\n // conversionMOO\n data.conversionMOO.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (\n i.PolicyReview === 'Mutual of Omaha Term Life Express' &&\n !i.Completed\n ) {\n subTotals.conversionMOO++;\n }\n });\n });\n // conversionCFG\n data.conversionCFG.forEach((item) => {\n item.Conversions?.forEach((i) => {\n if (i.PolicyReview === 'CFG SafeShield' && !i.Completed) {\n subTotals.conversionCFG++;\n }\n });\n });\n // birthdayToday\n data.birthdayToday.forEach((i) => {\n if (!i.Birthday?.Completed) {\n subTotals.birthdayToday++;\n }\n });\n // birthdayRecent\n data.birthdayRecent.forEach((i) => {\n if (!i.Birthday?.Completed) {\n subTotals.birthdayRecent++;\n }\n });\n // birthdayUpcoming\n data.birthdayUpcoming.forEach((i) => {\n if (!i.Birthday?.Completed) {\n subTotals.birthdayUpcoming++;\n }\n });\n // medicareToday\n data.medicareToday.forEach((i) => {\n if (!i.Medicare?.Completed) {\n subTotals.medicareToday++;\n }\n });\n // medicareIn1\n data.medicareIn1.forEach((i) => {\n if (!i.Medicare?.Completed) {\n subTotals.medicareIn1++;\n }\n });\n // medicareIn2\n data.medicareIn2.forEach((i) => {\n if (!i.Medicare?.Completed) {\n subTotals.medicareIn2++;\n }\n });\n // medicareIn3\n data.medicareIn3.forEach((i) => {\n if (!i.Medicare?.Completed) {\n subTotals.medicareIn3++;\n }\n });\n // medicareIn6\n data.medicareIn6.forEach((i) => {\n if (!i.Medicare?.Completed) {\n subTotals.medicareIn6++;\n }\n });\n }\n\n return subTotals;\n};\n","import orderBy from 'lodash/orderBy';\nimport { ARMToday, ARMTodayTask } from '../../../types';\n\nexport const orderByMonthAndDay = (params: {\n data: ARMTodayTask[];\n}): ARMTodayTask[] => {\n // Create an array that can be ordered by milestone month and day\n const milestoneData: {\n task: ARMTodayTask;\n milestoneMonth: number;\n milestoneDay: number;\n }[] = [];\n\n const milestones = orderBy(params.data, 'MilestoneDate', 'desc');\n\n milestones.forEach((task) => {\n // \"1988-08-29 00:00:00.000\" -> \"1988-08-29\"\n const MilestoneDate = task.MilestoneDate?.split(' ')[0];\n\n if (MilestoneDate) {\n const newMilestoneDate = new Date(MilestoneDate + 'T00:00');\n milestoneData.push({\n task,\n milestoneMonth: newMilestoneDate.getMonth(),\n milestoneDay: newMilestoneDate.getDate(),\n });\n }\n });\n\n // Order the array by birth month an day\n const orderedMilestoneData = orderBy(milestoneData, [\n 'milestoneMonth',\n 'milestoneDay',\n ]);\n\n // Return the array of tasks passed into the function\n // Now ordered by milestone month and day\n const milestonesToReturn: ARMTodayTask[] = [];\n orderedMilestoneData.forEach((item) => {\n milestonesToReturn.push(item.task);\n });\n\n return milestonesToReturn;\n};\n\nexport interface ARMTodayTotals {\n todayCount: number;\n FirstGLOBonusCount: number;\n FirstOverrideCount: number;\n FirstFastractedAgentCount: number;\n FirstARCDepositCount: number;\n DOBCount: number;\n}\n\nexport const getARMTodayTotals = (params: {\n data: ARMToday;\n showCompleted: boolean;\n}): ARMTodayTotals => {\n const totals: ARMTodayTotals = {\n todayCount: 0,\n FirstGLOBonusCount: 0,\n FirstOverrideCount: 0,\n FirstFastractedAgentCount: 0,\n FirstARCDepositCount: 0,\n DOBCount: 0,\n };\n\n if (params.showCompleted) {\n // All tasks\n\n // First GLO Bonus\n totals.FirstGLOBonusCount = params.data.FirstGLOBonus?.length || 0;\n\n // First Override\n totals.FirstOverrideCount = params.data.FirstOverride?.length || 0;\n\n // First Fastracted Agent\n totals.FirstFastractedAgentCount =\n params.data.FirstFastractedAgent?.length || 0;\n\n // First ARC Deposit\n totals.FirstARCDepositCount = params.data.FirstARCDeposit?.length || 0;\n\n // DOB\n totals.DOBCount = params.data.DOB?.length || 0;\n } else {\n // Uncompleted tasks\n\n // First GLO Bonus\n totals.FirstGLOBonusCount =\n params.data.FirstGLOBonus?.filter((i) => i.Completed === '0').length || 0;\n\n // First Override\n totals.FirstOverrideCount =\n params.data.FirstOverride?.filter((i) => i.Completed === '0').length || 0;\n\n // First Fastracted Agent\n totals.FirstFastractedAgentCount =\n params.data.FirstFastractedAgent?.filter((i) => i.Completed === '0')\n .length || 0;\n\n // First ARC Deposit\n totals.FirstARCDepositCount =\n params.data.FirstARCDeposit?.filter((i) => i.Completed === '0').length ||\n 0;\n\n // DOB\n totals.DOBCount =\n params.data.DOB?.filter((i) => i.Completed === '0').length || 0;\n }\n\n // The todayCount will be shown on the button that\n // is used to select the Today tab of the CRM\n totals.todayCount =\n totals.FirstGLOBonusCount +\n totals.FirstOverrideCount +\n totals.FirstFastractedAgentCount +\n totals.FirstARCDepositCount +\n totals.DOBCount;\n\n return totals;\n};\n","import { CognitoUser, CognitoUserSession } from 'amazon-cognito-identity-js';\nimport React, { Dispatch } from 'react';\nimport { BillingPermissionData } from '../types';\n\n// State\ntype AuthState = {\n user: CognitoUser | any;\n session: CognitoUserSession | undefined;\n isChecking: boolean;\n gettingPermissions: boolean;\n billingPermissions: BillingPermissionData[];\n tokenError: boolean;\n authorizeError:\n | 'none'\n | 'default'\n | 'pending'\n | 'inactive'\n | 'unauthorized'\n | 'terminated';\n status: { HasSignedICA: boolean; NPNVerified: boolean } | null;\n};\nconst initialState: AuthState = {\n user: undefined,\n session: undefined,\n isChecking: true,\n gettingPermissions: false,\n billingPermissions: [],\n tokenError: false,\n authorizeError: 'none',\n status: null,\n};\n\n// Actions\ntype AuthActions =\n | { type: 'USER_CLEAR' }\n | { type: 'TOKEN_ERROR' }\n | { type: 'USER_SET'; payload: CognitoUser }\n | { type: 'SESSION_SET'; payload: CognitoUserSession }\n | { type: 'SET_CHECKING'; payload: boolean }\n | { type: 'AUTHORIZE_ERROR'; payload: AuthState['authorizeError'] }\n | { type: 'SET_BILLING_GET'; payload: boolean }\n | { type: 'SET_BILLING_PERM'; payload: BillingPermissionData[] }\n | {\n type: 'SET_STATUS';\n payload: { HasSignedICA: boolean; NPNVerified: boolean } | null;\n };\n\nconst reducer = (state: AuthState, action: AuthActions) => {\n switch (action.type) {\n case 'USER_CLEAR': {\n return { ...state, user: undefined, session: undefined };\n }\n case 'TOKEN_ERROR': {\n return { ...state, tokenError: true };\n }\n case 'AUTHORIZE_ERROR': {\n return { ...state, authorizeError: action.payload };\n }\n case 'USER_SET': {\n return { ...state, user: action.payload };\n }\n case 'SESSION_SET': {\n return { ...state, session: action.payload };\n }\n case 'SET_CHECKING': {\n return { ...state, isChecking: action.payload };\n }\n case 'SET_BILLING_GET': {\n return { ...state, gettingPermissions: action.payload };\n }\n case 'SET_BILLING_PERM': {\n return {\n ...state,\n gettingPermissions: false,\n billingPermissions: action.payload,\n };\n }\n case 'SET_STATUS': {\n return { ...state, status: action.payload };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nexport const AuthContext = React.createContext(\n {} as {\n state: AuthState;\n dispatch: Dispatch;\n },\n);\n\nexport function AuthProvider(props: { children: React.ReactNode }) {\n const [state, dispatch] = React.useReducer(reducer, initialState);\n\n return (\n \n {props.children}\n \n );\n}\n","import { PopUpData } from '../../types';\n\n// Custom Pop Ups should have a \"PopupId\" of type 'string'\n// Custom Pop Ups will show up in Admin CMS, but will not be editable\nexport const customPopUps: PopUpData[] = [];\n","import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { animated, useSpring } from 'react-spring';\n\nconst useStyles = makeStyles({\n toTopButton: {\n backgroundColor: '#fff',\n cursor: 'pointer',\n height: 60,\n width: 60,\n borderRadius: 50,\n border: 'none',\n boxShadow: '0 5px 4px 0 rgba(0, 0, 0, .26)',\n position: 'fixed',\n left: 20,\n bottom: 20,\n zIndex: 4,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&:focus': {\n outline: 'none',\n },\n },\n});\n\nexport function BackToTop(props: {\n onClick: (event: React.MouseEvent) => void;\n}) {\n // Hooks\n const classes = useStyles();\n const values = useSpring({\n opacity: 1,\n transform: 'translate3d(0, 0, 0)',\n from: { opacity: 0, transform: 'translate3d(0, 10px, 0)' },\n });\n\n return (\n \n \n \n );\n}\n","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCollapse(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 64,\n height: 64,\n viewBox: \"0 0 64 64\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.9999 29.0001H51.5099C51.8195 28.9986 52.1246 28.9252 52.401 28.7857C52.6775 28.6461 52.9177 28.4443 53.1029 28.1962C53.2881 27.948 53.4131 27.6602 53.4681 27.3555C53.5231 27.0507 53.5066 26.7374 53.4199 26.4401C53.3268 26.1195 53.1549 25.8273 52.9199 25.5901L47.0999 19.7401L61.4199 5.41015C61.7938 5.03354 62.0029 4.5238 62.001 3.99308C61.9991 3.46235 61.7865 2.9541 61.4099 2.58015C61.0333 2.20619 60.5235 1.99716 59.9928 1.99904C59.4621 2.00091 58.9538 2.21354 58.5799 2.59015L44.2699 16.9101L38.4399 11.0801C38.1619 10.7917 37.8037 10.5934 37.4117 10.5108C37.0197 10.4283 36.6119 10.4655 36.2412 10.6174C35.8706 10.7693 35.5541 11.0291 35.3327 11.363C35.1114 11.6969 34.9954 12.0896 34.9999 12.4901V27.0001C34.9999 27.5306 35.2106 28.0393 35.5857 28.4144C35.9607 28.7894 36.4694 29.0001 36.9999 29.0001Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.5599 11.0801L19.7299 16.9101L5.4199 2.59015C5.23474 2.40367 5.01466 2.25549 4.77223 2.15407C4.5298 2.05264 4.26976 1.99996 4.00697 1.99904C3.47625 1.99716 2.96651 2.20619 2.5899 2.58015C2.2133 2.9541 2.00067 3.46235 1.99879 3.99308C1.99692 4.52381 2.20595 5.03354 2.5799 5.41015L16.8999 19.7401L11.0799 25.5601C10.7914 25.8381 10.5931 26.1963 10.5106 26.5883C10.4281 26.9804 10.4652 27.3881 10.6171 27.7588C10.7691 28.1295 11.0288 28.446 11.3627 28.6673C11.6966 28.8886 12.0893 29.0046 12.4899 29.0001H26.9999C27.5303 29.0001 28.039 28.7894 28.4141 28.4144C28.7892 28.0393 28.9999 27.5306 28.9999 27.0001V12.4901C29.0051 12.2995 28.9745 12.1096 28.9099 11.9301C28.8136 11.5939 28.6308 11.2889 28.3797 11.0454C28.1287 10.8019 27.8181 10.6285 27.4792 10.5425C27.1402 10.4565 26.7846 10.4609 26.4478 10.5552C26.111 10.6496 25.8049 10.8305 25.5599 11.0801V11.0801Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.1 44.2601L52.92 38.4401C53.2085 38.1621 53.4068 37.8039 53.4893 37.4119C53.5718 37.0199 53.5347 36.6122 53.3828 36.2415C53.2308 35.8708 52.9711 35.5543 52.6372 35.333C52.3033 35.1116 51.9106 34.9957 51.51 35.0001H37C36.4696 35.0001 35.9609 35.2108 35.5858 35.5859C35.2107 35.961 35 36.4697 35 37.0001V51.5101C35.0017 51.9045 35.1199 52.2895 35.3397 52.6169C35.5596 52.9442 35.8713 53.1993 36.2358 53.35C36.6002 53.5006 37.001 53.5402 37.3879 53.4638C37.7747 53.3873 38.1303 53.1981 38.41 52.9201L44.24 47.0901L58.58 61.4101C58.954 61.7867 59.4622 61.9994 59.9929 62.0012C60.5237 62.0031 61.0334 61.7941 61.41 61.4201C61.7866 61.0462 61.9992 60.5379 62.0011 60.0072C62.003 59.4765 61.794 58.9667 61.42 58.5901L47.1 44.2601Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.9999 35H12.4899C12.1803 35.0015 11.8752 35.075 11.5988 35.2145C11.3223 35.354 11.0821 35.5558 10.8969 35.804C10.7117 36.0522 10.5867 36.34 10.5317 36.6447C10.4767 36.9494 10.4932 37.2627 10.5799 37.56C10.673 37.8806 10.8449 38.1728 11.0799 38.41L16.8999 44.23L2.5799 58.59C2.20595 58.9666 1.99692 59.4763 1.99879 60.0071C2.00067 60.5378 2.2133 61.046 2.5899 61.42C2.96651 61.794 3.47625 62.003 4.00697 62.0011C4.5377 61.9992 5.04595 61.7866 5.4199 61.41L19.7299 47.09L25.5599 52.92C25.8379 53.2085 26.1961 53.4068 26.5881 53.4893C26.9801 53.5718 27.3879 53.5347 27.7586 53.3828C28.1292 53.2308 28.4457 52.9711 28.6671 52.6372C28.8884 52.3033 29.0043 51.9106 28.9999 51.51V37C28.9999 36.4696 28.7892 35.9609 28.4141 35.5858C28.039 35.2107 27.5303 35 26.9999 35Z\",\n fill: \"black\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCollapse);\nexport default __webpack_public_path__ + \"static/media/collapse.1937aeda.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgExpand(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"92px\",\n height: \"92px\",\n viewBox: \"0 0 92 92\",\n enableBackground: \"new 0 0 92 92\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"XMLID_1120_\",\n d: \"M90,6l0,20c0,2.2-1.8,4-4,4l0,0c-2.2,0-4-1.8-4-4V15.7L58.8,38.9c-0.8,0.8-1.8,1.2-2.8,1.2 c-1,0-2-0.4-2.8-1.2c-1.6-1.6-1.6-4.1,0-5.7L76.3,10H66c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4h20c1.1,0,2.1,0.4,2.8,1.2 C89.6,3.9,90,4.9,90,6z M86,62c-2.2,0-4,1.8-4,4v10.3L59.2,53.7c-1.6-1.6-4.2-1.6-5.8,0c-1.6,1.6-1.6,4.1-0.1,5.7L75.9,82H65.6 c0,0,0,0,0,0c-2.2,0-4,1.8-4,4s1.8,4,4,4l20,0l0,0c1.1,0,2.3-0.4,3-1.2c0.8-0.8,1.4-1.8,1.4-2.8V66C90,63.8,88.2,62,86,62z M32.8,53.5L10,76.3V66c0-2.2-1.8-4-4-4h0c-2.2,0-4,1.8-4,4l0,20c0,1.1,0.4,2.1,1.2,2.8C4,89.6,5,90,6.1,90h20c2.2,0,4-1.8,4-4 c0-2.2-1.8-4-4-4H15.7l22.8-22.8c1.6-1.6,1.5-4.1,0-5.7C37,51.9,34.4,51.9,32.8,53.5z M15.7,10.4l10.3,0h0c2.2,0,4-1.8,4-4 s-1.8-4-4-4l-20,0h0c-1.1,0-2.1,0.4-2.8,1.2C2.4,4.3,2,5.3,2,6.4l0,20c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4V16l23.1,23.1 c0.8,0.8,1.8,1.2,2.8,1.2c1,0,2-0.4,2.8-1.2c1.6-1.6,1.6-4.1,0-5.7L15.7,10.4z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExpand);\nexport default __webpack_public_path__ + \"static/media/expand.08ce7b82.svg\";\nexport { ForwardRef as ReactComponent };","import RoomIcon from '@mui/icons-material/Room';\nimport Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { InfoWindow, Marker } from '@react-google-maps/api';\nimport format from 'date-fns/format';\nimport React from 'react';\nimport HotspotIcon from '../../../assets/hotspot.svg';\nimport { DisplayMarkup } from '../../../components/display-markup';\n\nexport interface HotspotData {\n MeetingId: number;\n HostName: string | null;\n HostImage: string | null;\n Location: string | null;\n Description: string | null;\n DateTime: string | null;\n Latitude: number | null;\n Longitude: number | null;\n}\n\nconst useStyles = makeStyles({\n link: {\n marginTop: 6,\n padding: 6,\n display: 'flex',\n alignItems: 'center',\n color: '#4a4a4a',\n textDecorationLine: 'none',\n border: '1px solid #eee',\n borderRadius: 6,\n transition: 'all 0.2s',\n '&:hover': {\n color: '#2a2a2a',\n border: '1px solid #2979ff',\n backgroundColor: '#2979ff11',\n },\n },\n});\n\nexport function MapHotspot(props: { meeting: HotspotData }) {\n // Props\n const { meeting } = props;\n // State\n const [open, setOpen] = React.useState(false);\n // Hooks\n const classes = useStyles();\n\n // Googls Maps URL with address query\n const mapsURL = `https://www.google.com/maps/search/?api=1&query=${meeting.Latitude},${meeting.Longitude}`;\n\n if (meeting.Latitude && meeting.Longitude) {\n return (\n setOpen((currentState) => !currentState)}\n >\n {open && (\n setOpen(false)}\n >\n \n \n \n \n Hotspot meeting\n \n \n \n\n {meeting.DateTime ? (\n \n {format(new Date(meeting.DateTime), \"EEEE, MMMM do 'at' pp\")}\n \n ) : null}\n\n \n {meeting.HostImage ? (\n \n ) : null}\n\n \n \n {meeting.HostName}\n \n at {meeting.Location}\n \n \n\n \n \n \n\n \n \n\n Open in Google Maps\n \n \n \n )}\n \n );\n } else {\n return null;\n }\n}\n","export default __webpack_public_path__ + \"static/media/hotspot.07aa0959.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shaker\":\"speedometer_shaker__hI_ig\",\"shake\":\"speedometer_shake__3HCpu\"};","import React, { Dispatch } from 'react';\nimport { AgentSelect, NotificationAction, NotificationText } from '../types';\n\n// State\ntype AppState = {\n drawerOpen: boolean;\n notificationsOpen: boolean;\n notificationsData: {\n texts: NotificationText[];\n actions: NotificationAction[];\n };\n impersonatedAgent: AgentSelect | null;\n};\nconst initialState: AppState = {\n drawerOpen: false,\n notificationsOpen: false,\n notificationsData: {\n texts: [],\n actions: [],\n },\n impersonatedAgent: null,\n};\n\n// Actions\ntype AppActions =\n | { type: 'TOGGLE_DRAWER' }\n | { type: 'DRAWER_CLOSE' }\n | { type: 'TOGGLE_NOTIFICATIONS_DRAWER' }\n | {\n type: 'SET_NOTIFICATIONS_DATA';\n payload: {\n texts: NotificationText[];\n actions: NotificationAction[];\n };\n }\n | { type: 'IMPERSONATE_AGENT'; payload: AgentSelect | null };\n\nconst reducer = (state: AppState, action: AppActions) => {\n switch (action.type) {\n case 'TOGGLE_DRAWER': {\n return { ...state, drawerOpen: !state.drawerOpen };\n }\n case 'DRAWER_CLOSE': {\n return { ...state, drawerOpen: false };\n }\n case 'TOGGLE_NOTIFICATIONS_DRAWER': {\n return { ...state, notificationsOpen: !state.notificationsOpen };\n }\n case 'SET_NOTIFICATIONS_DATA': {\n return { ...state, notificationsData: action.payload };\n }\n case 'IMPERSONATE_AGENT': {\n return { ...state, impersonatedAgent: action.payload };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nexport const AppContext = React.createContext(\n {} as {\n state: AppState;\n dispatch: Dispatch;\n }\n);\n\nexport function AppProvider(props: { children: React.ReactNode }) {\n const [state, dispatch] = React.useReducer(reducer, initialState);\n\n return (\n \n {props.children}\n \n );\n}\n","import addDays from 'date-fns/addDays';\nimport addMonths from 'date-fns/addMonths';\nimport addYears from 'date-fns/addYears';\nimport isSameDay from 'date-fns/isSameDay';\nimport isWithinInterval from 'date-fns/isWithinInterval';\nimport orderBy from 'lodash/orderBy';\nimport { CRMContact, CRMToday } from '../../../types';\n\n// Birthday is today\nexport function isBirthdayToday(params: { dateOfBirth: string }): boolean {\n const date = new Date();\n const dateBirth = new Date(params.dateOfBirth);\n\n const isDaySame = date.getDate() === dateBirth.getDate();\n const isMonthSame = date.getMonth() === dateBirth.getMonth();\n\n if (isDaySame && isMonthSame) {\n return true;\n } else {\n return false;\n }\n}\n\n// Birthday has been in the past\nexport function isBirthdayRecent(params: { dateOfBirth: string }): boolean {\n const date = new Date();\n const dateBirth = new Date(params.dateOfBirth);\n // This is the contact's birthday in the current year\n const birthday = new Date(\n date.getFullYear(),\n dateBirth.getMonth(),\n dateBirth.getDate()\n );\n // Using only the current year for birthdays\n // causes issues around new years\n const birthdayLast = addYears(birthday, -1);\n const birthdayNext = addYears(birthday, 1);\n\n // Last 30 days\n const recent = (checkDate: Date) =>\n isWithinInterval(checkDate, {\n start: addDays(date, -30),\n end: date,\n });\n\n if (recent(birthday) || recent(birthdayLast) || recent(birthdayNext)) {\n return true;\n } else {\n return false;\n }\n}\n\n// Birthday will be upcoming\nexport function isBirthdayUpcoming(params: { dateOfBirth: string }): boolean {\n const date = new Date();\n const dateBirth = new Date(params.dateOfBirth);\n // This is the contact's birthday in the current year\n const birthday = new Date(\n date.getFullYear(),\n dateBirth.getMonth(),\n dateBirth.getDate()\n );\n // Using only the current year for birthdays\n // causes issues around new years\n const birthdayLast = addYears(birthday, -1);\n const birthdayNext = addYears(birthday, 1);\n\n // Next 30 days\n const upcoming = (checkDate: Date) =>\n isWithinInterval(checkDate, {\n start: date,\n end: addDays(date, 30),\n });\n\n if (upcoming(birthday) || upcoming(birthdayLast) || upcoming(birthdayNext)) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction is65Today(params: { dateOfBirth: string }): boolean {\n const date = new Date();\n const dateBirth = new Date(params.dateOfBirth);\n // This is the day this contact will turn 65\n const birthday65th = new Date(\n addYears(dateBirth, 65).getFullYear(),\n dateBirth.getMonth(),\n dateBirth.getDate()\n );\n\n if (isSameDay(date, birthday65th)) {\n return true;\n } else {\n return false;\n }\n}\n\n// Example: is65InMonthsOrLess({ dateOfBirth: contact.DateOfBirth, months: 6 })\n// The above example checks to see if a contact will be\n// turning 65 in 6 months or less\nfunction is65InMonthsOrLess(params: {\n dateOfBirth: string;\n months: number;\n}): boolean {\n const date = new Date();\n const dateBirth = new Date(params.dateOfBirth);\n // This is the day this contact will turn 65\n const birthday65th = new Date(\n addYears(dateBirth, 65).getFullYear(),\n dateBirth.getMonth(),\n dateBirth.getDate()\n );\n\n if (\n isWithinInterval(birthday65th, {\n start: date,\n end: addMonths(date, params.months),\n })\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nexport const contactTags = {\n reviewMonth6: '6 Mo Review',\n reviewMonth12: '12 Mo Review',\n conversionFOR: 'Conversion (FOR)',\n conversionMOO: 'Conversion (MOO)',\n conversionCFG: 'Conversion (CFG)',\n chargeback: 'Chargeback',\n birthdayToday: 'Birthday (Today)',\n birthdayRecent: 'Birthday (Recent)',\n birthdayUpcoming: 'Birthday (Upcoming)',\n medicareToday: 'Med Sup (65 Today)',\n medicareIn1: 'Med Sup (65 < 1 Mo)',\n medicareIn2: 'Med Sup (65 < 2 Mo)',\n medicareIn3: 'Med Sup (65 < 3 Mo)',\n medicareIn6: 'Med Sup (65 < 6 Mo)',\n};\n\nexport function formatContacts(params: {\n contacts: CRMContact[];\n data: CRMToday;\n}): CRMContact[] {\n const formattedContacts: CRMContact[] = [];\n\n const contacts = orderBy(params.contacts, 'LastName');\n\n contacts.forEach((contact) => {\n // Parse Carriers\n if (contact.Carriers) {\n contact.carriers = contact.Carriers.split(',');\n } else {\n contact.carriers = [];\n }\n\n // Parse Tags\n if (contact.Tags) {\n contact.tags = contact.Tags.split(',');\n } else {\n contact.tags = [];\n }\n\n // Tags for Policy Reviews and Conversions will be added here\n contact.contactTags = [];\n\n // Medicare Review\n contact.Medicare = null;\n params.data.medicare.forEach((item) => {\n const { ContactId } = item;\n if (contact.ContactId === ContactId.toString()) {\n // Add Medicare for Review\n contact.Medicare = item;\n\n // Add Tags for Medicare\n if (is65Today({ dateOfBirth: item.DateOfBirth + 'T00:00' })) {\n // Today is the 65th birthday of this contact\n contact.contactTags?.push(contactTags.medicareToday);\n } else if (\n is65InMonthsOrLess({\n dateOfBirth: item.DateOfBirth + 'T00:00',\n months: 1,\n })\n ) {\n // This contact will be 65 in 1 month or less\n contact.contactTags?.push(contactTags.medicareIn1);\n } else if (\n is65InMonthsOrLess({\n dateOfBirth: item.DateOfBirth + 'T00:00',\n months: 2,\n })\n ) {\n // This contact will be 65 in 2 months or less\n contact.contactTags?.push(contactTags.medicareIn2);\n } else if (\n is65InMonthsOrLess({\n dateOfBirth: item.DateOfBirth + 'T00:00',\n months: 3,\n })\n ) {\n // This contact will be 65 in 3 months or less\n contact.contactTags?.push(contactTags.medicareIn3);\n } else {\n // This contact will be 65 in 6 months or less\n contact.contactTags?.push(contactTags.medicareIn6);\n }\n }\n });\n\n // Birthday Review\n contact.Birthday = null;\n params.data.birthdays.forEach((item) => {\n const { ContactId } = item;\n if (contact.ContactId === ContactId.toString()) {\n // Add Birthday for Review\n contact.Birthday = item;\n\n // Add Tags for Birthday\n if (isBirthdayToday({ dateOfBirth: item.DateOfBirth + 'T00:00' })) {\n // Birthday is today\n contact.contactTags?.push(contactTags.birthdayToday);\n } else if (\n isBirthdayRecent({ dateOfBirth: item.DateOfBirth + 'T00:00' })\n ) {\n // Birthday has been in the past\n contact.contactTags?.push(contactTags.birthdayRecent);\n } else if (\n isBirthdayUpcoming({ dateOfBirth: item.DateOfBirth + 'T00:00' })\n ) {\n // Birthday will be upcoming\n contact.contactTags?.push(contactTags.birthdayUpcoming);\n }\n }\n });\n\n // Policy Reviews\n contact.Reviews = [];\n params.data.policyReviews.forEach((item) => {\n const { ContactId, PolicyReview } = item;\n if (contact.ContactId === ContactId.toString()) {\n if (PolicyReview === '6mo') {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.reviewMonth6)) {\n // Add tag\n contact.contactTags?.push(contactTags.reviewMonth6);\n }\n } else if (PolicyReview === '12mo') {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.reviewMonth12)) {\n // Add tag\n contact.contactTags?.push(contactTags.reviewMonth12);\n }\n }\n\n // Add Review\n contact.Reviews?.push(item);\n }\n });\n\n // Conversions\n contact.Conversions = [];\n params.data.conversions.forEach((item) => {\n const { ContactId, PolicyReview } = item;\n if (contact.ContactId === ContactId.toString()) {\n if (PolicyReview === 'CFG SafeShield') {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.conversionCFG)) {\n // Add tag\n contact.contactTags?.push(contactTags.conversionCFG);\n }\n // If this carrier hasn't already been added\n if (!contact.carriers?.includes('CFG')) {\n // Add carrier\n contact.carriers?.push('CFG');\n }\n } else if (PolicyReview === 'Foresters Strong Foundation') {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.conversionFOR)) {\n // Add tag\n contact.contactTags?.push(contactTags.conversionFOR);\n }\n // If this carrier hasn't already been added\n if (!contact.carriers?.includes('FOR')) {\n // Add carrier\n contact.carriers?.push('FOR');\n }\n } else if (PolicyReview === 'Mutual of Omaha Term Life Express') {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.conversionMOO)) {\n // Add tag\n contact.contactTags?.push(contactTags.conversionMOO);\n }\n // If this carrier hasn't already been added\n if (!contact.carriers?.includes('MOO')) {\n // Add carrier\n contact.carriers?.push('MOO');\n }\n }\n\n // Add Conversion\n contact.Conversions?.push(item);\n }\n });\n\n // Mutual of Omaha Children's Whole Life\n contact.MoOChildrensWL = null;\n params.data.moo_children_wl.forEach((item) => {\n const { ContactId } = item;\n if (contact.ContactId === ContactId.toString()) {\n contact.MoOChildrensWL = item;\n }\n });\n\n // Foresters Children's Whole Life\n contact.ForestersChildrensWL = null;\n params.data.foresters_children_wl.forEach((item) => {\n const { ContactId } = item;\n if (contact.ContactId === ContactId.toString()) {\n contact.ForestersChildrensWL = item;\n }\n });\n\n // Chargebacks\n contact.Chargebacks = [];\n params.data.chargebacks.forEach((item) => {\n const { ContactId } = item;\n if (contact.ContactId === ContactId.toString()) {\n // If this tag hasn't already been added\n if (!contact.contactTags?.includes(contactTags.chargeback)) {\n // Add tag\n contact.contactTags?.push(contactTags.chargeback);\n }\n\n // Add Chargeback\n contact.Chargebacks?.push(item);\n }\n });\n\n formattedContacts.push(contact);\n });\n\n return formattedContacts;\n}\n","import Amplify, { Auth } from 'aws-amplify';\n\nAmplify.configure({\n Auth: {\n // Amazon Cognito Region\n region: 'us-east-1',\n // Amazon Cognito User Pool ID\n userPoolId: process.env.REACT_APP_AWS_POOL_ID,\n // Amazon Cognito Web Client ID\n userPoolWebClientId: process.env.REACT_APP_AWS_CLIENT_ID,\n // Enforce user authentication prior to accessing AWS resources or not\n mandatorySignIn: true,\n // Hosted UI configuration\n oauth: {\n domain: process.env.REACT_APP_AWS_DOMAIN,\n scope: [\n 'phone',\n 'email',\n 'profile',\n 'openid',\n 'aws.cognito.signin.user.admin',\n ],\n redirectSignIn: process.env.REACT_APP_AWS_REDIRECT_SIGN_IN,\n redirectSignOut: process.env.REACT_APP_AWS_REDIRECT_SIGN_OUT,\n // note that REFRESH token will only be generated when the responseType is code\n responseType: 'code',\n },\n },\n API: {\n endpoints: [\n {\n name: 'DashboardAPI',\n endpoint: process.env.REACT_APP_DASHBOARD_API_URL,\n custom_header: async () => {\n // Alternatively, with Cognito User Pools use this:\n const Authorization = (await Auth.currentSession())\n .getAccessToken()\n .getJwtToken();\n return { Authorization };\n },\n },\n {\n name: 'ContractingAPI',\n endpoint: process.env.REACT_APP_CONTRACTING_API_URL,\n custom_header: async () => {\n const Authorization = (await Auth.currentSession())\n .getAccessToken()\n .getJwtToken();\n return { Authorization };\n },\n },\n {\n name: 'EventsAPI',\n endpoint: process.env.REACT_APP_EVENTS_API_URL,\n custom_header: async () => {\n try {\n // If the user is logged in add Authorization token to the request\n const Authorization = (await Auth.currentSession())\n .getAccessToken()\n .getJwtToken();\n return { Authorization };\n } catch (error) {\n // The user is not logged in\n return;\n }\n },\n },\n {\n name: 'BillingAPI',\n endpoint: process.env.REACT_APP_BILLING_API_URL,\n custom_header: async () => {\n // Alternatively, with Cognito User Pools use this:\n const Authorization = (await Auth.currentSession())\n .getAccessToken()\n .getJwtToken();\n return { Authorization };\n },\n },\n {\n name: 'LeadsAPI',\n endpoint: process.env.REACT_APP_LEADS_API_URL,\n custom_header: async () => {\n // Alternatively, with Cognito User Pools use this:\n const Authorization = (await Auth.currentSession())\n .getAccessToken()\n .getJwtToken();\n return { Authorization };\n },\n },\n {\n name: 'GeoLeadsAPI',\n endpoint: process.env.REACT_APP_GEOLEADS_API_URL,\n },\n ],\n },\n});\n","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArcLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 26.224987,\n width: 110.12966,\n viewBox: \"0 0 36.19878 8.5566322\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 28.944298,2.1308739 0.0136,-0.01238 a 3.157875,3.157875 0 0 1 0.9585,-0.5917501 3.61125,3.61125 0 0 1 1.35,-0.225 h 4.275 v -1.057492 h -4.275 a 4.989375,4.989375 0 0 0 -1.767376,0.2835 3.871125,3.871125 0 0 0 -1.270124,0.78075 4.113,4.113 0 0 0 -0.96525,1.3331251 3.9645,3.9645 0 0 0 -0.34425,1.6503748 3.9375,3.9375 0 0 0 2.404124,3.6899998 4.798125,4.798125 0 0 0 1.938376,0.3555 h 4.275 v -1.042878 h -4.275 a 3.655125,3.655125 0 0 1 -1.434376,-0.257628 2.925,2.925 0 0 1 -1.029374,-0.71325 2.8755,2.8755 0 0 1 -0.585,-0.91575 3.00375,3.00375 0 0 1 0.04728,-2.3107496 3.083625,3.083625 0 0 1 0.684,-0.966375 z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 19.874548,-0.0145012 a 3.9915,3.9915 0 0 0 -2.725875,1.035 4.062375,4.062375 0 0 0 -0.964125,1.3691251 4.811625,4.811625 0 0 0 -0.3555,1.9394998 v 4.2749998 h 1.042875 V 4.3291237 a 3.68325,3.68325 0 0 1 0.259872,-1.4366248 2.946375,2.946375 0 0 1 0.71325,-1.0293751 2.894625,2.894625 0 0 1 0.91575,-0.585 2.968875,2.968875 0 0 1 1.1025,-0.208125 2.925,2.925 0 0 1 1.206,0.2565 3.115125,3.115125 0 0 1 0.665999,0.405 l 0.775126,-0.775125 a 4.102875,4.102875 0 0 0 -0.986626,-0.626625 3.9555,3.9555 0 0 0 -1.649246,-0.34425 z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 8.3432972,1.2916238 a 4.093875,4.093875 0 0 0 -1.3365,-0.961875 3.947625,3.947625 0 0 0 -1.648125,-0.345375 4.0005,4.0005 0 0 0 -2.727,1.036125 4.08375,4.08375 0 0 0 -0.9641249,1.3680001 4.818375,4.818375 0 0 0 -0.351,1.9406248 v 4.2749998 h 1.0428749 v -2.617875 h 4.95 v -1.042875 h -4.95 V 4.3291237 a 3.68325,3.68325 0 0 1 0.259872,-1.4366248 2.97225,2.97225 0 0 1 0.71325,-1.0293751 2.87775,2.87775 0 0 1 0.91575,-0.583875 2.993625,2.993625 0 0 1 2.311875,0.04725 3.090375,3.090375 0 0 1 0.966375,0.6750001 l 0.01236,0.0135 a 3.15,3.15 0 0 1 0.592872,0.964125 3.6,3.6 0 0 1 0.225,1.3499998 v 4.2749998 h 1.0575 V 4.3291237 A 4.95675,4.95675 0 0 0 9.1296722,2.5628739 3.862125,3.862125 0 0 0 8.3432972,1.2916238 Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArcLogo);\nexport default __webpack_public_path__ + \"static/media/arc-logo.468121d3.svg\";\nexport { ForwardRef as ReactComponent };","import ExpandLess from '@mui/icons-material/ExpandLess';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport Collapse from '@mui/material/Collapse';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { AuthContext } from '../../contexts/auth-context';\nimport { usePermissions } from '../../hooks/use-permissions';\nimport { AWS_GROUP } from '../../types';\nimport { NavDataLink } from './nav-data';\n\nconst useStyles = makeStyles({\n listItemText: {\n marginLeft: 10,\n marginRight: 10,\n },\n});\n\n// Material-UI needs to be able to Forward the Ref to the List Items when they are located in another file\n// https://material-ui.com/guides/composition/#caveat-with-refs\nexport const NavSectionLink = React.forwardRef(\n (props: { item: NavDataLink }, ref: React.Ref | undefined) => {\n // Props\n const { item } = props;\n // Context\n const { state } = React.useContext(AuthContext);\n // State\n const [show, setShow] = React.useState(false);\n // Hooks\n const classes = useStyles();\n const { checkPermissions, checkBillingAccess, hasGroup } = usePermissions();\n\n // Without stopping thr propagation of the 'tab'\n // the menu will close instead of focusing on the next link\n const stopPropagationForTab = (\n event: React.KeyboardEvent,\n ) => {\n if (event.key === 'Tab') {\n event.stopPropagation();\n }\n };\n\n let canView = true;\n if (item.hasGroup && item.hasGroup === AWS_GROUP.ARC_BillingSystem) {\n // Check that the Billing User has the necessary group and some permissions have been set\n const hasPermissions: boolean = Boolean(state.billingPermissions.length);\n canView = hasGroup(item.hasGroup) && hasPermissions;\n } else if (item.hasGroup) {\n // User must have this specific group to view link\n canView = hasGroup(item.hasGroup);\n } else if (item.permissions) {\n // User must have one of the permissions\n canView = checkPermissions(item.permissions);\n }\n\n let hideFromBilling = false;\n if (item.name && item.access) {\n // Only Billing Navigation items with name and access will be hidden and checked\n hideFromBilling = !checkBillingAccess(item.name, item.access);\n }\n\n if (!hideFromBilling && item.children && canView) {\n return (\n \n setShow((currentState) => !currentState)}\n onKeyDown={stopPropagationForTab}\n >\n {item.startIcon || null}\n \n {show ? : }\n \n\n \n \n {item.children.map((link) => (\n \n ))}\n \n \n \n );\n } else if (!hideFromBilling && item.to && canView) {\n return (\n ) => {\n if (event.key === 'Tab') {\n event.stopPropagation();\n }\n }}\n >\n {item.startIcon || null}\n \n \n );\n } else if (!hideFromBilling && item.href && canView) {\n return (\n \n {item.startIcon || null}\n \n \n );\n } else {\n return null;\n }\n },\n);\n","import { ExpandLess, ExpandMore } from '@mui/icons-material';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport Collapse from '@mui/material/Collapse';\nimport IconButton from '@mui/material/IconButton';\nimport List from '@mui/material/List';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Menu from '@mui/material/Menu';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { AppContext } from '../../contexts/app-context';\nimport { usePermissions } from '../../hooks/use-permissions';\nimport { NavDataSection } from './nav-data';\nimport { NavSectionLink } from './nav-section-link';\n\nconst useStyles = makeStyles({\n navButton: {\n padding: 4,\n borderRadius: 2,\n marginLeft: 10,\n marginRight: 10,\n },\n menuPaper: {\n top: '48px !important',\n },\n});\n\nexport function NavSection(props: {\n item: NavDataSection;\n isMobile?: boolean;\n}) {\n // Props\n const { item } = props;\n // Context\n const { state } = React.useContext(AppContext);\n // State\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [closed, setClosed] = React.useState([]);\n // Hooks\n const classes = useStyles();\n const { checkPermissions, checkBillingAccess, hasGroup } = usePermissions();\n\n React.useEffect(() => {\n if (!state.drawerOpen) {\n setAnchorEl(null);\n }\n }, [state]);\n\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n let canView = true;\n if (item.hasGroup) {\n // User must have this specific group to view link\n canView = hasGroup(item.hasGroup);\n } else if (item.permissions) {\n // User must have one of the permissions\n canView = checkPermissions(item.permissions);\n }\n\n let hideFromBilling = false;\n if (item.name && item.access) {\n // Only Billing Navigation items with name and access will be hidden and checked\n hideFromBilling = !checkBillingAccess(item.name, item.access);\n }\n\n const menuId = item.title.trim().replace(/\\s/g, '').toLowerCase() + '-menu';\n\n if (!hideFromBilling && props.isMobile && canView) {\n return (\n \n {item.title}{' '}\n {\n if (closed.includes(menuId)) {\n setClosed(closed.filter((i) => i !== menuId));\n } else {\n setClosed([...closed, menuId]);\n }\n }}\n >\n {closed.includes(menuId) ? (\n \n ) : (\n \n )}\n \n \n }\n >\n \n {item.links.map((link) => (\n \n ))}\n \n \n );\n } else if (!hideFromBilling && canView) {\n return (\n
\n \n {item.title}\n \n \n\n \n {item.links.map((link) => (\n \n ))}\n \n
\n );\n } else {\n return null;\n }\n}\n","import AccountCircleIcon from '@mui/icons-material/AccountCircle';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport NotificationsIcon from '@mui/icons-material/Notifications';\nimport NotificationsNoneIcon from '@mui/icons-material/NotificationsNone';\nimport AppBar from '@mui/material/AppBar';\nimport Badge from '@mui/material/Badge';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport Toolbar from '@mui/material/Toolbar';\nimport { grey } from '@mui/material/colors';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { ReactComponent as ARCLogo } from '../../assets/arc-logo.svg';\nimport { AppContext } from '../../contexts/app-context';\nimport { AuthContext } from '../../contexts/auth-context';\nimport { NavDataSection } from './nav-data';\nimport { NavSection } from './nav-section';\n\nconst useStyles = makeStyles({\n navSections: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport function NavBar(props: { data: NavDataSection[] }) {\n // Context\n const {\n dispatch,\n state: { notificationsData },\n } = React.useContext(AppContext);\n const { state } = React.useContext(AuthContext);\n // Hooks\n const width = useWindowWidth();\n const classes = useStyles();\n\n const isDesktop = width > 1024;\n\n // Unread Texts\n const unreadTexts = notificationsData.texts.filter((i) => !i.MsgRead);\n // Unread Actions\n const unreadActions = notificationsData.actions.filter((i) => i.Read === '0');\n // Unread Notifications\n const unreadNotifications = unreadActions.length + unreadTexts.length;\n\n const notificationsButton = (\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' })}\n size=\"large\"\n >\n \n {unreadNotifications > 0 ? (\n \n ) : (\n \n )}\n \n \n );\n\n return (\n \n \n \n \n \n\n {isDesktop ? (\n
\n {props.data.map((item) => {\n return ;\n })}\n
\n ) : (\n
\n )}\n\n {isDesktop ? (\n }\n >\n {state.user.username}\n \n ) : (\n dispatch({ type: 'TOGGLE_DRAWER' })}\n size=\"large\"\n >\n \n \n )}\n\n {notificationsButton}\n \n \n );\n}\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgElephantWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"800px\",\n height: \"800px\",\n viewBox: \"0 0 512 512\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#ffffff\",\n d: \"M236.422 98.393c-126.642-1.276-206.07 46.77-212.058 83.93-2.977 41.18-4.165 83.628-4.016 124.617l4.31 3.796c3.963-15.315 6.47-31.843 14.122-44.085 1.3 27.18 5.068 58.562 11.369 82.067-2.477 24.988-2.118 47.99-3.436 72.978 21.158 12.726 60.485 10.65 67.541 1.986 2.936-20.695 4.981-42.58 3.973-68.535l7.592-35.355c6.418-14.587 25.29-17.243 23.406-31.799l17.828-2.467c.355 25.196-14.375 27.1-24.713 41.653 12.994 5.357 14.676 3.886 24.059 5.124 23.848 2.742 45.234 3.774 67.802-8.175l-3.101-17.541 17.723-3.135 3.064 17.328c4.22 14.097 11.996 104.392 18.559 108.361 13.411 6.417 53.823 6.417 55.472-5.312 1.647-45.786 3.861-90.1-5.07-133.242 3.702-4.1 7.34-8.112 10.928-12.096-20.178-10.157-44.214-25.838-57.62-41.797-9.037-17.21-13.75-38.688-17.304-56.256-2.546-12.943-4.3-26.074-3.81-37.486.244-5.706 1.003-11.018 2.982-15.938 19.848-20.186 56.606-35.68 79.58-46.503-33.273-7.269-71.55 7.386-99.182 17.882zm128.934-9.931c-29.757 10.977-72.215 22.174-92.633 45.267-.807 2.008-1.51 5.563-1.7 9.994-.38 8.863 1.097 21.093 3.487 33.243 2.39 12.15 5.644 24.32 8.53 33.642 1.442 4.662 2.797 8.624 3.865 11.44 15.216 22.215 45.646 39.625 67.966 44.959l14.495-28.713c-11.574-15.04-13.779-35.226-4.59-50.352 4.932-6.143 9.727-10.553 16.982-10.416 4.545.109 9.194 1.996 12.856 5.045 25.905 21.572 49.481 48.69 83.37 70.66-.136-6.626-.26-12.94-.243-18.761.026-9.03-18.924-97.759-50.614-139.553-22.918-5.83-40.343-9.14-61.771-6.455zm68.883 76.232c4.327-.07 8.421.563 11.857 2.319.061 4.922-.298 10.035-10.887 16.152-4.501-4.72-11.239-10.838-17.908-15.627 5.427-1.506 11.374-2.754 16.938-2.844zm-54.233 32.838c-2.263 3.593-3.912 11.657-2.703 17.531 1.402 6.812 9.062 16.901 21.55 26.47 12.49 9.567 29.242 18.77 46.753 26.087 15.609 6.522 31.748 11.435 46.058 14.19-49.78-25.118-79.482-61.19-108.566-85.409-1.548-1.595-2.387.034-3.092 1.131zm58.914 86.797c.526 23.427-2.416 50.265-17.086 59.894-11.128 7.306-33.235 1.34-38.41-10.925-3.657-8.667 15.567-15.677 13.408-24.832-1.718-7.287-11.033-14.374-18.375-12.912-17.881 3.558-34.905 28.836-29.3 46.185 10.14 31.387 62.177 51.105 91.875 36.75 27.49-13.288 35.058-46.714 36.808-81.19-12.704-3.13-25.983-7.579-38.92-12.97zm-200.681 52.52a129.415 129.415 0 0 1-9.993 4.34l-8.67 77.603c1.22 8.802 15.819 12.647 30.385 12.81zm-100.65 4.519c-1.341 10.733-2.367 21.785-3.073 30.953-1.545 20.225-2.483 41.562-2.496 51.49 18.869 11.927 54.798 4.533 53.105-2.005-.656-27.278-6.002-49.806-12.58-73.717-11.983-1.258-23.524-3.864-34.957-6.721z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgElephantWhite);\nexport default __webpack_public_path__ + \"static/media/elephant-white.094d6c16.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgItsWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"93.000000pt\",\n height: \"101.000000pt\",\n viewBox: \"0 0 93.000000 101.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,101.000000) scale(0.100000,-0.100000)\",\n fill: \"#ffffff\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M259 851 l-204 -117 -3 -50 c-3 -46 -1 -51 23 -62 25 -11 25 -11 25 32 l0 44 181 105 181 104 79 -44 c43 -25 79 -48 79 -52 0 -3 -79 -51 -175 -106 l-175 -100 0 -46 c0 -39 4 -50 24 -63 l25 -16 3 47 3 47 202 116 c111 63 202 117 203 120 0 3 -39 28 -87 55 -48 28 -108 62 -134 77 l-46 27 -204 -118z\",\n fill: \"#ffffff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308 753 l-148 -86 0 -45 c0 -31 5 -49 18 -58 27 -21 32 -17 32 25 0 21 6 44 14 50 8 7 76 47 151 90 134 78 136 79 113 95 -12 9 -25 16 -28 16 -3 -1 -71 -40 -152 -87z\",\n fill: \"#ffffff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M665 704 c-72 -40 -131 -77 -132 -81 -2 -5 6 -14 18 -21 17 -11 27 -9 75 19 30 17 61 28 69 25 13 -4 15 -44 15 -246 l0 -240 25 16 25 16 0 237 c0 158 -4 241 -11 248 -8 8 3 18 40 38 51 28 55 37 23 54 -13 7 -48 -8 -147 -65z\",\n fill: \"#ffffff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M838 679 c-16 -9 -18 -31 -18 -229 0 -121 3 -220 6 -220 3 0 14 5 25 10 18 10 19 23 19 230 0 121 -3 220 -7 220 -5 0 -16 -5 -25 -11z\",\n fill: \"#ffffff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50 477 l0 -95 205 -117 c122 -70 211 -115 220 -112 12 5 15 -1 15 -27 0 -21 -6 -36 -15 -40 -8 -3 -95 41 -205 105 -104 60 -196 112 -205 115 -11 5 -15 -1 -15 -22 0 -27 14 -37 205 -147 l205 -117 40 20 40 20 0 96 0 95 -39 -22 -39 -22 -154 88 c-199 115 -208 121 -208 151 0 13 5 24 10 24 6 0 87 -44 181 -99 l171 -98 39 21 c33 18 39 26 39 53 l0 33 -32 -20 c-18 -11 -38 -20 -45 -20 -6 0 -94 47 -194 105 -100 59 -190 110 -201 116 -17 9 -18 4 -18 -84z\",\n fill: \"#ffffff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M623 553 c-23 -15 -23 -19 -23 -234 l0 -219 25 12 25 11 0 224 c0 122 -1 223 -2 222 -2 0 -13 -7 -25 -16z\",\n fill: \"#ffffff\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgItsWhite);\nexport default __webpack_public_path__ + \"static/media/its-white.0a94feb9.svg\";\nexport { ForwardRef as ReactComponent };","import {\n AccountBalance,\n ArrowRightAlt,\n Assignment,\n AttachMoney,\n Bookmarks,\n CalendarToday,\n CompareArrows,\n Computer,\n ConfirmationNumber,\n ContactSupport,\n Contacts,\n Dashboard,\n Description,\n DeviceHub,\n Directions,\n DirectionsRun,\n Dns,\n DonutSmall,\n DynamicFeed,\n EmojiEvents,\n Equalizer,\n Explore,\n Facebook,\n FolderOpen,\n FormatListNumbered,\n GridOn,\n LocalActivity,\n LocalConvenienceStore,\n LocalHospital,\n LocationCity,\n ManageAccounts,\n Map,\n MoneyOff,\n Numbers,\n Pageview,\n Person,\n PersonAdd,\n PersonOutline,\n PersonPinCircle,\n PhotoLibrary,\n PlaylistAddCheck,\n Policy,\n Receipt,\n RecordVoiceOver,\n School,\n Security,\n Send,\n Speed,\n Store,\n SupervisorAccount,\n TableChart,\n TrendingDown,\n TrendingUp,\n VideoLibrary,\n Wallet,\n Whatshot,\n WifiTethering,\n YouTube,\n} from '@mui/icons-material';\nimport PictureAsPdf from '@mui/icons-material/PictureAsPdf';\nimport { ReactComponent as ContestIcon } from '../../assets/elephant-white.svg';\nimport { ReactComponent as ITSIcon } from '../../assets/its-white.svg';\nimport {\n AWS_GROUP,\n BillingPermissionData,\n BillingUserAccess,\n} from '../../types';\n\nexport interface NavDataLink {\n title: string;\n // Only this Group can see this link\n hasGroup?: AWS_GROUP;\n // User must have one of the permissions\n permissions?: AWS_GROUP[];\n // to - for internal routing\n to?: string;\n // href - for external links\n href?: string;\n startIcon?: JSX.Element;\n children?: NavDataLink[];\n name?: BillingPermissionData['Name'];\n access?: BillingUserAccess[];\n}\n\nexport interface NavDataSection {\n title: string;\n // Only this Group can see this link\n hasGroup?: AWS_GROUP;\n // User must have one of the permissions\n permissions?: AWS_GROUP[];\n links: NavDataLink[];\n name?: BillingPermissionData['Name'];\n access?: BillingUserAccess[];\n}\n\nexport const navData: NavDataSection[] = [\n {\n title: 'My Business',\n links: [\n {\n title: 'Commissions',\n to: '/business/commissions',\n startIcon: ,\n },\n {\n title: 'Debts',\n to: '/business/debts',\n startIcon: ,\n },\n {\n title: 'My Wallet',\n href: 'https://thealliancecontracting.com/wallet',\n startIcon: ,\n },\n {\n title: 'My Profile',\n href: 'https://thealliancecontracting.com/account',\n startIcon: ,\n },\n {\n title: 'Contracting',\n href: 'https://thealliancecontracting.com/home',\n startIcon: ,\n },\n {\n title: 'My Carrier Writing #s',\n href: 'https://thealliancecontracting.com/writing-numbers',\n startIcon: ,\n },\n {\n title: 'CRM',\n to: '/business/crm',\n startIcon: ,\n },\n {\n title: 'Leads',\n startIcon: ,\n children: [\n {\n title: 'The Alliance Leads',\n href: 'https://theallianceleads.com/',\n },\n {\n title: 'Integrity Lead Center',\n href: 'https://www.integrityleadcenter.com/login',\n },\n ],\n },\n {\n title: 'My Dashboard',\n startIcon: ,\n children: [\n {\n title: 'Sales',\n to: '/business/dashboard/sales',\n },\n {\n title: 'Recruiting',\n to: '/business/dashboard/recruiting',\n },\n {\n title: '$ by Direct Leg',\n to: '/business/dashboard/direct-leg',\n },\n {\n title: '$ Agent List',\n to: '/business/dashboard/agent-list',\n },\n {\n title: 'My $ Chart',\n to: '/business/dashboard/deposit-summary',\n },\n {\n title: 'Team Sales',\n to: '/business/dashboard/team-sales',\n },\n {\n title: 'Team Recruits',\n to: '/business/dashboard/team-recruits',\n },\n {\n title: 'Volume by Direct Leg',\n to: '/business/dashboard/volume-by-direct-leg',\n },\n {\n title: 'Recruiting by Direct Leg',\n to: '/business/dashboard/recruiting-by-direct-leg',\n },\n ],\n },\n {\n title: 'My Activity',\n to: '/business/activity-tracker',\n startIcon: (\n \n ),\n },\n {\n title: 'My Reports',\n to: '/business/reports',\n startIcon: ,\n },\n {\n title: 'E-Apps',\n to: '/business/eapps-by-carrier',\n startIcon: ,\n },\n ],\n },\n {\n title: 'Team',\n links: [\n {\n title: 'New Agent Registration',\n href: 'https://register.naaleads.com/',\n startIcon: ,\n },\n {\n title: 'National Convention 2025',\n href: 'https://theallianceevents.com/events/national-convention-2025',\n startIcon: ,\n },\n {\n title: 'Team Events Tickets',\n to: '/team/events',\n startIcon: ,\n },\n // {\n // title: 'Team Activity Tracker',\n // to: '/team/activity-tracker',\n // startIcon: ,\n // },\n {\n title: 'Thailand Leaderboard',\n to: '/team/contest-leaderboard',\n startIcon: (\n \n ),\n },\n {\n title: 'Hierarchy Production Drawing',\n to: '/team/hierarchy-production-drawing',\n startIcon: ,\n },\n {\n title: 'Hierarchy List',\n to: '/team/hierarchy',\n startIcon: ,\n },\n {\n title: 'New Recruit Info',\n to: '/team/recruit',\n startIcon: ,\n },\n {\n title: 'Personal and Team Calendars',\n to: '/team/calendar',\n startIcon: ,\n },\n ],\n },\n {\n title: 'Carriers',\n links: [\n {\n title: 'Online Contracting',\n href: 'https://thealliancecontracting.com/',\n startIcon: ,\n },\n ],\n },\n {\n title: 'Resources',\n links: [\n {\n title: 'Welcome ARC Videos',\n to: '/resources/welcome-videos',\n startIcon: ,\n },\n {\n title: 'Agent Levels',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/Agent Levels Chart v2023-05-01 1307 p1_2.pdf',\n startIcon: ,\n },\n {\n title: 'SuperPac',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/SuperPAC-2023-05-01.pdf',\n startIcon: ,\n },\n {\n title: '100% Grid',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/PayoutGrid_121924.pdf',\n startIcon: ,\n },\n {\n title: 'Alliance Underwriting Tool',\n href: 'https://allianceunderwriting.com/home-page',\n startIcon: ,\n },\n {\n title: 'Contest Flyers',\n to: '/resources/contest-flyers',\n startIcon: ,\n },\n {\n title: 'New Agent Guide',\n href: 'https://online.fliphtml5.com/thgjn/rcea/',\n startIcon: ,\n },\n {\n title: 'Get Started Fast',\n href: 'https://naauniversity.com/courses/getting-started-quickly',\n startIcon: ,\n },\n {\n title: 'Alliance University',\n href: 'https://naauniversity.com/naau-advanced-resources/',\n startIcon: ,\n },\n {\n title: 'E & O Insurance',\n href: 'http://www.calsurance.com/naa',\n startIcon: ,\n },\n {\n title: 'Pre-Licensing',\n to: '/resources/pre-licensing',\n startIcon: ,\n },\n {\n title: 'Continuing Education',\n href: 'https://www.webce.com/naaleads/',\n startIcon: ,\n },\n {\n title: 'Alliance Rx Card',\n href: 'https://www.therxcard.net/HWBBKK',\n startIcon: ,\n },\n {\n title: 'AHIP Certification ',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/AHIP_Training_Guide_2024.pdf',\n startIcon: ,\n },\n {\n title: 'New York Products',\n to: '/resources/ny-products',\n startIcon: ,\n },\n {\n title: 'Legacy Safeguard Program',\n href: 'https://www.legacysafeguarduniversity.com',\n startIcon: ,\n },\n {\n title: 'Legacy Safeguard Presentation',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/Legacy-Safeguard-Presentation.pdf',\n startIcon: ,\n },\n {\n title: 'FAQ',\n to: '/resources/faq',\n startIcon: ,\n },\n ],\n },\n {\n title: 'Connections',\n links: [\n {\n title: 'Alliance Hotspots',\n href: 'https://theallianceevents.com/hotspots',\n startIcon: ,\n },\n {\n title: 'Alliance Facebook',\n href: 'https://www.facebook.com/groups/330822977953654',\n startIcon: ,\n },\n {\n title: 'Alliance YouTube',\n href: 'https://www.youtube.com/channel/UCcTxkFiu-XtuLjH5VpnwBMg',\n startIcon: ,\n },\n {\n title: 'ARC Commissions Team',\n href: 'https://thealliancearc.simplybook.me/v2/',\n startIcon: ,\n },\n {\n title: 'Integrity Advisory Solutions',\n href: 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arcnaaleads/header/Business_Summit_Flyer_20241122r.pdf',\n startIcon: ,\n },\n {\n title: 'Lead Performance Team',\n href: 'https://lpt.simplybook.me/v2/#book',\n startIcon: ,\n },\n {\n title: \"President's Club\",\n href: 'https://www.naapresidentsclub.com/',\n startIcon: ,\n },\n {\n title: 'Gina Hawks',\n href: 'https://outlook.office365.com/owa/calendar/GinaHawksIULAppointmentsCalendar@integritymarketing.com/bookings/',\n startIcon: ,\n },\n {\n title: 'Ivy Wilson',\n href: 'https://ivywilson.simplybook.me/',\n startIcon: ,\n },\n {\n title: 'AndyAlbright.com',\n href: 'https://www.andyalbright.com/',\n startIcon: ,\n },\n {\n title: 'The Alliance Store',\n href: 'https://shopthealliance.com/',\n startIcon: ,\n },\n {\n title: 'ITS (CRN # 830795) / Estate Planning',\n to: '/connections/estate-planning',\n startIcon: ,\n },\n {\n title: 'Alliance Eventures',\n href: 'https://theallianceevents.com/',\n startIcon: ,\n },\n {\n title: 'AmpPix',\n href: 'https://www.amppix.com/',\n startIcon: ,\n },\n ],\n },\n {\n title: 'Admin',\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.Staff_ReadOnly,\n AWS_GROUP.Accounting,\n AWS_GROUP.CarrierFeeds,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Marketing,\n AWS_GROUP.ARC_BillingSystem,\n AWS_GROUP.Contracting,\n AWS_GROUP.LDS_KeyingMgr,\n AWS_GROUP.PermissionsAdmin,\n AWS_GROUP.Reconciliation,\n ],\n links: [\n {\n startIcon: ,\n title: 'Agent',\n to: '/admin/agent',\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.Contracting,\n AWS_GROUP.AgentDataAdmin,\n AWS_GROUP.Accounting,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Staff_ReadOnly,\n ],\n },\n {\n title: 'Carrier Feeds',\n to: '/admin/carrier-feeds',\n startIcon: ,\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.GlobalAdmin,\n AWS_GROUP.CarrierFeeds,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n ],\n },\n {\n title: 'Bank Reconciliation',\n to: '/admin/bank-reconciliation',\n startIcon: ,\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Reconciliation],\n },\n {\n title: 'Policy Manager',\n to: '/admin/policy-manager',\n startIcon: ,\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Accounting,\n ],\n },\n {\n title: 'Matrix Manager',\n to: '/admin/matrix-manager',\n startIcon: ,\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.CommissionMatrix],\n },\n {\n title: 'Policy Lookup',\n to: '/admin/policy-lookup',\n startIcon: ,\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Accounting,\n ],\n },\n {\n title: 'Accounting',\n startIcon: ,\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n children: [\n {\n to: '/admin/accounting/nacha',\n title: 'NACHA Manager',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/cb-manager',\n title: 'Percent CB Manager',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/adjustments',\n title: 'Adjustments',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/debts',\n title: 'Debts',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/reports',\n title: 'Reports',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/ach-returns',\n title: 'ACH Returns',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n {\n to: '/admin/accounting/1099-report',\n title: '1099 Report',\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Accounting],\n },\n ],\n },\n {\n title: 'CMS',\n to: '/admin/cms',\n startIcon: ,\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Marketing],\n },\n {\n title: 'Permissions',\n to: '/admin/permissions',\n startIcon: ,\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.GlobalAdmin,\n AWS_GROUP.PermissionsAdmin,\n ],\n },\n {\n title: 'Mass Communication',\n to: '/admin/mass-communication',\n startIcon: ,\n permissions: [AWS_GROUP.ReadAll, AWS_GROUP.Marketing],\n },\n {\n title: 'Lead Billing Suspensions',\n to: '/admin/lead-billing-suspensions',\n startIcon: ,\n permissions: [\n AWS_GROUP.ReadAll,\n AWS_GROUP.Staff_ReadOnly,\n AWS_GROUP.Accounting,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n ],\n },\n {\n title: 'Billing',\n startIcon: ,\n hasGroup: AWS_GROUP.ARC_BillingSystem,\n children: [\n {\n title: 'Accounts Receivable',\n children: [\n {\n title: 'Accounts Receivable',\n to: '/admin/billing/accounts-receivable',\n },\n {\n title: 'Adjustment Approval',\n to: '/admin/billing/adjustment-approval',\n name: 'AR Adjustment',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Payment Plan Management',\n to: '/admin/billing/payment-plan-management',\n name: 'Payment Plan Management',\n access: [\n BillingUserAccess['Read-Only'],\n BillingUserAccess['Read/Write'],\n ],\n },\n ],\n },\n {\n title: 'Drafts',\n children: [\n {\n title: 'Draft Adjustment Approvals',\n to: '/admin/billing/draft-adjustment-approvals',\n name: 'Draft Adjustment Approval',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Create ACH',\n to: '/admin/billing/create-ach',\n name: 'Drafts',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Post ACH',\n to: '/admin/billing/post-ach',\n name: 'Drafts',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Credit Cards',\n to: '/admin/billing/credit-cards',\n name: 'Drafts',\n access: [BillingUserAccess['Allowed']],\n },\n ],\n },\n {\n title: 'Invoicing',\n children: [\n {\n title: 'Generate Invoices',\n to: '/admin/billing/generate-invoices',\n name: 'Invoicing',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Invoice Line Items',\n to: '/admin/billing/invoice-line-items',\n name: 'Invoice Line Items',\n access: [\n BillingUserAccess['Read-Only'],\n BillingUserAccess['Read/Write'],\n ],\n },\n ],\n },\n {\n title: 'Reports',\n to: '/admin/billing/reports',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'Tools',\n children: [\n {\n title: 'Rollups',\n to: '/admin/billing/rollups',\n name: 'AR: Edit/Remove Entries',\n access: [BillingUserAccess['Allowed']],\n },\n {\n title: 'User Administration',\n to: '/admin/billing/user-administration',\n name: 'User Administration',\n access: [\n BillingUserAccess['Read-Only'],\n BillingUserAccess['Read/Write'],\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n];\n","import AccountCircleIcon from '@mui/icons-material/AccountCircle';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { grey } from '@mui/material/colors';\nimport Divider from '@mui/material/Divider';\nimport Drawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { AppContext } from '../../contexts/app-context';\nimport { AuthContext } from '../../contexts/auth-context';\nimport { NavDataSection } from './nav-data';\nimport { NavSection } from './nav-section';\n\nconst useStyles = makeStyles({\n container: {\n width: 320,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n },\n section: {\n paddingLeft: 10,\n paddingTop: 4,\n paddingBottom: 4,\n display: 'flex',\n alignItems: 'center',\n backgroundColor: grey[900],\n },\n});\n\nexport function NavDrawer(props: { data: NavDataSection[] }) {\n // Context\n const { dispatch, state } = React.useContext(AppContext);\n const {\n state: { user },\n } = React.useContext(AuthContext);\n // Hooks\n const classes = useStyles();\n\n return (\n dispatch({ type: 'TOGGLE_DRAWER' })}\n >\n
\n
\n dispatch({ type: 'TOGGLE_DRAWER' })}\n aria-label=\"close menu\"\n size=\"large\"\n >\n \n \n\n \n Menu\n \n
\n\n \n\n
\n {props.data.map((item) => (\n \n ))}\n
\n\n \n\n \n
\n \n \n \n\n \n {user.username}\n \n
\n \n
\n \n );\n}\n","import ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt';\nimport { API } from 'aws-amplify';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { CarrierHeaderLink } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { NavBar } from './nav-bar';\nimport { navData, NavDataLink, NavDataSection } from './nav-data';\nimport { NavDrawer } from './nav-drawer';\n\nexport function Navigation() {\n // State\n const [data, setData] = React.useState([]);\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const response: {\n data: CarrierHeaderLink[];\n } = await API.post('DashboardAPI', '/carriers/header', { body: {} });\n\n // Filter out children of parent carriers\n const dataFiltered = response.data\n .filter((i) => !i.CarrierCode.startsWith('ap-'))\n .filter((i) => !i.CarrierCode.startsWith('ma-'))\n .filter((i) => !i.CarrierCode.startsWith('ms-'));\n\n // Order data by Title\n const dataOrdered = orderBy(dataFiltered, 'Title');\n\n // Format data to match NavDataLink\n const newLinks: NavDataLink[] = [];\n dataOrdered.forEach((i) => {\n newLinks.push({\n title: i.Title,\n to: `/carriers/${i.CarrierCode}`,\n startIcon: ,\n });\n });\n\n // Update navigation data\n setData((currentState) =>\n currentState.map((section) => {\n if (section.title === 'Carriers') {\n return {\n ...section,\n links: [...section.links, ...newLinks],\n };\n } else {\n return section;\n }\n }),\n );\n } catch (error) {\n captureError({ data: { error } });\n }\n };\n\n setData(navData);\n fetchData();\n }, []);\n\n return (\n \n \n \n \n );\n}\n","import AccountBoxIcon from '@mui/icons-material/AccountBox';\nimport DescriptionIcon from '@mui/icons-material/Description';\nimport EventAvailableIcon from '@mui/icons-material/EventAvailable';\nimport NoteIcon from '@mui/icons-material/Note';\nimport Avatar from '@mui/material/Avatar';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { grey } from '@mui/material/colors';\nimport Divider from '@mui/material/Divider';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\nimport ListItemText from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport formatDistance from 'date-fns/formatDistance';\nimport React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { AppContext } from '../../contexts/app-context';\nimport { NotificationAction } from '../../types';\nimport { captureError } from '../../utils/capture-error';\n\nconst useStyles = makeStyles({\n listItem: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: grey[700],\n },\n },\n});\n\nexport function ActionListItem(props: { item: NotificationAction }) {\n // Context\n const { dispatch } = React.useContext(AppContext);\n // Props\n const { item } = props;\n // State\n const [updating, setUpdating] = React.useState(false);\n // Hooks\n const classes = useStyles();\n const navigate = useNavigate();\n\n let icon =
;\n let primary = '';\n let description = '';\n if (item.NotificationType === 'Note') {\n icon = ;\n primary = 'New Note!';\n } else if (item.NotificationType === 'Appointment') {\n icon = (\n \n );\n primary = 'New Appointment!';\n } else if (item.NotificationType === 'Document') {\n icon = (\n \n );\n primary = 'New Document!';\n description = item.FileName || '';\n } else if (\n item.NotificationType === 'Greensheet' ||\n item.NotificationType === 'GreensheetForm'\n ) {\n icon = (\n \n );\n primary = 'New Greensheet!';\n description = item.FileName || '';\n }\n\n const handleClick = async () => {\n const body = { NId: item.NId };\n const path = '/crm/contacts/notification/actions/markRead';\n try {\n setUpdating(true);\n // Mark the action notification as read\n await API.post('DashboardAPI', path, { body });\n // Make sure there is no impersonated agent for when the CRM loads\n dispatch({ type: 'IMPERSONATE_AGENT', payload: null });\n // Route to the CRM with ContactId in the url\n navigate(`/business/crm?ContactId=${item.ContactId}`);\n // Close the drawer\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' });\n } catch (error) {\n setUpdating(false);\n captureError({ data: { error, request: { body, path } } });\n }\n };\n\n return (\n
\n \n \n {updating ? (\n \n ) : (\n {icon}\n )}\n \n \n \n {description}\n \n\n \n {formatDistance(new Date(item.DateAdded), new Date())} ago\n \n \n }\n />\n \n\n \n
\n );\n}\n","import Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { AppContext } from '../../contexts/app-context';\nimport { captureError } from '../../utils/capture-error';\nimport { ActionListItem } from './action-list-item';\n\nconst useStyles = makeStyles({\n list: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n },\n});\n\nexport function ActionList() {\n // Contexts\n const {\n state: { notificationsData },\n dispatch,\n } = React.useContext(AppContext);\n // State\n const [updating, setUpdating] = React.useState(false);\n // Hooks\n const classes = useStyles();\n\n // Order notifications\n const data = orderBy(\n notificationsData.actions,\n ['Read', 'DateAdded'],\n ['asc', 'desc'],\n );\n\n // Unread actions\n const unreadActions = data.filter((i) => i.Read === '0');\n\n const handleReadAll = async () => {\n const body = {};\n const path = '/crm/contacts/notification/actions/markAllRead';\n try {\n setUpdating(true);\n // Marking all action notifications as read\n await API.post('DashboardAPI', path, { body });\n // Close the drawer\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' });\n } catch (error) {\n setUpdating(false);\n captureError({ data: { error, request: { body, path } } });\n }\n };\n\n return (\n
\n {unreadActions.length ? (\n \n
\n \n {updating ? 'Marking as read...' : 'Mark all as read'}\n \n
\n\n \n
\n ) : null}\n\n {data.length ? (\n
\n {data.map((item) => {\n return ;\n })}\n
\n ) : (\n \n No new actions needed!\n \n )}\n
\n );\n}\n","import MessageIcon from '@mui/icons-material/Message';\nimport Avatar from '@mui/material/Avatar';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemAvatar from '@mui/material/ListItemAvatar';\nimport ListItemText from '@mui/material/ListItemText';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport formatDistance from 'date-fns/formatDistance';\nimport React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { AppContext } from '../../contexts/app-context';\nimport { NotificationText } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { toPhoneNumber } from '../../utils/formatter';\n\nconst useStyles = makeStyles({\n listItem: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: '#f1f1f1',\n },\n },\n});\n\nexport function TextListItem(props: { item: NotificationText }) {\n // Context\n const { dispatch } = React.useContext(AppContext);\n // Props\n const { item } = props;\n // State\n const [updating, setUpdating] = React.useState(false);\n // Hooks\n const classes = useStyles();\n const navigate = useNavigate();\n\n const handleClick = async () => {\n const body = { CMId: item.CMId };\n const path = '/crm/contacts/notification/texts/markRead';\n try {\n setUpdating(true);\n // Mark the text notification as read\n await API.post('DashboardAPI', path, { body });\n // Make sure there is no impersonated agent for when the CRM loads\n dispatch({ type: 'IMPERSONATE_AGENT', payload: null });\n // Route to the CRM with ContactId in the url\n navigate(`/business/crm?ContactId=${item.ContactId}`);\n // Close the drawer\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' });\n } catch (error) {\n setUpdating(false);\n captureError({ data: { error, request: { body, path } } });\n }\n };\n\n return (\n
\n \n \n {updating ? (\n \n ) : (\n \n \n \n )}\n \n \n \n {item.Msg}\n \n\n \n {formatDistance(new Date(item.DateCreated), new Date())} ago\n \n \n }\n />\n \n\n \n
\n );\n}\n","import Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { AppContext } from '../../contexts/app-context';\nimport { captureError } from '../../utils/capture-error';\nimport { TextListItem } from './text-list-item';\n\nconst useStyles = makeStyles({\n list: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n },\n});\n\nexport function TextList() {\n // Contexts\n const {\n state: { notificationsData },\n dispatch,\n } = React.useContext(AppContext);\n // State\n const [updating, setUpdating] = React.useState(false);\n // Hooks\n const classes = useStyles();\n\n // Order notifications by DateCreated\n const data = orderBy(\n notificationsData.texts,\n ['MsgRead', 'DateCreated'],\n ['asc', 'desc'],\n );\n\n // Unread texts\n const unreadTexts = data.filter((i) => !i.MsgRead);\n\n const handleReadAll = async () => {\n const body = {};\n const path = '/crm/contacts/notification/texts/markAllRead';\n try {\n setUpdating(true);\n // Marking all text notifications as read\n await API.post('DashboardAPI', path, { body });\n // Close the drawer\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' });\n } catch (error) {\n setUpdating(false);\n captureError({ data: { error, request: { body, path } } });\n }\n };\n\n return (\n
\n {unreadTexts.length ? (\n \n
\n \n {updating ? 'Marking as read...' : 'Mark all as read'}\n \n
\n\n \n
\n ) : null}\n\n {data.length ? (\n
\n {data.map((item) => {\n return ;\n })}\n
\n ) : (\n \n No new text messages!\n \n )}\n
\n );\n}\n","import CloseIcon from '@mui/icons-material/Close';\nimport AppBar from '@mui/material/AppBar';\nimport Divider from '@mui/material/Divider';\nimport Drawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport Typography from '@mui/material/Typography';\nimport { grey } from '@mui/material/colors';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport React from 'react';\nimport { AppContext } from '../../contexts/app-context';\nimport { NotificationAction, NotificationText } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { toSafeDates } from '../../utils/formatter';\nimport { ActionList } from './action-list';\nimport { TextList } from './text-list';\n\nconst useStyles = makeStyles({\n container: {\n width: 360,\n display: 'flex',\n flexDirection: 'column',\n },\n navStatic: {\n backgroundColor: grey[900],\n height: 65,\n alignSelf: 'stretch',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n paddingLeft: 10,\n paddingRight: 10,\n flexDirection: 'row',\n textDecoration: 'none',\n },\n listItem: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: grey[800],\n },\n },\n});\n\nexport function Notifications() {\n // Context\n const { state, dispatch } = React.useContext(AppContext);\n // State\n const [loading, setLoading] = React.useState(false);\n const [tabValue, setTabValue] = React.useState(0);\n // Hooks\n const classes = useStyles();\n\n React.useEffect(() => {\n const fetchData = async () => {\n setLoading(true);\n const notificationsData: {\n texts: NotificationText[];\n actions: NotificationAction[];\n } = { texts: [], actions: [] };\n\n const textBody = {};\n const textPath = '/crm/contacts/notification/text';\n try {\n const responseText: {\n data: NotificationText[];\n } = await API.post('DashboardAPI', textPath, { body: textBody });\n notificationsData.texts = toSafeDates({ value: responseText.data });\n } catch (error) {\n captureError({ data: { error } });\n }\n\n const actionsBody = {};\n const actionsPath = '/crm/contacts/notification/actions';\n try {\n const responseActions: {\n data: NotificationAction[];\n } = await API.post('DashboardAPI', actionsPath, { body: actionsBody });\n notificationsData.actions = toSafeDates({\n value: responseActions.data,\n });\n } catch (error) {\n captureError({ data: { error } });\n }\n\n // Add notifications data to app-context\n dispatch({ type: 'SET_NOTIFICATIONS_DATA', payload: notificationsData });\n setLoading(false);\n };\n\n fetchData();\n }, [dispatch, state.notificationsOpen]);\n\n const { texts, actions } = state.notificationsData;\n // Unread Texts\n const unreadTexts = texts.filter((i) => !i.MsgRead);\n const textsLabel = unreadTexts.length\n ? `Texts (${unreadTexts.length})`\n : 'Texts';\n // Unread Actions\n const unreadActions = actions.filter((i) => i.Read === '0');\n const actionsLabel = unreadActions.length\n ? `Actions Needed (${unreadActions.length})`\n : 'Actions Needed';\n\n return (\n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' })}\n >\n
\n {loading ? :
}\n\n \n dispatch({ type: 'TOGGLE_NOTIFICATIONS_DRAWER' })}\n aria-label=\"close notifications\"\n size=\"large\"\n >\n \n \n\n \n Notifications\n \n
\n\n \n , newValue: number) => {\n setTabValue(newValue);\n }}\n >\n \n \n \n \n\n \n\n {tabValue === 0 ? : null}\n\n {tabValue === 1 ? : null}\n
\n \n );\n}\n","import { API } from 'aws-amplify';\nimport React from 'react';\nimport { AuthContext } from '../../contexts/auth-context';\nimport { PopUpData } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { customPopUps } from './pop-up-data';\nimport { PopUpItem } from './pop-up-item';\nimport { getPopUp } from './pop-up-utils';\n\nexport function Popups() {\n // Context\n const {\n state: { user },\n } = React.useContext(AuthContext);\n // State\n const [content, setContent] = React.useState(null);\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const response: {\n data: PopUpData[];\n } = await API.post('DashboardAPI', '/dashboard/popup', {});\n const data = [...customPopUps, ...response.data];\n const newPopUp = await getPopUp({ data, username: user.username });\n setContent(newPopUp);\n } catch (error) {\n captureError({ data: { error } });\n }\n };\n\n fetchData();\n }, [user]);\n\n if (content) {\n return (\n setContent(null)}\n />\n );\n } else {\n return null;\n }\n}\n","import Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { Auth } from 'aws-amplify';\nimport React from 'react';\nimport { AuthContext } from '../contexts/auth-context';\n\nexport function TokenError() {\n // Context\n const { state } = React.useContext(AuthContext);\n\n if (state.tokenError) {\n return (\n \n Please Sign In again\n \n \n \n \n );\n } else {\n return null;\n }\n}\n","import { ThemeProvider } from '@mui/material';\nimport Box from '@mui/material/Box';\nimport { Outlet } from 'react-router-dom';\nimport { darkTheme } from '../theme';\nimport { Navigation } from './navigation';\nimport { Notifications } from './notifications';\nimport { Popups } from './pop-ups';\nimport { TokenError } from './token-error';\n\nexport function Dashboard() {\n return (\n \n \n\n \n \n \n \n \n\n \n \n );\n}\n","import Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Container from '@mui/material/Container';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Auth } from 'aws-amplify';\nimport React from 'react';\nimport { ReactComponent as ARCLogo } from '../assets/arc-logo.svg';\nimport { AuthContext } from '../contexts/auth-context';\n\nexport function TempMaintenanceMessage() {\n // Context\n const { state } = React.useContext(AuthContext);\n // State\n const [visible, setVisible] = React.useState(true);\n\n const isAuthenticated = state.user !== undefined;\n\n if (visible) {\n return (\n \n \n \n setVisible(false)}\n sx={{ whiteSpace: 'nowrap' }}\n >\n Dismiss\n \n\n {isAuthenticated ? (\n Auth.signOut()}\n sx={{ whiteSpace: 'nowrap' }}\n >\n Sign out\n \n ) : null}\n \n }\n >\n {/* Maintenance is being performed until {mEnd} */}\n Maintenance is being performed\n \n \n \n );\n } else {\n return null;\n }\n}\n\nexport function MaintenanceMessageAdmins(props: { maintenanceEnd: string }) {\n // Props\n // const { maintenanceEnd } = props;\n // State\n const [visible, setVisible] = React.useState(true);\n\n // let mEnd = '';\n // if (maintenanceEnd !== '' && isValid(new Date(maintenanceEnd))) {\n // mEnd = format(new Date(maintenanceEnd), 'PPPPpppp');\n // }\n\n if (visible) {\n return (\n \n \n \n setVisible(false)}\n sx={{ whiteSpace: 'nowrap' }}\n >\n Dismiss\n \n\n Auth.signOut()}\n sx={{ whiteSpace: 'nowrap' }}\n >\n Sign out\n \n \n }\n >\n {/* Maintenance is being performed until {mEnd} */}\n Maintenance is being performed\n \n \n \n );\n } else {\n return null;\n }\n}\n\nconst useStyles = makeStyles({\n container: {\n height: '100vh',\n width: '100vw',\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n logoContainer: {\n backgroundColor: '#212121',\n height: 140,\n width: 140,\n borderRadius: 100,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: 10,\n },\n});\n\nexport function MaintenanceMessageAgents(props: { maintenanceEnd: string }) {\n // Props\n // const { maintenanceEnd } = props;\n // Context\n const { state } = React.useContext(AuthContext);\n // Hooks\n const classes = useStyles();\n\n // let mEnd = '';\n // if (maintenanceEnd !== '' && isValid(new Date(maintenanceEnd))) {\n // mEnd = format(new Date(maintenanceEnd), 'PPPPpppp');\n // }\n\n const isAuthenticated = state.user !== undefined;\n\n return (\n
\n
\n \n
\n\n \n Under Maintenance\n \n\n \n \n IT Maintenance Update:\n \n \n We are currently experiencing systems issues. We are working hard to\n fix the issues and hope to be back online fully soon.\n \n \n\n {/* {mEnd !== '' ? (\n \n Please check back on {mEnd}\n \n ) : null} */}\n\n {isAuthenticated ? (\n Auth.signOut()}\n >\n Sign out\n \n ) : null}\n
\n );\n}\n","import localForage from 'localforage';\n\nconst REDIRECT_KEY = 'arc-redirect-path';\n\n/**\n * Add the route to storage for use after logging in\n */\nexport async function storeRedirectPath(params: { pathname: string }) {\n await localForage.setItem(REDIRECT_KEY, params.pathname);\n}\n\n/**\n * Remove redirect path data from storage\n */\nasync function removeRedirectPath() {\n await localForage.removeItem(REDIRECT_KEY);\n}\n\n/**\n * Check if there is a path stored in the browser to redirect the user to after logging in\n */\nexport async function checkForRedirectPath() {\n const pathname = await localForage.getItem(REDIRECT_KEY);\n\n // If there was anything stored in the browser it is now in the \"pathname\" variable\n // so we can safely remove the item that was stored with the REDIRECT_KEY\n await removeRedirectPath();\n\n if (pathname && typeof pathname === 'string') {\n // return the pathname of the route the user was on\n return pathname;\n } else {\n return null;\n }\n}\n","import CloseIcon from '@mui/icons-material/Close';\nimport ForwardIcon from '@mui/icons-material/Forward';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport Button from '@mui/material/Button';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport Tooltip from '@mui/material/Tooltip';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles({\n container: {\n height: '100dvh',\n width: '100dvw',\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport function AgreementAlert(props: { onDismiss: () => void }) {\n // Hooks\n const classes = useStyles();\n\n return (\n
\n
\n \n \n
\n
\n New Alliance Agreement!\n
\n\n \n \n \n \n \n
\n
\n \n
\n
\n You have not signed the New Alliance Agreement yet.\n
\n\n
\n Login to{' '}\n \n https://thealliancecontracting.com/\n {' '}\n to complete it now.\n
\n\n
Thanks,
\n\n
The Alliance Contracting Team
\n
\n
\n \n }\n >\n Go to Alliance Contracting\n \n \n \n }\n >\n Continue to ARC\n \n \n
\n
\n
\n );\n}\n","import Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Auth } from 'aws-amplify';\nimport React from 'react';\nimport { ReactComponent as ARCLogo } from '../assets/arc-logo.svg';\nimport { AuthContext } from '../contexts/auth-context';\n\nconst useStyles = makeStyles({\n container: {\n height: '100vh',\n width: '100vw',\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n logoContainer: {\n backgroundColor: '#212121',\n height: 140,\n width: 140,\n borderRadius: 100,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: 10,\n },\n message: {\n maxWidth: 480,\n padding: 10,\n },\n});\n\nexport function AuthorizeError() {\n // Context\n const { state } = React.useContext(AuthContext);\n // Hooks\n const classes = useStyles();\n\n const renderMessage = () => {\n switch (state.authorizeError) {\n case 'pending': {\n return (\n \n Your Alliance account is currently pending. You will have limited\n access to our websites until you log in to{' '}\n \n Alliance Contracting\n {' '}\n and sign the Annual Agent Agreement. If you need further assistance,\n please reach out to your upline or the Help Desk(\n help@naaleads.com)\n
    \n
  • The Help Desk hours are Monday-Friday 8AM-5PM EST
  • \n
\n \n );\n }\n case 'inactive': {\n return (\n \n Your Alliance account is not able to be accessed at this time due to\n inactivity. Please contact your manager or the Help Desk (\n help@naaleads.com) for\n further assistance.\n
    \n
  • \n Please include your name, NAA Number, and the name of your\n upline/agency manager so that the Help Desk can better assist\n you.\n
  • \n
  • The Help Desk hours are Monday-Friday 8AM-5PM EST
  • \n
\n \n );\n }\n case 'unauthorized': {\n return (\n \n Your Alliance account is not able to be accessed at this time.\n Please contact your manager or the Help Desk (\n help@naaleads.com) for\n further assistance.\n
    \n
  • \n Please include your name, NAA Number, and the name of your\n upline/agency manager so that the Help Desk can better assist\n you.\n
  • \n
  • The Help Desk hours are Monday-Friday 8AM-5PM EST
  • \n
\n \n );\n }\n case 'terminated': {\n return (\n \n Access has been denied.\n \n );\n }\n default: {\n return (\n \n Your Alliance account is not able to be accessed at this time.\n Please refresh the page and try again. If the problem persists\n contact the Help Desk (\n help@naaleads.com) for\n further assistance.\n
    \n
  • The Help Desk hours are Monday-Friday 8AM-5PM EST
  • \n
\n \n );\n }\n }\n };\n\n return (\n
\n
\n \n
\n\n {renderMessage()}\n\n Auth.signOut()}\n >\n Sign out\n \n
\n );\n}\n","import ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport LogoutIcon from '@mui/icons-material/Logout';\nimport SecurityIcon from '@mui/icons-material/Security';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Stack from '@mui/material/Stack';\nimport { Auth } from 'aws-amplify';\n\nexport function MFACheck() {\n return (\n \n \n \n\n Set up MFA\n\n \n Please Sign In at{' '}\n \n https://thealliancecontracting.com/\n {' '}\n and select your preferred method of Multi-Factor Authentication.\n \n\n }\n >\n Go to Contracting\n \n\n }\n onClick={() => Auth.signOut()}\n >\n Sign out\n \n \n \n );\n}\n","import Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Container from '@mui/material/Container';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { useQuery } from '@tanstack/react-query';\nimport { API, Auth } from 'aws-amplify';\nimport React from 'react';\nimport { Navigate, useNavigate } from 'react-router-dom';\nimport { AuthContext } from '../contexts/auth-context';\nimport { usePermissions } from '../hooks/use-permissions';\nimport { AWS_GROUP, BillingPermissionData } from '../types';\nimport { captureError } from '../utils/capture-error';\nimport { checkForRedirectPath, storeRedirectPath } from '../utils/redirect';\nimport { AgreementAlert } from './agreement-alert';\nimport { AuthorizeError } from './authorize-error';\nimport { MaintenanceMessageAgents } from './maintenance-message';\nimport { MFACheck } from './mfa-check';\n\nexport function RequireAuth(props: {\n children: JSX.Element;\n isAdmin: boolean;\n maintData:\n | {\n maintenanceActive: boolean;\n maintenanceBegin: string;\n maintenanceEnd: string;\n }\n | null\n | undefined;\n}) {\n // Context\n const { state, dispatch } = React.useContext(AuthContext);\n // State\n const [dismissICA, setDismissICA] = React.useState(false);\n // Hooks\n const navigate = useNavigate();\n const { hasGroup } = usePermissions();\n\n React.useEffect(() => {\n const handleCheckForPath = async () => {\n try {\n const redirectPath = await checkForRedirectPath();\n if (redirectPath) {\n navigate(redirectPath);\n }\n } catch (error) {\n captureError({ data: { error } });\n }\n };\n\n const handleStorePath = async () => {\n try {\n if (window?.location?.pathname) {\n const { pathname } = window.location;\n // If the user was trying to access a route other than the main route\n if (pathname !== '/') {\n let path = pathname;\n // If there are any search parameters add them to the redirect path\n if (window?.location?.search) {\n path = path + window.location.search;\n }\n // Add the route to storage for use after logging in\n await storeRedirectPath({ pathname: path });\n }\n }\n } catch (error) {\n captureError({ data: { error } });\n }\n };\n\n if (state.user !== undefined) {\n // Check for stored path\n handleCheckForPath();\n } else {\n // Store path\n handleStorePath();\n }\n }, [state.user, navigate, dispatch]);\n\n const isAuthenticated = state.user !== undefined;\n\n // // Query - Authorize User\n const pathAuth = '/authorize';\n const queryAuth = useQuery({\n enabled: isAuthenticated && process.env.REACT_APP_AWS_BRANCH === 'master',\n queryKey: [pathAuth],\n queryFn: async () => {\n const response: {\n data: { LastAccessTime: string };\n } = await API.post('DashboardAPI', pathAuth, {});\n\n return response.data;\n },\n onError: (error: any) => {\n if (error?.response?.status === 403) {\n if (error?.response?.data?.data?.UserStatus === 'Pending') {\n // The user has a status of Terminated\n dispatch({ type: 'AUTHORIZE_ERROR', payload: 'pending' });\n } else if (error?.response?.data?.data?.UserStatus === 'Terminated') {\n // The user has a status of Terminated\n dispatch({ type: 'AUTHORIZE_ERROR', payload: 'terminated' });\n } else if (error?.response?.data?.data?.UserStatus === 'Inactive') {\n // The user has a status of Inactive\n dispatch({ type: 'AUTHORIZE_ERROR', payload: 'inactive' });\n } else {\n // The user has a status of Pending or Unknown\n dispatch({ type: 'AUTHORIZE_ERROR', payload: 'unauthorized' });\n }\n } else {\n // The endpoint responded with an error, but it doesn't\n // mean the user is inactive or terminated\n dispatch({ type: 'AUTHORIZE_ERROR', payload: 'default' });\n\n // Only capture Errors that don't have a status of 403\n captureError({ data: { error } });\n }\n },\n });\n\n // // Query - Check for Signed ICA and verified NPN\n const pathStatus = '/authorize/status';\n const queryStatus = useQuery({\n enabled: isAuthenticated,\n queryKey: [pathStatus],\n queryFn: async () => {\n const response: {\n data: {\n HasSignedICA: boolean;\n NPNVerified: boolean;\n } | null;\n } = await API.post('DashboardAPI', pathStatus, {});\n\n if (response.data) {\n dispatch({ type: 'SET_STATUS', payload: response.data });\n }\n\n return response.data;\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Query - Check that the user has set up Multi-Factor Authentication for their account\n const queryMFA = useQuery({\n enabled: isAuthenticated,\n queryKey: ['check_Auth.getPreferredMFA'],\n queryFn: async () => {\n // Bypass Cache to always get the latest preferences for the Current User\n const currentUser = await Auth.currentAuthenticatedUser({\n bypassCache: true,\n });\n const preferredMFA = await Auth.getPreferredMFA(currentUser);\n\n const mfaOptions = ['EMAIL_OTP', 'SMS_MFA', 'SOFTWARE_TOKEN_MFA'];\n\n // Determine if the user has selected one of the available options\n return mfaOptions.includes(preferredMFA || '');\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Query - Billing Permissions\n const pathBilling = '/access/user-permissions';\n const queryBilling = useQuery({\n enabled: isAuthenticated && hasGroup(AWS_GROUP.ARC_BillingSystem),\n queryKey: [pathBilling],\n queryFn: async () => {\n const response: {\n data: BillingPermissionData[];\n } = await API.post('BillingAPI', pathBilling, {});\n\n if (response.data.length) {\n dispatch({ type: 'SET_BILLING_PERM', payload: response.data });\n } else {\n dispatch({ type: 'SET_BILLING_PERM', payload: [] });\n }\n\n return response.data;\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Not all users will have Billing permissions\n // We need to check the fetch status to see if the query is actually running\n const isLoadingBilling =\n queryBilling.isLoading && queryBilling.fetchStatus !== 'idle';\n\n // We need to check the fetch status to see if the query is actually running\n const isLoadingICA =\n queryStatus.isLoading && queryStatus.fetchStatus !== 'idle';\n\n const isLoadingMFA = queryMFA.isLoading && queryMFA.fetchStatus !== 'idle';\n\n const isAuthorizing = queryAuth.isLoading && queryAuth.fetchStatus !== 'idle';\n\n if (!props.isAdmin && props.maintData && props.maintData.maintenanceActive) {\n // Display a Maintenance Message to agents\n return (\n \n );\n } else if (\n state.isChecking ||\n isAuthorizing ||\n isLoadingICA ||\n isLoadingBilling ||\n isLoadingMFA\n ) {\n return (\n \n \n \n );\n } else if (!queryMFA.data && isAuthenticated) {\n return ;\n } else if (\n queryStatus.data &&\n queryStatus.data.HasSignedICA === false &&\n !dismissICA\n ) {\n return setDismissICA(true)} />;\n } else if (queryAuth.isError) {\n return ;\n } else if (isAuthenticated) {\n // It is possible for a user to be given the Cognito Billing Permission\n // but they have not yet been added as a User in the Billing System\n const alertBillingPermissions =\n queryBilling.error &&\n // @ts-ignore\n queryBilling.error?.response?.request?.status === 403;\n\n return (\n \n {alertBillingPermissions ? (\n \n \n \n A Billing Admin needs to add you in Billing User Administration.\n \n \n \n ) : null}\n\n {props.children}\n \n );\n } else {\n return ;\n }\n}\n","import Close from '@mui/icons-material/Close';\nimport Edit from '@mui/icons-material/Edit';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport Radio from '@mui/material/Radio';\nimport Typography from '@mui/material/Typography';\nimport localforage from 'localforage';\nimport React from 'react';\nimport { OptionDetails } from '.';\n\nexport function SelectMeter(props: {\n options: OptionDetails[];\n username: string;\n update: React.Dispatch>;\n}) {\n // Props\n const { options, username, update } = props;\n\n // State\n const [open, setOpen] = React.useState(false);\n const [selection, setSelection] = React.useState(\n 'Kiwi Birds'\n );\n\n // Check and highlight current selection\n React.useEffect(() => {\n async function getMeter() {\n const value = await localforage.getItem(`${username}-contest-meter`);\n if (value !== null) {\n setSelection(options.find((opt) => opt.name === value)?.name);\n } else {\n setSelection('Kiwi Birds');\n }\n }\n getMeter();\n }, [username, options, open]);\n\n // Update local storage with selection\n const handleSave = async () => {\n try {\n await localforage.setItem(`${username}-contest-meter`, selection);\n } finally {\n setOpen(false);\n update((currentState) => !currentState);\n }\n };\n\n return (\n \n setOpen(true)}\n >\n \n \n setOpen(false)}\n >\n \n Select Contest Meter\n
\n setOpen(false)}>\n \n \n \n \n \n {options.map((opt: OptionDetails) => {\n return (\n \n \n {opt.name}\n \n
\n setSelection(opt.name)}\n />\n
\n setSelection(opt.name)}\n value={opt.name}\n name=\"radio-button\"\n inputProps={{ 'aria-label': opt.name }}\n />\n
\n );\n })}\n \n
\n \n \n Save\n \n \n \n \n );\n}\n","import Grid from '@mui/material/Grid';\nimport Skeleton from '@mui/material/Skeleton';\nimport { API } from 'aws-amplify';\nimport localforage from 'localforage';\nimport React from 'react';\nimport { AuthContext } from '../../../../contexts/auth-context';\nimport { usePermissions } from '../../../../hooks/use-permissions';\nimport { AWS_GROUP } from '../../../../types';\nimport { captureError } from '../../../../utils/capture-error';\nimport { SelectMeter } from './select-meter';\n\nexport interface OptionDetails {\n name: string;\n full: string;\n empty: string;\n}\n\nexport function ContestMeter() {\n // Hooks\n const { checkPermissions } = usePermissions();\n const isAdmin = checkPermissions([\n AWS_GROUP.ReadAll,\n AWS_GROUP.Staff_ReadOnly,\n AWS_GROUP.Accounting,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Marketing,\n ]);\n // Context\n const {\n state: { user },\n } = React.useContext(AuthContext);\n\n // State\n const [update, setUpdate] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [contestAmt, setContestAmt] = React.useState(0);\n const [selection, setSelection] = React.useState(\n 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/images/arcnaaleads/contest-meter/Thailand-Filled.png',\n );\n const [emptyMeter, setEmptyMeter] = React.useState(\n 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/images/arcnaaleads/contest-meter/Thailand-B&W.png',\n );\n const options: OptionDetails[] = [];\n\n // Check if user has previously selected a meter\n React.useEffect(() => {\n async function getMeter() {\n const value = await localforage.getItem(`${user.username}-contest-meter`);\n if (value !== null) {\n setEmptyMeter(\n options.find((opt) => opt.name === value)?.empty || options[0].empty,\n );\n\n setSelection(\n options.find((opt) => opt.name === value)?.full || options[0].full,\n );\n }\n }\n if (options.length > 0) {\n getMeter();\n }\n\n // eslint-disable-next-line\n }, [update, user.username]);\n\n // Get contest points data\n React.useEffect(() => {\n let promise: Promise | undefined;\n setLoading(true);\n const fetchData = async () => {\n const path = '/homepage/getContestPoints';\n try {\n promise = API.post('DashboardAPI', path, {});\n const response: {\n status: string;\n data: { contestPoints: number };\n } = await promise;\n if (response.status === 'ok') {\n setContestAmt(response.data.contestPoints / 1000);\n }\n } catch (error) {\n if (!API.isCancel(error)) {\n captureError({ data: { error, request: { path } } });\n }\n } finally {\n setLoading(false);\n }\n };\n fetchData();\n return () => {\n if (promise) {\n API.cancel(promise);\n }\n };\n }, []);\n\n // Modify value to approximate amount of pixels to set the level of the gauge\n let modifiedValue = 0;\n const maxValue = 400;\n let multiplier = 1.35;\n // Adjust mulitiplier depending on contest value due to uneven spacing in the gauge image\n if (contestAmt >= 95 && contestAmt <= 150) {\n multiplier = 1.3;\n } else if (contestAmt > 150 && contestAmt <= 300) {\n multiplier = 1.28;\n } else if (contestAmt > 300) {\n multiplier = 1.265;\n }\n // Calculate value for agents but default to a full gauge for admins\n if (!isAdmin && contestAmt < maxValue) {\n modifiedValue = 515 - contestAmt * multiplier;\n }\n\n return (\n \n \n {loading ? (\n \n ) : (\n \n
\n \n
\n \n \n
\n {options.length > 0 && (\n \n )}\n
\n )}\n \n \n );\n}\n","import { Grid } from '@mui/material';\nimport Pagination from '@mui/material/Pagination';\nimport Skeleton from '@mui/material/Skeleton';\nimport { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { ContentCategoryName, ContentDocument } from '../../../types';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n head: {\n fontSize: '40px',\n fontFamily: 'Bebas Neue',\n fontWeight: 'bold',\n color: 'black',\n marginBottom: '.5em',\n marginLeft: '0px',\n },\n imageStyle: {\n boxShadow: '2px 2px 5px gray',\n marginBottom: '26px',\n width: '100%',\n cursor: 'pointer',\n },\n section: {\n width: '100%',\n [theme.breakpoints.up('lg')]: { minHeight: '880px' },\n },\n })\n);\n\nexport function Leaderboards(props: {\n content: ContentDocument[];\n loading: boolean;\n}) {\n // Props\n const { content, loading } = props;\n // State\n const [newPage, setNewPage] = React.useState(1);\n const [itemsPerPage] = React.useState(5);\n // Hooks\n const classes = useStyles();\n\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['Leaderboards']\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Pagination\n const handlePage = (e: React.ChangeEvent, page: number) => {\n setNewPage(page);\n };\n\n // Sort items\n const indexOfLastItem = newPage * itemsPerPage;\n const indexofFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexofFirstItem, indexOfLastItem);\n\n // Create Sorted Item Element\n const displayContests = currentItems.map(\n ({ DdocId, FileName, ThumbnailContent, ThumbnailName, Title }) => {\n if (FileName) {\n return (\n \n \n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n }\n );\n\n // Loading Placeholders\n let skeletons = [];\n for (var i = 0; i < 5; i++) {\n skeletons.push(\n \n );\n }\n\n return (\n \n
\n {ContentCategoryName['Leaderboards'].toUpperCase()}\n
\n\n \n {!loading && data.length ? (\n
{displayContests}
\n ) : (\n \n {skeletons.map((s) => {\n return s;\n })}\n \n )}\n\n \n
\n
\n );\n}\n","import Button from '@mui/material/Button';\nimport Grid from '@mui/material/Grid';\nimport Pagination from '@mui/material/Pagination';\nimport Skeleton from '@mui/material/Skeleton';\nimport { Theme } from '@mui/material/styles';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { format } from 'date-fns';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { DisplayMarkup } from '../../../components/display-markup';\nimport { ContentCategoryName, ContentDocument } from '../../../types';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n head: {\n fontSize: '40px',\n fontFamily: 'Bebas Neue',\n fontWeight: 'bold',\n color: 'black',\n marginBottom: '.5em',\n },\n imageStyle: {\n boxShadow: '2px 2px 5px gray',\n height: '189px',\n width: '100%',\n },\n newsHeader: {\n color: ' #0f0f0f',\n fontSize: ' 1.70em',\n fontWeight: 'bold',\n fontFamily: 'Lato',\n lineHeight: 'normal',\n minHeight: '60px',\n marginBottom: '5px',\n marginTop: '5px',\n paddingRight: '20px',\n },\n newsDescription: {\n fontSize: '15px',\n fontFamily: 'Lato',\n minHeight: '130px',\n paddingRight: '10px',\n overflow: 'hidden',\n paddingTop: '-10px',\n },\n newsDate: {\n color: '#555',\n fontSize: '12px',\n fontWeight: 'bold',\n fontFamily: 'Lato',\n marginTop: '5px',\n paddingBottom: '10px',\n },\n sectionHeight: {\n [theme.breakpoints.up('sm')]: { minHeight: '880px' },\n },\n markup: {\n '& p': {\n margin: 0,\n },\n },\n showLessMarkup: {\n WebkitLineClamp: 6,\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n '& p': {\n margin: 0,\n },\n },\n }),\n);\n\n// Read More Function\nfunction ShowMore(props: { id: number; title: string | null; desc: string }) {\n // State\n const [readMore, setReadMore] = React.useState(true);\n // Hooks\n const classes = useStyles();\n\n return (\n
\n
\n {props.title &&
{props.title}
}\n \n
\n\n setReadMore(!readMore)}\n style={{\n float: 'right',\n marginRight: 25,\n textTransform: 'none',\n textDecoration: 'underline',\n }}\n >\n {readMore ? 'Read More' : 'Close'}\n \n
\n );\n}\n\nexport function News(props: { content: ContentDocument[]; loading: boolean }) {\n // Props\n const { content, loading } = props;\n // State\n const [newPage, setNewPage] = React.useState(1);\n const [itemsPerPage] = React.useState(4);\n // Hooks\n const classes = useStyles();\n\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['News & Notes'],\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Pagination\n const handlePage = (e: React.ChangeEvent, page: number) => {\n setNewPage(page);\n };\n\n // Sort Items\n const indexOfLastItem = newPage * itemsPerPage;\n const indexofFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexofFirstItem, indexOfLastItem);\n\n // Create Sorted Item Element\n const displayNews = currentItems.map(\n ({\n DdocId,\n Title,\n DateCreated,\n Description,\n ThumbnailName,\n ThumbnailContent,\n }) => {\n const formatDate = format(new Date(DateCreated || ''), 'MMMM dd, yyyy');\n\n return (\n \n \n\n {Description ? (\n \n ) : null}\n\n
{formatDate}
\n
\n );\n },\n );\n\n // Loading Placeholders\n let skeletons = [];\n for (var i = 0; i < 4; i++) {\n skeletons.push(\n \n \n \n \n \n \n \n \n \n \n
\n\n \n ,\n );\n }\n\n return (\n \n
\n {ContentCategoryName['News & Notes'].toUpperCase()}\n
\n \n \n {!loading && data.length ? (\n \n
\n \n {displayNews}\n \n
\n
\n ) : (\n \n {skeletons.map((s) => {\n return s;\n })}\n \n )}\n\n \n
\n
\n
\n );\n}\n","import { Grid } from '@mui/material';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { API } from 'aws-amplify';\nimport * as Highcharts from 'highcharts';\nimport HighchartsReact from 'highcharts-react-official';\nimport React, { useState } from 'react';\nimport { captureError } from '../../../utils/capture-error';\nimport { toCurrency } from '../../../utils/formatter';\nimport styles from './speedometer.module.css';\n\ndeclare var require: NodeRequire;\nrequire('highcharts/highcharts-more')(Highcharts);\nrequire('highcharts/modules/solid-gauge')(Highcharts);\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n revButton: {\n backgroundColor: '#191919',\n color: 'white',\n borderRadius: '3px',\n padding: '11px',\n border: 'none',\n fontSize: '1.2em',\n cursor: 'pointer',\n marginTop: -15,\n marginBottom: '15px',\n position: 'relative',\n },\n monthlyGoalLabels: {\n color: '#555',\n fontSize: '16.5px',\n fontWeight: 700,\n fontFamily: 'Lato',\n },\n monthlyGoalInput: {\n height: '40px',\n width: '100%',\n textAlign: 'center',\n marginTop: '5px',\n fontSize: '2em',\n fontWeight: 'bold',\n fontFamily: 'inherit',\n border: '1px solid transparent',\n borderBottom: '1px solid #ddd',\n boxShadow: ' inset 0 1px 2px rgba(0,0,0,0.39)',\n [theme.breakpoints.down('md')]: {\n width: '75%',\n },\n },\n })\n);\n\nexport function Speedometer() {\n const classes = useStyles();\n const [options, setOptions] = useState({});\n const [commissionValue, setCommissionValue] = useState(0);\n const [gaugeValue, setGaugeValue] = useState(0);\n const [commissionLabel, setCommissionLabel] = useState(0);\n const [seriesValue, setSeriesValue] = useState(0);\n const [speedGoal, setSpeedGoal] = useState(20);\n const [savedSpeed, setSavedSpeed] = useState(20);\n const [shaking, setShaking] = useState(false);\n const [rev, setRev] = useState(false);\n const [update, setUpdate] = useState(false);\n const audio = new Audio(\n 'https://a02a41c004c75ffe8d91-b19a28bfebdacc37eb56f25bc81c2f2f.ssl.cf1.rackcdn.com/documents/arc/homepage/audio/InfinityEngineSound.mp3'\n );\n\n // Update Speedometer Goal\n const handleBlur = async () => {\n if (speedGoal !== null) {\n setSavedSpeed(speedGoal);\n revUp();\n const path = '/homepage/speedometer/upsert';\n const body = { Goal: speedGoal };\n try {\n await API.post('DashboardAPI', path, { body });\n } catch (error) {\n captureError({ data: { error, request: { path, body } } });\n }\n }\n };\n const revUp = () => {\n setRev(!rev);\n };\n\n // Rev Engine Animation\n const isMounted = React.useRef(true);\n React.useEffect(() => {\n if (isMounted.current) {\n isMounted.current = false;\n } else {\n const playPromise = audio.play();\n setSeriesValue(savedSpeed);\n setShaking(true);\n if (playPromise !== undefined) {\n playPromise.then((_) => {}).catch((error) => {});\n }\n setTimeout(() => {\n setSeriesValue(commissionValue);\n setShaking(false);\n }, 3000);\n }\n // eslint-disable-next-line\n }, [rev, update]);\n\n React.useEffect(() => {\n if (commissionValue < savedSpeed) {\n setGaugeValue(commissionValue);\n } else {\n setGaugeValue(savedSpeed);\n }\n }, [savedSpeed, commissionValue]);\n\n // Get Speedometer Data\n React.useEffect(() => {\n let promise: Promise | undefined;\n const fetchData = async () => {\n const path = '/homepage/speedometer';\n try {\n promise = API.post('DashboardAPI', path, {});\n const response: {\n status: string;\n data: any;\n } = await promise;\n\n if (response.status === 'ok' && response.data.length > 0) {\n const data = response.data[0];\n setCommissionValue(data.Commission / 1000);\n setSavedSpeed(parseInt(data.Goal || 20));\n setCommissionLabel(data.Commission);\n setSpeedGoal(data.Goal);\n }\n } catch (error) {\n if (!API.isCancel(error)) {\n captureError({ data: { error, request: { path } } });\n }\n } finally {\n setUpdate((u) => {\n return !u;\n });\n }\n };\n fetchData();\n\n return () => {\n if (promise) {\n API.cancel(promise);\n }\n };\n }, []);\n\n React.useEffect(() => {\n setOptions({\n chart: {\n type: 'gauge',\n backgroundColor: '#FAFAFA',\n plotBackgroundImage: null,\n plotBorderWidth: 0,\n plotShadow: false,\n marginTop: 50,\n marginBottom: 20,\n spacing: 0,\n height: '375px',\n animation: {\n duration: 1000,\n easing: (t: number) =>\n t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\n },\n },\n title: {\n text: 'ARC Deposits',\n style: {\n color: '#000000',\n fontSize: '40px',\n fontFamily: 'Bebas Neue',\n fontWeight: 'bold',\n },\n },\n exporting: { enabled: false },\n pane: {\n startAngle: -150,\n endAngle: 150,\n background: [\n {\n backgroundColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [\n [0, '#868686'],\n [0.25, '#fff'],\n [0.5, '#686868'],\n [0.75, '#fff'],\n [1, '#1a1a1a'],\n ],\n },\n borderWidth: 0,\n outerRadius: '115%',\n },\n {\n backgroundColor: {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },\n stops: [\n [0, '#333'],\n [1, '#FFF'],\n ],\n },\n borderWidth: 1,\n outerRadius: '107%',\n },\n {},\n {\n backgroundColor: '#DDD',\n borderWidth: 0,\n outerRadius: '105%',\n innerRadius: '103%',\n },\n ],\n },\n yAxis: {\n min: 0,\n max: savedSpeed,\n overflow: 'hidden',\n minorTickInterval: 'auto',\n minorTickWidth: 1,\n minorTickLength: 10,\n minorTickPosition: 'inside',\n minorTickColor: '#666',\n tickPixelInterval: 30,\n tickWidth: 2,\n tickPosition: 'inside',\n tickLength: 10,\n tickColor: '#333',\n labels: {\n step: 2,\n rotation: 'auto',\n },\n title: {\n y: 22,\n text: 'N247RU',\n style: {\n fontSize: '20px',\n color: '#000000',\n fontWeight: 'bolder',\n fontStyle: 'italic',\n fontFamily: 'Lato',\n },\n },\n plotBands: [\n {\n from: 0,\n to: gaugeValue,\n color: 'green',\n },\n {\n from: gaugeValue,\n to: savedSpeed,\n color: '#A2A2A2',\n },\n ],\n },\n series: [\n {\n name: 'Commissions',\n data: [seriesValue],\n },\n ],\n plotOptions: {\n gauge: {\n dataLabels: [{ enabled: false }],\n dial: {\n backgroundColor: 'orange',\n baseWidth: 10,\n baseLength: '5%',\n radius: '90%',\n },\n },\n },\n tooltip: {\n enabled: false,\n },\n credits: {\n enabled: false,\n },\n });\n // eslint-disable-next-line\n }, [seriesValue, rev]);\n\n return (\n \n
\n \n
\n \n
\n
Last 30 Days {toCurrency({ value: commissionLabel })}
\n
Last 30 Days $ Goal in 1000s
\n
\n
\n {\n setSpeedGoal(parseInt(e.target.value) || 0);\n }}\n >\n
\n
\n );\n}\n","import { Grid } from '@mui/material';\nimport Skeleton from '@mui/material/Skeleton';\nimport makeStyles from '@mui/styles/makeStyles';\nimport orderBy from 'lodash/orderBy';\nimport { ContentCategoryName, ContentDocument } from '../../../types';\n\nconst useStyles = makeStyles({\n head: {\n fontSize: '40px',\n fontFamily: 'Bebas Neue',\n fontWeight: 'bold',\n color: 'black',\n marginBottom: '.5em',\n },\n imageStyle: {\n boxShadow: '2px 2px 5px gray',\n width: '100%',\n cursor: 'pointer',\n },\n});\n\nexport function Events(props: {\n content: ContentDocument[];\n loading: boolean;\n}) {\n // Props\n const { content, loading } = props;\n // Hooks\n const classes = useStyles();\n\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['Upcoming Events']\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Create Sorted Item Element\n const displayEvents = data.map(\n ({ DdocId, FileName, ThumbnailName, ThumbnailContent, Title, URL }) => {\n if (FileName || URL) {\n return (\n \n \n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n }\n );\n\n return (\n \n
\n {ContentCategoryName['Upcoming Events'].toUpperCase()}\n
\n\n {!loading && data.length ? (\n \n {displayEvents}\n \n ) : (\n \n {Array.from({ length: 3 }).map((_, index) => {\n return (\n \n \n \n );\n })}\n \n )}\n
\n );\n}\n","export default __webpack_public_path__ + \"static/media/logo-call-activity.dc92e235.png\";","import HeadsetMicIcon from '@mui/icons-material/HeadsetMic';\nimport YouTubeIcon from '@mui/icons-material/YouTube';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport Paper from '@mui/material/Paper';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport moment from 'moment-timezone';\nimport React from 'react';\nimport logoCallActivity from '../../../assets/logo-call-activity.png';\nimport logoCallWednesday from '../../../assets/logo-call-wednesday.png';\nimport logoProdCast from '../../../assets/logo-prodcast.png';\n\n// useInterval from\n// https://overreacted.io/making-setinterval-declarative-with-react-hooks/\ntype IntervalFunction = () => unknown | void;\nfunction useInterval(callback: IntervalFunction, delay: number) {\n const savedCallback = React.useRef(null);\n\n // Remember the latest callback.\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n React.useEffect(() => {\n function tick() {\n if (savedCallback.current !== null) {\n savedCallback.current();\n }\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\ninterface ConferenceCall {\n day: number;\n name: string;\n dateDay: string;\n dateTime: string;\n phone: string;\n code: string;\n youtube: string;\n logo: string;\n}\n\nconst conferenceCalls: ConferenceCall[] = [\n {\n day: 3,\n name: 'TWC',\n dateDay: 'Wednesday',\n dateTime: '@ 12:30 PM ET',\n phone: '312-626-6799',\n code: '969 606 853#',\n youtube: 'https://www.youtube.com/theallianceyt',\n logo: logoCallWednesday,\n },\n {\n day: 4,\n name: 'Product Call',\n dateDay: 'Thursday',\n dateTime: '@ 1:00 PM ET',\n phone: '253-215-8782',\n code: '875 5255 6016',\n youtube:\n 'https://us02web.zoom.us/j/85370582123?pwd=UzFydkcyVmhoWjNlSmxxREhaR3U4QT09',\n logo: logoProdCast,\n },\n {\n day: 5,\n name: 'Activity Call',\n dateDay: 'Friday',\n dateTime: '@ 10:00 AM ET',\n phone: '312-626-6799',\n code: '969 606 853#',\n youtube: 'https://www.youtube.com/theallianceyt',\n logo: logoCallActivity,\n },\n];\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n title: {\n fontSize: 18,\n fontFamily: 'Bebas Neue',\n fontWeight: 'bold',\n lineHeight: 1,\n [theme.breakpoints.up('sm')]: {\n fontSize: 22,\n },\n [theme.breakpoints.up('md')]: {\n fontSize: 26,\n },\n [theme.breakpoints.up('lg')]: {\n fontSize: 30,\n },\n },\n iconText: {\n whiteSpace: 'nowrap',\n fontSize: 12,\n [theme.breakpoints.up('sm')]: {\n fontSize: 14,\n },\n [theme.breakpoints.up('md')]: {\n fontSize: 16,\n },\n [theme.breakpoints.up('lg')]: {\n fontSize: 18,\n },\n },\n }),\n);\n\nfunction DisplayCall(props: { call: ConferenceCall }) {\n // Props\n const { call } = props;\n // State\n const [isLive, setIsLive] = React.useState(false);\n // Hooks\n const classes = useStyles();\n\n const getStatus = () => {\n const day = new Date().getDay();\n\n if (call.day === day) {\n let hour = moment().tz('America/New_York').format('H');\n if (hour.toString().length < 2) {\n hour = `0${hour}`;\n }\n\n let minute = moment().tz('America/New_York').format('m');\n if (minute.toString().length < 2) {\n minute = `0${minute}`;\n }\n\n const timeOfDay = `${hour}:${minute}`;\n if (day === 3 && timeOfDay >= '12:15' && timeOfDay <= '14:00') {\n return true;\n } else if (day === 4 && timeOfDay >= '12:45' && timeOfDay <= '14:00') {\n return true;\n } else if (day === 5 && timeOfDay >= '09:45' && timeOfDay <= '11:00') {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n\n React.useEffect(() => {\n setIsLive(getStatus());\n // ignore 'getStatus' missing dependency array warning\n // eslint-disable-next-line\n }, []);\n\n // 10 second delay between intervals\n const delay = 10 * 1000;\n useInterval(() => {\n setIsLive(getStatus());\n }, delay);\n\n return (\n \n \n \n \n \n
\n
\n
Every {call.dateDay}
\n
{call.dateTime}
\n
\n\n \n \n \n \n
Watch Live
\n
\n\n \n \n \n \n
Dial In
\n
\n \n\n {isLive ? (\n
\n \n Live Now\n
\n \n ) : null}\n \n \n );\n}\n\nexport function WeeklyCalls() {\n return (\n
\n \n \n \n WEEKLY CALLS\n
\n \n\n {conferenceCalls.map((call) => {\n return ;\n })}\n \n \n );\n}\n","export default __webpack_public_path__ + \"static/media/logo-call-wednesday.38bb7b2b.png\";","export default __webpack_public_path__ + \"static/media/logo-prodcast.7309d43c.png\";","import { Container, Grid } from '@mui/material';\nimport { useQuery } from '@tanstack/react-query';\nimport { API } from 'aws-amplify';\nimport { RouteContainer } from '../../components/route-container';\nimport { ContentCategoryName, ContentDocument } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { ContestMeter } from './sections/contest-meter';\nimport { Leaderboards } from './sections/leaderboards';\nimport { News } from './sections/news-notes';\nimport { Speedometer } from './sections/speedometer';\nimport { Events } from './sections/upcoming-events';\nimport { WeeklyCalls } from './sections/weekly-calls';\n\nexport function HomeOG() {\n // Query - Homepage Content\n const path = '/homepage/dashboard/document';\n const query = useQuery({\n queryKey: [path],\n queryFn: async () => {\n const response: {\n data: ContentDocument[];\n } = await API.post('DashboardAPI', path, {\n body: {\n Categories: [\n ContentCategoryName['Leaderboards'],\n ContentCategoryName['News & Notes'],\n ContentCategoryName['Upcoming Events'],\n ],\n },\n });\n\n if (response.data) {\n return response.data;\n }\n\n return [];\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import Box from '@mui/material/Box';\nimport { grey } from '@mui/material/colors';\nimport Pagination from '@mui/material/Pagination';\nimport Paper from '@mui/material/Paper';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { homeStyles } from '.';\nimport { ContentCategoryName, ContentDocument } from '../../types';\n\nexport function ContestLeaderboards(props: {\n content: ContentDocument[];\n loading: boolean;\n isMobile: boolean;\n}) {\n // Props\n const { content, loading, isMobile } = props;\n // State\n const [newPage, setNewPage] = React.useState(1);\n const [itemsPerPage] = React.useState(5);\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['Leaderboards'],\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Pagination\n const handlePage = (e: React.ChangeEvent, page: number) => {\n setNewPage(page);\n };\n\n // Sort items\n const indexOfLastItem = newPage * itemsPerPage;\n const indexofFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexofFirstItem, indexOfLastItem);\n\n // Create Sorted Item Element\n const displayContests = currentItems.map(\n ({ DdocId, FileName, ThumbnailContent, ThumbnailName, Title }) => {\n if (FileName) {\n return (\n \n \n \n \n \n );\n } else {\n return (\n \n \n
\n );\n }\n },\n );\n\n // Loading Placeholders\n let skeletons = [];\n for (var i = 0; i < 5; i++) {\n skeletons.push(\n ,\n );\n }\n\n return (\n \n \n \n CONTEST LEADERBOARDS\n \n\n {!loading && data.length ? (\n \n {displayContests}\n \n ) : (\n \n {skeletons.map((s) => {\n return s;\n })}\n \n )}\n\n \n \n \n );\n}\n","import { FormatListNumbered, SignalCellularAlt } from '@mui/icons-material';\nimport { Box, Stack, styled, Switch, Tooltip } from '@mui/material';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport Bowser from 'bowser';\nimport * as Highcharts from 'highcharts';\nimport HighchartsReact from 'highcharts-react-official';\nimport React from 'react';\nimport { ChartRanking, homeStyles } from '..';\nimport { AnimateIn } from '../../../components/animate-in';\nimport { toCurrency } from '../../../utils/formatter';\n\nconst detectMobile = (): boolean => {\n const parser = Bowser.getParser(window.navigator.userAgent);\n return parser.getPlatform().type === 'mobile';\n};\n\ndeclare var require: NodeRequire;\nrequire('highcharts/highcharts-more')(Highcharts);\n\nexport function Chart(props: {\n AgtNo: string;\n Title: string;\n data: ChartRanking[];\n isCurrency?: boolean;\n mobileOpen?: string | null;\n}) {\n // Props\n const { AgtNo, Title, data, isCurrency, mobileOpen } = props;\n // Hooks\n const width = useWindowWidth();\n const isMobile = detectMobile();\n // State\n const [toggle, setToggle] = React.useState(false);\n\n React.useEffect(() => {\n setToggle(mobileOpen === 'list' ? true : false);\n }, [mobileOpen]);\n\n const CustomSwitch = styled(Switch)({\n '.MuiSwitch-thumb': {\n backgroundColor: '#fff',\n },\n '.MuiSwitch-track': {\n backgroundColor: '#272727',\n },\n '& .Mui-checked': {\n '.MuiSwitch-thumb': {\n backgroundColor: '#fff',\n },\n '+ .MuiSwitch-track': {\n backgroundColor: '#272727',\n },\n },\n });\n\n const chart = {\n chart: {\n type: 'column',\n backgroundColor: '#00000000',\n width: isMobile ? width * 0.65 : 350,\n height: width < 400 ? '300px' : null,\n },\n title: {\n text: '',\n },\n plotOptions: {\n column: {\n minPointLength: 3,\n },\n },\n\n xAxis: {\n type: 'category',\n lineWidth: 0,\n labels: {\n rotation: [-45],\n useHTML: true,\n formatter: function (x: { value: string }) {\n // Find the matching AgtNo\n const isAgent = data.find(\n (i) => i.AgtName === x.value && i.AgtNo === AgtNo,\n );\n return ` 15 ? '6px' : '8px'};font-family:'Lato';\">\n ${x.value}\n `;\n },\n },\n },\n yAxis: {\n min: 0,\n gridLineWidth: 0,\n title: {\n text: '',\n },\n labels: {\n style: {\n color: '#fff',\n fontSize: width < 400 ? '8px' : '10px',\n fontWeight: 'bold',\n },\n },\n },\n legend: {\n enabled: false,\n },\n tooltip: {\n useHTML: true,\n backgroundColor: '#17191B',\n borderRadius: 25,\n borderWidth: 3,\n style: {\n color: '#fff',\n display: 'flex',\n },\n // @ts-ignore\n formatter: function () {\n // @ts-ignore\n const value = this.point.y;\n // @ts-ignore\n const name = this.point.options.name;\n return `\n
\n ${name}\n ${\n isCurrency\n ? toCurrency({\n value: value,\n })\n : value\n } \n
`;\n },\n },\n series: [\n {\n groupPadding: 0,\n borderWidth: 0,\n borderRadius: 5,\n data: data.map((i) => {\n const isHighlighted = i.AgtNo === AgtNo; // Check if AgtNo matches\n return {\n name: i.AgtName,\n y: i.Total,\n color: isHighlighted\n ? {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, // Highlight color\n stops: [\n [0, '#00FF99'],\n [0.5, '#12D88E'],\n [1, '#388277'],\n ],\n }\n : {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, // Default color\n stops: [\n [0, '#00BBFF'],\n [1, '#00527A'],\n ],\n },\n };\n }),\n },\n ],\n credits: {\n enabled: false,\n },\n };\n\n return (\n \n \n \n {Title}\n \n \n \n \n setToggle(!toggle)}\n />\n \n \n \n \n\n {!toggle ? (\n \n ) : (\n \n \n {data.map((i, index) => {\n return (\n \n \n {index < 5 ? index + 1 + '.' : '\\u2014'}\n \n 15 ? 12 : 14,\n }}\n >\n {i.AgtName}\n \n\n \n {Math.floor(i.Total || 0).toLocaleString()}\n \n \n );\n })}\n \n \n )}\n \n );\n}\n","import Close from '@mui/icons-material/Close';\nimport { Box, Divider, IconButton, Stack, Tooltip } from '@mui/material';\nimport { grey } from '@mui/material/colors';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport * as Highcharts from 'highcharts';\nimport HighchartsReact from 'highcharts-react-official';\nimport React from 'react';\nimport { ChartRanking, homeStyles } from '..';\nimport { AnimateIn } from '../../../components/animate-in';\nimport { Chart } from './chart';\n\ndeclare var require: NodeRequire;\nrequire('highcharts/highcharts-more')(Highcharts);\n\nexport function MobileChart(props: {\n AgtNo: string;\n Title: string;\n data: ChartRanking[];\n isCurrency?: boolean;\n}) {\n // Props\n const { AgtNo, Title, data, isCurrency } = props;\n // Hooks\n const width = useWindowWidth();\n // State\n const [open, setOpen] = React.useState(null);\n\n const chart = {\n chart: {\n type: 'column',\n backgroundColor: '#00000000',\n height: 125,\n width: width < 400 ? width * 0.3 : width * 0.35,\n },\n plotOptions: {\n column: {\n minPointLength: 3,\n },\n },\n title: {\n text: Title,\n align: 'center',\n style: {\n color: '#fff',\n fontWeight: 'bold',\n fontSize: 12,\n fontFamily: 'Lato',\n letterSpacing: 1,\n },\n },\n xAxis: {\n type: 'category',\n lineWidth: 0,\n labels: {\n enabled: false,\n },\n },\n yAxis: {\n gridLineWidth: 0,\n title: {\n text: '',\n },\n labels: {\n enabled: false,\n },\n },\n legend: {\n enabled: false,\n },\n tooltip: {\n enabled: false,\n },\n series: [\n {\n groupPadding: 0,\n borderWidth: 0,\n borderRadius: 5,\n data: data.map((i) => {\n const isHighlighted = i.AgtNo === AgtNo; // Check if AgtNo matches\n return {\n name: i.AgtName,\n y: i.Total,\n color: isHighlighted\n ? {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, // Highlight color\n stops: [\n [0, '#00FF99'], // Gold color for highlight\n [0.5, '#12D88E'], // Gold color for highlight\n [1, '#388277'],\n ],\n }\n : {\n linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 }, // Default color\n stops: [\n [0, '#00BBFF'],\n [1, '#00527A'],\n ],\n },\n };\n }),\n },\n ],\n\n credits: {\n enabled: false,\n },\n };\n\n return (\n \n {\n open === 'graph' ? setOpen(null) : setOpen('graph');\n }}\n >\n \n \n {\n open === 'list' ? setOpen(null) : setOpen('list');\n }}\n >\n {data.map((i) => {\n return (\n \n \n \n {i.AgtName}\n \n \n {Math.floor(i.Total || 0).toLocaleString()}\n \n );\n })}\n \n {open !== null && (\n \n \n \n\n setOpen(null)}\n >\n \n \n\n \n \n \n )}\n \n );\n}\n","import Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport { HomeDashData, homeStyles } from '..';\nimport { Chart } from './chart';\nimport { MobileChart } from './mobile-chart';\n\nexport function AgentDashboard(props: {\n AgtNo: string;\n data: HomeDashData;\n isMobile: boolean;\n}) {\n // Props\n const { AgtNo, data, isMobile } = props;\n\n return (\n \n \n Top 5 Agents Leaderboard
{' '}\n (Last 30 Days)\n \n\n {isMobile ? (\n \n \n \n CHARTS\n Click to Expand\n \n \n TOP 5Click to Expand\n \n \n\n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n )}\n \n );\n}\n","export default \"data:image/png;base64,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\"","import Close from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport IconButton from '@mui/material/IconButton';\nimport Paper from '@mui/material/Paper';\nimport Slide from '@mui/material/Slide';\nimport Typography from '@mui/material/Typography';\nimport grey from '@mui/material/colors/grey';\nimport { TransitionProps } from '@mui/material/transitions';\nimport { GoogleMap, useJsApiLoader } from '@react-google-maps/api';\nimport { useQuery } from '@tanstack/react-query';\nimport { API } from 'aws-amplify';\nimport React from 'react';\nimport { ReactComponent as CollapseIcon } from '../../../assets/collapse.svg';\nimport { ReactComponent as ExpandIcon } from '../../../assets/expand.svg';\nimport { AnimateIn } from '../../../components/animate-in';\nimport { captureError } from '../../../utils/capture-error';\nimport { HotspotData, MapHotspot } from '../../business/crm/map-hotspot';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & { children: React.ReactElement },\n ref: React.Ref,\n) {\n return ;\n});\n\nexport function HotSpotsMap(props: {\n height: number;\n isMobile: boolean;\n open: boolean;\n onOpen: () => void;\n}) {\n // Props\n const { height, isMobile, open } = props;\n // Ref\n const mapRef = React.useRef(null);\n // State\n const [loading, setLoading] = React.useState(true);\n const [expand, setExpand] = React.useState(false);\n const [userLocation, setUserLocation] =\n React.useState();\n\n // Query - Hotspots\n const path = '/meetings';\n const query = useQuery({\n queryKey: [path],\n queryFn: async () => {\n const response: {\n data: HotspotData[];\n } = await API.post('DashboardAPI', '/meetings', {});\n\n if (response.data) {\n return response.data\n .map((meeting) => ({\n ...meeting,\n Latitude: Number(meeting.Latitude),\n Longitude: Number(meeting.Longitude),\n }))\n .filter(\n (i) =>\n i.Longitude &&\n i.Longitude !== 0 &&\n i.Latitude &&\n i.Latitude !== 0,\n );\n }\n\n return [];\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Get user's location\n React.useEffect(() => {\n const getCurrentPosition = () => {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(\n (successCallback) => {\n resolve(successCallback);\n },\n (errorCallback) => {\n reject(errorCallback);\n },\n );\n });\n };\n const fetchData = async () => {\n try {\n setLoading(true);\n // Alliance Convention Center\n // @ts-ignore\n const defaultCoordinates: GeolocationCoordinates = {\n accuracy: 10,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n latitude: 36.07813,\n longitude: -79.432279,\n speed: null,\n };\n\n if ('geolocation' in navigator) {\n // Coordinates\n try {\n const position =\n (await getCurrentPosition()) as GeolocationPosition;\n setUserLocation(position.coords);\n } catch (error) {\n // Permission was denied\n setUserLocation(defaultCoordinates);\n }\n } else {\n /* geolocation IS NOT available */\n setUserLocation(defaultCoordinates);\n }\n } catch (error) {\n captureError({ data: { error } });\n } finally {\n setLoading(false);\n }\n };\n fetchData();\n }, []);\n\n const { isLoaded } = useJsApiLoader({\n id: 'google-map-script',\n googleMapsApiKey: process.env.REACT_APP_MAPS_API_KEY || '',\n });\n\n // Close mobile dialog\n const handleClose = () => {\n props.onOpen();\n };\n\n let dataHotspots: HotspotData[] = query.data || [];\n\n // Coordinates for centering the map\n // Default to coordinates for the Alliance Convention Center\n const center = { lat: 36.07813, lng: -79.432279 };\n if (userLocation) {\n // center map based on user's location\n center.lat = userLocation.latitude;\n center.lng = userLocation.longitude;\n }\n\n const content = (\n \n \n {isLoaded && !loading ? (\n \n {isMobile && (\n setExpand((currentState) => !currentState)}\n >\n {!expand ? (\n \n ) : (\n \n )}\n \n )}\n\n {dataHotspots.map((meeting) => {\n return ;\n })}\n \n ) : (\n \n \n \n )}\n \n \n );\n\n return (\n \n {isMobile ? (\n \n {!expand && (\n \n \n HotSpots Map\n \n \n \n \n \n )}\n {content}\n \n ) : (\n \n \n {content}\n \n \n )}\n \n );\n}\n","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport { grey } from '@mui/material/colors';\nimport Paper from '@mui/material/Paper';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { homeStyles } from '..';\nimport HotSpotsLogo from '../../../assets/hotspots-logo.png';\nimport { ContentCategoryName, ContentDocument } from '../../../types';\nimport { HotSpotsMap } from './hotspots-map';\n\nexport function Events(props: {\n content: ContentDocument[];\n loading: boolean;\n isMobile: boolean;\n}) {\n // Props\n const { content, loading, isMobile } = props;\n // State\n const [openMap, setOpenMap] = React.useState(false);\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['Upcoming Events'],\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Create Sorted Item Element\n const displayEvents = data.map(\n ({ DdocId, FileName, ThumbnailName, ThumbnailContent, Title, URL }) => {\n if (FileName || URL) {\n return (\n \n \n \n \n\n \n \n {URL && URL.includes('/events/') ? 'Get Tickets' : 'More Info'}\n \n \n \n );\n } else {\n return (\n \n \n \n );\n }\n },\n );\n\n const handleOpenMap = () => {\n setOpenMap(!openMap);\n };\n\n const mobileHotSpots = (\n \n \n \n \n\n \n \n Open Map\n \n \n \n );\n\n return (\n \n \n \n \n HOTSPOTS NEAR ME\n \n\n \n \n \n \n \n \n UPCOMING EVENTS\n \n {!loading && data.length ? (\n \n {isMobile && mobileHotSpots}\n\n {displayEvents}\n \n ) : (\n \n {Array.from({ length: 3 }).map((_, index) => {\n return (\n \n \n \n );\n })}\n \n )}\n \n \n \n );\n}\n","import { Box, Button, Paper, Stack, Theme } from '@mui/material';\nimport { grey } from '@mui/material/colors';\nimport Pagination from '@mui/material/Pagination';\nimport Skeleton from '@mui/material/Skeleton';\nimport createStyles from '@mui/styles/createStyles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { format } from 'date-fns';\nimport orderBy from 'lodash/orderBy';\nimport React from 'react';\nimport { homeStyles } from '.';\nimport { DisplayMarkup } from '../../components/display-markup';\nimport { ContentCategoryName, ContentDocument } from '../../types';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n markup: {\n '& p': {\n margin: 0,\n },\n '& a': {\n color: 'aqua',\n },\n },\n showLessMarkup: {\n WebkitLineClamp: 10,\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n '& p': {\n margin: 0,\n },\n '& a': {\n color: 'aqua',\n },\n },\n }),\n);\n\n// Read More Function\nfunction ShowMore(props: { item: ContentDocument; isMobile: boolean }) {\n // Props\n const { item, isMobile } = props;\n // State\n const [readMore, setReadMore] = React.useState(true);\n // Hooks\n const classes = useStyles();\n\n const formatDate = format(\n item.DateCreated ? new Date(item.DateCreated) : new Date(),\n 'MMMM dd, yyyy',\n );\n\n return (\n \n \n \n {item.Title}\n \n \n {formatDate}\n \n\n \n \n\n {item.Description\n ? (isMobile\n ? item.Description.length > 400\n : item.Description.length > 500) && (\n setReadMore(!readMore)}\n sx={{\n float: 'right',\n mt: 1,\n mr: 1,\n fontFamily: 'Lato',\n fontWeight: 'bold',\n }}\n >\n {readMore ? 'Read More' : 'Close'}\n \n )\n : null}\n \n );\n}\n\nexport function NewsAndNotes(props: {\n content: ContentDocument[];\n loading: boolean;\n isMobile: boolean;\n}) {\n // Props\n const { content, loading, isMobile } = props;\n // State\n const [newPage, setNewPage] = React.useState(1);\n const [itemsPerPage] = React.useState(1);\n const dataFiltered = content.filter(\n (c) => c.Category === ContentCategoryName['News & Notes'],\n );\n const data = orderBy(dataFiltered, 'DdocIndex');\n\n // Pagination\n const handlePage = (e: React.ChangeEvent, page: number) => {\n setNewPage(page);\n };\n\n // Sort Items\n const indexOfLastItem = newPage * itemsPerPage;\n const indexofFirstItem = indexOfLastItem - itemsPerPage;\n const currentItems = data.slice(indexofFirstItem, indexOfLastItem);\n\n // Create Sorted Item Element\n const displayNews = currentItems.map((i) => {\n return (\n \n \n\n {i.Description ? : null}\n \n );\n });\n\n return (\n \n \n \n NEWS & NOTES\n \n\n {!loading && data.length ? (\n {displayNews}\n ) : (\n \n )}\n\n \n \n \n );\n}\n","import { East } from '@mui/icons-material';\nimport {\n Tooltip,\n tooltipClasses,\n TooltipProps,\n Typography,\n} from '@mui/material';\nimport Box from '@mui/material/Box';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/styles';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport React from 'react';\nimport { HomeDashData, homeStyles } from '..';\n\nexport function BadgeLevel(props: {\n data?: HomeDashData;\n loading: boolean;\n isMobile: boolean;\n}) {\n // Props\n const { data, loading, isMobile } = props;\n // Hooks\n const width = useWindowWidth();\n\n const isTopLvl = data?.NextLvlImagePath === null;\n\n const CustomTooltip = styled(({ className, ...props }: TooltipProps) => (\n \n ))(() => ({\n [`& .${tooltipClasses.tooltip}`]: {\n backgroundColor: '#17191B',\n color: '#fff',\n maxWidth: 250,\n border: '1px solid #d0d0d0',\n borderRadius: 10,\n fontFamily: 'Lato',\n textAlign: 'center',\n },\n [`& .${tooltipClasses.arrow}`]: {\n color: '#17191B',\n '&:before': {\n border: '1px solid #d0d0d0',\n },\n },\n }));\n\n return (\n \n \n Level Badge\n \n {!loading && data !== undefined ? (\n \n \n \n \n {!isTopLvl ? (\n \n \n \n \n \n \n \n How To Upgrade Your Level!\n \n \n {data?.BadgeNextLvlInfo}\n \n \n }\n >\n \n \n Upgrade{' '}\n \n \n \n \n ) : null}\n \n ) : (\n \n \n \n \n \n )}\n \n );\n}\n","import API from '@aws-amplify/api';\nimport Box from '@mui/material/Box';\nimport Slider, { SliderThumb } from '@mui/material/Slider';\nimport { styled } from '@mui/material/styles';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport { useQuery } from '@tanstack/react-query';\nimport { homeStyles } from '..';\nimport { captureError } from '../../../utils/capture-error';\nimport { isAgt } from '../../../utils/is-agent';\n\nexport function ContestTracker(props: { AgtNo: string }) {\n // Props\n const { AgtNo } = props;\n // Hooks\n const width = useWindowWidth();\n // State\n let marks = [\n { value: 0, label: '0' },\n { value: 100000, label: '100k' },\n { value: 200000, label: '200k' },\n { value: 300000, label: '300k' },\n { value: 400000, label: '400k' },\n ];\n\n if (width < 900) {\n marks = [\n { value: 0, label: '0' },\n { value: 200000, label: '200k' },\n { value: 400000, label: '400k' },\n ];\n }\n\n // Query - Trip Tracker Points ?\n const path = '/homepage/getContestPoints';\n const queryKey = [path];\n const query = useQuery({\n enabled: isAgt(AgtNo),\n queryKey,\n queryFn: async () => {\n const response: {\n data: { contestPoints: number };\n } = await API.post('DashboardAPI', path, {});\n\n return response.data;\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Custom Slider Componenet\n const ContestSlider = styled(Slider)(({ theme }) => ({\n '.MuiSlider-markLabel': {\n color: '#fff',\n fontSize: 12,\n letterSpacing: 5,\n fontFamily: 'Lato',\n },\n '.MuiSlider-valueLabel': {\n backgroundColor: '#17191B',\n fontFamily: 'Lato',\n },\n '.MuiSlider-rail': {\n background: `linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.6)),\n linear-gradient(180deg, rgba(23, 25, 27, 0) 0%, rgba(23, 25, 27, 0.5) 100%);`,\n height: 10,\n },\n '.MuiSlider-track': {\n background: `linear-gradient(90deg, #CE0E2D 0%, #FF257C 100%);`,\n height: 10,\n },\n '.MuiSlider-thumb': {\n height: 45,\n width: 45,\n backgroundColor: '#00000000',\n '&:before': {\n boxShadow: 'none',\n },\n },\n }));\n interface ContestThumbComponentProps extends React.HTMLAttributes {}\n function ContestThumbComponent(props: ContestThumbComponentProps) {\n const { children, ...other } = props;\n let color = 'white';\n if ((query.data && query.data.contestPoints >= 400000) || !isAgt(AgtNo)) {\n color = 'url(#myGradient)';\n }\n return (\n \n {children}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n return (\n \n Thailand Trip Tracker \n \n {\n return i.toLocaleString();\n }}\n marks={marks}\n min={0}\n max={400000}\n slots={{ thumb: ContestThumbComponent }}\n />\n \n \n );\n}\n","import API from '@aws-amplify/api';\nimport { Launch } from '@mui/icons-material';\nimport Box from '@mui/material/Box';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\nimport Tooltip from '@mui/material/Tooltip';\nimport { useQuery } from '@tanstack/react-query';\nimport { Link } from 'react-router-dom';\nimport { homeStyles } from '..';\nimport { ARMToday, CRMToday } from '../../../types';\nimport { captureError } from '../../../utils/capture-error';\nimport { isAgt } from '../../../utils/is-agent';\nimport { getTodayTotals } from '../../business/crm/today-utils';\nimport { getARMTodayTotals } from '../../business/crm/today-utils-arm';\n\nconst styles = {\n totals: {\n p: 1,\n letterSpacing: 0,\n fontSize: 36,\n fontWeight: 300,\n },\n};\n\nexport function CRMTotals(props: { AgtNo: string }) {\n // Props\n const { AgtNo } = props;\n // Hooks\n const labelSize = 9;\n const fontWeight = 200;\n const fontFamily = 'Roboto';\n\n // Query - Sales CRM Today\n const salesPath = '/homepage/sales-crm';\n const salesQueryKey = [salesPath];\n const salesQuery = useQuery({\n queryKey: salesQueryKey,\n queryFn: async () => {\n const responseSales: {\n data: CRMToday;\n } = await API.post('DashboardAPI', salesPath, {});\n\n if (responseSales.data) {\n return getTodayTotals({\n data: {\n ...responseSales.data,\n chargebacks: [],\n medicare: [],\n foresters_children_wl: [],\n moo_children_wl: [],\n },\n showCompleted: false,\n });\n }\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Query - Team CRM Milestones\n const teamPath = '/crm/agentmilestone';\n const teamQueryKey = [teamPath, { AgtNo }];\n const teamQuery = useQuery({\n enabled: isAgt(AgtNo),\n queryKey: teamQueryKey,\n queryFn: async () => {\n const responseTeam: {\n data: ARMToday | null;\n } = await API.post('DashboardAPI', teamPath, {\n body: { agentno: AgtNo },\n });\n\n if (responseTeam.data) {\n return getARMTodayTotals({\n data: responseTeam.data,\n showCompleted: false,\n });\n }\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n const crmLink = (\n \n \n \n \n \n );\n\n return (\n \n \n \n SALES CRM {crmLink}\n \n {salesQuery.isFetching ? (\n \n ) : (\n \n \n {salesQuery.data?.birthdayCount || 0} \n \n Birthdays\n \n \n \n {salesQuery.data?.reviewCount || 0} \n \n Policy Reviews\n \n \n \n {salesQuery.data?.conversionCount || 0}\n \n Conversions\n \n \n \n )}\n \n\n \n \n TEAM CRM {crmLink}\n \n {teamQuery.isFetching ? (\n \n ) : (\n \n \n {teamQuery.data?.DOBCount || 0}\n \n Birthdays\n \n \n \n {teamQuery.data?.FirstARCDepositCount || 0}\n \n 1st ARC Deposit\n \n \n \n {teamQuery.data?.FirstFastractedAgentCount || 0}\n \n 1st FasTract\n \n \n \n )}\n \n \n );\n}\n","import moment from 'moment';\n\nexport const getCallStatus = () => {\n const day = new Date().getDay();\n\n let hour = moment().tz('America/New_York').format('H');\n if (hour.toString().length < 2) {\n hour = `0${hour}`;\n }\n\n let minute = moment().tz('America/New_York').format('m');\n if (minute.toString().length < 2) {\n minute = `0${minute}`;\n }\n\n const timeOfDay = `${hour}:${minute}`;\n if (day === 3 && timeOfDay >= '12:15' && timeOfDay <= '14:00') {\n return 3;\n } else if (day === 4 && timeOfDay >= '12:45' && timeOfDay <= '14:00') {\n return 4;\n } else if (day === 5 && timeOfDay >= '09:45' && timeOfDay <= '11:00') {\n return 5;\n } else {\n return 0;\n }\n};\n","import { ContentCopy, Share } from '@mui/icons-material';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport Snackbar from '@mui/material/Snackbar';\nimport React from 'react';\nimport { homeStyles } from '.';\nimport { ConferenceCall } from './mobile-live-bar';\n\nexport const ShareCallButton = (props: { call: ConferenceCall }) => {\n // Props\n const { call } = props;\n const [openSnackbar, setOpenSnackbar] = React.useState(false);\n const [snackbarMessage, setSnackbarMessage] = React.useState('');\n\n const handleShare = async () => {\n if (navigator.share) {\n try {\n await navigator.share({\n title:\n call.day === 0\n ? `Check out ${call.name}!`\n : `The ${call.name} is live! Check it out!`,\n text: 'This is an awesome link I wanted to share with you.',\n url: props.call.youtube,\n });\n setSnackbarMessage('Shared successfully!');\n setOpenSnackbar(true);\n } catch (error) {\n console.error('Error sharing:', error);\n setSnackbarMessage('Error sharing!');\n setOpenSnackbar(true);\n }\n } else {\n // Fallback: Copy to clipboard\n navigator.clipboard.writeText(props.call.youtube).then(() => {\n setSnackbarMessage('Link copied to clipboard!');\n setOpenSnackbar(true);\n });\n }\n };\n return (\n \n }\n onClick={handleShare}\n >\n Share\n \n\n setOpenSnackbar(false)}\n message={snackbarMessage}\n action={\n setOpenSnackbar(false)}\n >\n \n \n }\n />\n \n );\n};\n","import AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Bowser from 'bowser';\nimport React from 'react';\nimport { homeStyles } from '.';\nimport logoCallActivity from '../../assets/logo-activity-call.png';\nimport logoProdCast from '../../assets/logo-prodcast-call.png';\nimport logoCallWednesday from '../../assets/logo-twc-call.png';\nimport logoYoutube from '../../assets/logo-youtube.png';\nimport { getCallStatus } from './call-status';\nimport { ShareCallButton } from './share-call-button';\n\n// https://overreacted.io/making-setinterval-declarative-with-react-hooks/\ntype IntervalFunction = () => unknown | void;\nfunction useInterval(callback: IntervalFunction, delay: number) {\n const savedCallback = React.useRef(null);\n\n // Remember the latest callback.\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n React.useEffect(() => {\n function tick() {\n if (savedCallback.current !== null) {\n savedCallback.current();\n }\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nexport interface ConferenceCall {\n day: number;\n name: string;\n dateDay: string;\n dateTime: string;\n phone: string;\n code: string;\n youtube: string;\n logo: string;\n maxWidth: number;\n}\n\nexport const conferenceCalls: ConferenceCall[] = [\n {\n day: 3,\n name: 'TWC',\n dateDay: 'Wednesday',\n dateTime: '@ 12:30 PM ET',\n phone: '312-626-6799',\n code: '969 606 853#',\n youtube: 'https://www.youtube.com/theallianceyt',\n logo: logoCallWednesday,\n maxWidth: 100,\n },\n {\n day: 4,\n name: 'Product Call',\n dateDay: 'Thursday',\n dateTime: '@ 1:00 PM ET',\n phone: '253-215-8782',\n code: '875 5255 6016',\n youtube:\n 'https://us02web.zoom.us/j/85370582123?pwd=UzFydkcyVmhoWjNlSmxxREhaR3U4QT09',\n logo: logoProdCast,\n maxWidth: 60,\n },\n {\n day: 5,\n name: 'Activity Call',\n dateDay: 'Friday',\n dateTime: '@ 10:00 AM ET',\n phone: '312-626-6799',\n code: '969 606 853#',\n youtube: 'https://www.youtube.com/theallianceyt',\n logo: logoCallActivity,\n maxWidth: 60,\n },\n {\n day: 0,\n name: 'The Alliance Youtube Channel',\n dateDay: 'Friday',\n dateTime: '@ 10:00 AM ET',\n phone: '',\n code: '',\n youtube: 'https://www.youtube.com/theallianceyt',\n logo: logoYoutube,\n maxWidth: 200,\n },\n];\n\nconst detectMobile = (): boolean => {\n const parser = Bowser.getParser(window.navigator.userAgent);\n return parser.getPlatform().type === 'mobile';\n};\n\nexport function MobileLiveBar() {\n // Hooks\n const isMobile = detectMobile();\n // State\n const [isLive, setIsLive] = React.useState(0);\n\n React.useEffect(() => {\n setIsLive(getCallStatus());\n // ignore 'getStatus' missing dependency array warning\n // eslint-disable-next-line\n }, []);\n\n // 10 second delay between intervals\n const delay = 10 * 1000;\n useInterval(() => {\n setIsLive(getCallStatus());\n }, delay);\n\n const call =\n conferenceCalls.find((i) => i.day === isLive) || conferenceCalls[3];\n return (\n \n \n \n {call.name} LIVE\n \n \n \n Watch Now\n \n \n \n \n \n );\n}\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFwAAABKCAYAAAA2YDPeAAAAAXNSR0IArs4c6QAADatJREFUeAHtnP1x5DYSxR3CZmD+6bq6HU0IG8JmcJuBNwMrg90M5AzkDOT/rurOMn0RbAgKAacf2A/TaIJf8yXZFqumwCFBoPHw8LoBYua7796OiyCQUnqXUtqnlD6llL6klO5TSk8XqezvVmhKqUspfUwpfU4p3aWUvqXheEopPTyD/9U+6e+GzUntbbAWMAGVA5ABG9ABv/OVpZQ+kMlfezt3CKxkLXKBbLxzjzZP3wA3WE5hbQvZvtu/+2/3zw+P3ftP/v6fCnADpRqivjFrzxdYi1NDa1ez9j/dP/YA+79u96Xvbu777uabfe77bnfr7Xq1gBu4mR3m2eWAvvoGzJ071qKnRAi901rOvdYuygGs/a17//Gx233uu5u7vrvp++7mydK7x27/ue/2H8g3ZdeLA26g4EgABR0ECIVR2bkMvijdknemIYoQyAdL1UGkFWunytB1AGuwFmBhLqz92nf7T3233zzaXhRwA9fwzKBkD25GMaQ94JUWAo7rICIEPp61lDXZQQL3390PXWAtoBprd1+Ntfs51qosn7rR9SFcf7koxQBDL79hlGkrOGNUBBwwYev3aoDlJ98i0xqsfTBgM2sfu91t3+0/HsNa2aPURquIdKfrpC/KcDMACYiAA2yOay0PxqO3FVt8Q/z5DGsfnBwcy1pmjhACn6D4uxpJdl2AVza/VsDpBDR9VlIWWCsndhRrZyKZYpsQxVZ1uBul3M5E0j3SiwEenCHsRBJgbZEEM6DF8Jak/Ggzt49qQN/t9313cxJrVZaV7Vnr8KxOsReW5xFodx5cOVkK7XolJ9be0zXcRRVanIkRAkaOprlmwFrA5RRHzlONXUrlRG30QALsVOgpmyt0wxfy5A5/Lgvf448sKxYR6XolJ5sBt571izOwlgMwtDhDD6+a5i4ADhNyzL3GKU6B/WwbI0OjS2CZ2TlZA/ioPZIGV1CWFcf8kZxMAm7AKhaOw4xe9hOGVRHCMM1lwlBPCrRsKcCoW+drUkcCRsqX+EwIPffcdyBxKsAhSh6FipCUL5ap7zZClA3CZbmwCyM5sboHSQnDjGeOYi0RQmOamw6ThhpwGb8mtZGDM6XDM7iMArUYm2M57l5ZofPXBLh/bgPgdLI/mGDpGMkJdahT1OsY39RabxDnMPXA2mqau2mqG8s1o5g1wjj5BEnLz2oNEmZ5vZPidnHK1kF6pFddumDpyCdsABzn2TqacmL2FobzYLNXlll73FTX5AADxFppbWxEHp7PWt4CHOnzR2mD2GQ3fzk34AYgUhKPppwsAm4rXzD26KmuA5WRkzXUNXxNZEBj5gCPLCuMtY4UGGXVThcsLfmdXdWo0fVWGjpVRZdOj88ovySlymgrX4tOMRbKdyu41fuwWCHUHODoNA0v9bcYbnX5cspqYtD3Er8LlTMBHmPySTlxuKQm4C0g11yzUCy0q/oqTcbJKOKJDqhoseqcAdw7Ky8dvsPL6KossShFdZCu1XA9M2WX7vt0luEhI47May12t4Yj+fxBtAOonoWtaMKHVDy/BXAfqRSGhZCwhJveuIk2rJYUMLoU4JGB2F2GrzrHwFWbAFnyEQEtAJjR8f4WwD1ApTNlBMDLPqvL3WqSxpdXwklfhj+/FOB+2MrgsoYgAwKrvKOKzK8A1VBTwRsZHiOV759B8PVVdro6OG2N0lcBuJ/Gy+bCJge4l45rAR4jFSIiP2KqkSjjLX21gMvOX3ViaWTqFOCAgg8AiEpO6KwAEEVX5VqeURw+0dHUw0dHWT61cnSd9PUBHmZsOCgPagm3rDH+XmG4gJlKzwC4lzxs9D6nCnc92q8VcIaoDpjjGxfZ81KA+0jll2BjNaLUEEtfJcMrtoQJRTWNDey/JsO9o6PTi8+Jo+oCgNPZ1Jcna7E+/10jeXbiE9kS9DGGXC/F8BipEP9zVBEKjbfrSk5muAd06Xwt4BVb9JAs9pW8IMNjpCLzqghlA+B0WGatb9+p58JOvV45FxUuyzHADPYxLrf9tLnJcCITG3I0gsZUUYgMcXVV963eySjF7vu6VVTlYyyf7pG2GF5pPs+c61A7JwEPEYpfp9CQrYyeYniYiPBMBagMcUhU92nw0owuSJ+KGpHIfBDOHxm6GLitTlI75wD3EUpxgs4p0bAybF8YcB+pwHacWFltbAEwdY0XLLwH4CULH86n8m65vgZwH6HwQhZWEBFI1wHcM98Pa99BlQxFI2WIaBlHAPlXMJw6jmYtwNoOWHZj8Vqw9WED5x15YxvWfFc75xjuY26HR3VapviB4Z75PmyrIhsD00/FKbwlKTBYy7lHNbgFSt+9/2TvXAH4ye3OYids+Qz7DMt2ZHtPu88TP9dZDzzTqse3cw5wz+QK5fAla2EAHLajlT+Zo9QjLUflAR851akGnHKdfYTDRqLM5FmgYj22e/a2795/dGXkEfHY7QrR4nNrGC6QSGE7LIOtHiDuac+H11H/rM5H7MYonNfaF9ixEcd8t11b9vpwYOmWckJnBek5kuGmhwJqaQKhjTAA53Vcz5PSGVeNClogOrD7Y3bLIh/2nvep7/a3w87bovdNQskOEbUpKcY4AVYco3vYA1um+BYCMgoAWCPixYHGbmOmvRTfvkem73Y/mTNFgnLk0ne7Hw8ONmv+ZESzBLiXhxJxOMCZiEhmqlVD5Tl3ap1ZJlpbyzfn+E1gbXnefmaSnkPGotHWgRbV7G9tp8NIDVTPEuB6CYsTuwqgMiymttyqydZkg+Jz/rtFIwC2qS3E5AfHuK+I98fwW58csVBXn3/ng7y061gCHMc4OTx8Y045N9YywZqUnec8s9P6NfUbuzd1loFN7A2IFdjGbnOYh9/7WOc065kFfE0jTsljlYu1+IpR7K3yTwWc3/EA2m8TzFM9Pp0Dm3z267VRR9iv3Lg+iscvBrhjLXE4k5XiVNUoVS6vfEnANfRV95q0pdl67iBPN2VbxuFelqBE9KJrStXmZpSiTFtTpMGBqNORYapcGS4J+Nwwb7WvH37kilyMwrzgKJuSy3O/d7tWZJfnL4uAG4iEerAVZ0p0MpoxYnwDSGFaaXQj38UkxeLm0SibAFuhXzOa0WiJmu7L+r3b/YzP8Nc8NrOA29Y1r7UCkLS1CR4ZaR2Vpl0Z8OYQj4DYVH3kCJXPOcoRmMpDejTgK/YJAmzFTJvsCHCFlnyvXgZcGfCnuTUOQApSUdnKfZZonaOsyOPB5vyP4Tf3IzlSm5sMNxnxs0nAI3zzK38AWUmLSQ7XGRV+8lQNaVWunokd5xtxapTC8G5pqq/jAObNvX76bdN2/WGBMf+mtMM66d6Xw/mUz1CbpwD3Lx/KEiwFhvXwig1uZZCVRt85VY+r8msAHoe4AaU/J2CmOLUGznX7zafWS4Zw7xA21vG5AY6ElRmpOkRtngLcv3yoNMuxGLxK+GOjQhiyP8S/TY+dFlccK2mSkdbBJ018Ymw8A7B+91n9oDaGgQewD2yXvba41Yz5lwD3ctACHLkhWilTZRVoiNNhMUQsoIa8PFLuyXilp0tKjo2zjnvHZ7G22F21UXWTHqb2/GVHXkdndBDFVJEXeS2KaZalNk8x3LOqWYA3ivOwZyVru5MYQC16r8o1HC4JOLYdllEBbADKMTc9dvtim2+X6yBpOGkzZDzkHcuM4TMdhwdWrQXcj4rsyYPeF127NuAmAyzNlnUOJy2sbY/YCki+U2wZtgn2kDf7gsn7avM5Ge7DwNyA0HFl9qXKr8XwARD+tQfnt/ui9RUDsUQe5PPHYWRkpzkJ5mF2Ol4pfMaAF9wEIfwUsv0bnwDUWoZrglQcZJCZUs65AcdfeKCmzpkhot0WK2eZmFvUsjdEaDf/qdKsw4FdAghfv70Fw+fll+BnYXhwkHnY2jW2V/hDzD82SiHc5FktjPGdjm5qsG+4zg9aW0K9JpDKP5VaOfzZzWjV0D8zIoOhUc2elhjuhkl+AxMYCwB+0uQBl7YvAi5Dgy2+LH++GnCFbiYngLUJ8MEf5NdtehG9uu7cEVsBb8XhQTo8EPFcL5wj4P9qsFYjxUdMsTy+07kVYTzD4nl0hBan50nOoO3jDmBqzz3bLATQyNEdLI/lL363FlQGB1YV7aWwCcB9hCIQtHHHsz07qDAiWiByLQLOyEFCVC6dtomd2D8wNEcUT7bx511vK3wH1udfYNMJfAQwIOuZ7UCrJ04EXIz1EUr1ojd0Xp7irwCcTtK/RgDsUQ3c2iGDk9zz/4R5C8SQ5v8kPOqv84RxlR4BOCzTkWeaYYJTsS785iZHMA7ws7AWYK3M6EybkUMFwLW/GHJRUvxaCqBkEB1QApwY00/hS0iodrhFLFjLcgD5+RzLWupkYUx/8SHJUvnIG/ePKl92XyydADy+SKAxapjAzjPH0AllJucNVof5a0vn1inISWTtWUbFUv0Xuz8BOAykYVNHAdYN5dntDnMNsJXFOdYy4ij/dbJ2rnHxniFaSQp5DITIapzjtrjTVWisBTjPWkwQa5ED7h2919tV9zpPpwCXtbDKPpUz1P1WasBqA7+0ViOGTlRo99dgbQuEqWtLgE89p+vWGZ61GhUAzIiQE/vrslZgrEnXAt5gLWC+sXYNyD5PC/A31nqEznxugDPs0do31p4Z31FxJgva601o9qa1I5TOd+H/xXP+89k8JsQAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Stack from '@mui/material/Stack';\nimport React from 'react';\nimport { homeStyles } from '..';\n\nimport { useWindowWidth } from '@react-hook/window-size';\nimport { getCallStatus } from '../call-status';\nimport { ConferenceCall, conferenceCalls } from '../mobile-live-bar';\nimport { ShareCallButton } from '../share-call-button';\n// useInterval from\n// https://overreacted.io/making-setinterval-declarative-with-react-hooks/\ntype IntervalFunction = () => unknown | void;\nfunction useInterval(callback: IntervalFunction, delay: number) {\n const savedCallback = React.useRef(null);\n\n // Remember the latest callback.\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n React.useEffect(() => {\n function tick() {\n if (savedCallback.current !== null) {\n savedCallback.current();\n }\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nexport function MediaCalls(props: { isMobile: boolean }) {\n // Props\n const { isMobile } = props;\n // Hooks\n const width = useWindowWidth();\n // State\n const [isLive, setIsLive] = React.useState(0);\n\n React.useEffect(() => {\n setIsLive(getCallStatus());\n // ignore 'getStatus' missing dependency array warning\n // eslint-disable-next-line\n }, []);\n\n // 10 second delay between intervals\n const delay = 10 * 1000;\n useInterval(() => {\n setIsLive(getCallStatus());\n }, delay);\n\n const call =\n conferenceCalls.find((i) => i.day === isLive) || conferenceCalls[3];\n const isDefault = call.day === 0;\n\n function FeaturedCall() {\n return (\n \n \n {isDefault ? call.name : 'LIVE NOW'}\n \n \n \n \n {isDefault ? 'Subscribe' : 'Watch Now'}\n \n\n \n \n \n );\n }\n\n return (\n \n \n \n {conferenceCalls.map((i: ConferenceCall) => {\n if (i.day !== 0 && i.day !== isLive) {\n return (\n \n \n \n {width > 1200 ? i.dateDay : i.dateDay.slice(0, 3)}{' '}\n {i.dateTime}\n \n \n );\n } else {\n return null;\n }\n })}\n \n \n \n \n \n \n );\n}\n","import { Skeleton, styled, Switch, Tooltip } from '@mui/material';\nimport Box from '@mui/material/Box';\nimport React from 'react';\nimport { HomeDashData, homeStyles } from '..';\n\nexport function TicketTotals(props: {\n data: HomeDashData | null | undefined;\n loading: boolean;\n}) {\n // Props\n const { data, loading } = props;\n // State\n const [toggle, setToggle] = React.useState(false);\n\n const CustomSwitch = styled(Switch)({\n '.MuiSwitch-thumb': {\n backgroundColor: '#fff',\n },\n '.MuiSwitch-track': {\n backgroundColor: '#000000',\n },\n '& .MuiSwitch-switchBase': {\n '&.Mui-checked': {\n '+ .MuiSwitch-track': {\n backgroundColor: '#000000',\n },\n '.MuiSwitch-thumb': {\n backgroundColor: '#fff',\n },\n },\n },\n });\n\n const noTix =\n (!toggle && data?.HierarchyTixTotal === 0) ||\n (toggle && data?.BaseshopTixTotal === 0);\n\n return (\n \n \n {data?.UpcomingConvention || 'Next Event'}\n \n {loading ? (\n \n ) : (\n \n \n {!toggle ? data?.HierarchyTixTotal : data?.BaseshopTixTotal}\n \n\n \n setToggle(!toggle)}\n sx={{\n position: 'absolute',\n right: 10,\n top: 15,\n margin: 'auto',\n }}\n />\n \n \n )}\n\n \n {!toggle ? ` Hierarchy Tickets` : `Baseshop Tickets`}\n \n \n );\n}\n","import { InfoOutlined } from '@mui/icons-material';\nimport Launch from '@mui/icons-material/Launch';\nimport Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport Tooltip from '@mui/material/Tooltip';\nimport { Link } from 'react-router-dom';\nimport { HomeDashData, homeStyles } from '..';\nimport { toCurrency } from '../../../utils/formatter';\nimport { BadgeLevel } from './badge-level';\nimport { ContestTracker } from './contest-tracker';\nimport { CRMTotals } from './crm-totals';\nimport { MediaCalls } from './media-calls';\nimport { TicketTotals } from './ticket-totals';\n\nexport function Today(props: {\n AgtNo: string;\n data: HomeDashData;\n isMobile: boolean;\n loading: boolean;\n}) {\n // Props\n const { AgtNo, isMobile, data, loading } = props;\n\n return (\n \n \n ALLIANCE RESOURCE CENTER\n \n \n \n \n \n {data?.IncomeTitle ||\n new Date().getFullYear() + ' Income Projection'}\n\n {data?.IncomeTooltip && (\n \n \n \n )}\n\n \n \n \n \n \n \n \n {toCurrency({\n value: data?.IncomeValue || 0,\n })}{' '}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import API from '@aws-amplify/api';\nimport { SxProps } from '@mui/material';\nimport Box from '@mui/material/Box';\nimport { grey } from '@mui/material/colors';\nimport Container from '@mui/material/Container';\nimport Stack from '@mui/material/Stack';\nimport { useQuery } from '@tanstack/react-query';\nimport Bowser from 'bowser';\nimport React from 'react';\nimport { RouteContainer } from '../../components/route-container';\nimport { AuthContext } from '../../contexts/auth-context';\nimport { ContentCategoryName, ContentDocument } from '../../types';\nimport { captureError } from '../../utils/capture-error';\nimport { ContestLeaderboards } from './contest-leaderboards';\nimport { AgentDashboard } from './dashboard';\nimport { Events } from './events';\nimport { NewsAndNotes } from './news-notes';\nimport { Today } from './today';\n\nconst detectMobile = (): boolean => {\n const parser = Bowser.getParser(window.navigator.userAgent);\n return parser.getPlatform().type === 'mobile';\n};\n\nexport interface ChartRanking {\n AgtNo: string | null;\n AgtName: string | null;\n Total: number | null;\n}\n\nexport interface HomeDashData {\n IncomeTitle: string | null;\n IncomeTooltip: string | null;\n IncomeValue: number | null;\n UpcomingConvention: string | null;\n BaseshopTixTotal: number | null;\n HierarchyTixTotal: number | null;\n ImgFileLocation: string | null;\n LvlImagePath: string | null;\n NextLvlImagePath: string | null;\n BadgeNextLvlInfo: string | null;\n Recruits?: ChartRanking[];\n FasTracts?: ChartRanking[];\n GrossDeposits?: ChartRanking[];\n IPAP?: ChartRanking[];\n NewIPAgents?: ChartRanking[];\n BuildingGame?: ChartRanking[];\n}\n\nexport const homeStyles: { [key: string]: SxProps } = {\n box: {\n letterSpacing: 4,\n textAlign: 'center',\n borderRadius: 2,\n color: '#fff',\n fontSize: { xs: 12, sm: 14 },\n fontFamily: 'Lato',\n textTransform: 'uppercase',\n fontWeight: 300,\n boxShadow: `0px 2px 5px #000000`,\n background: `linear-gradient(0deg, rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.2)),\n linear-gradient(180deg, #2F3439 0%, #2F3439 100%);`,\n },\n button: {\n fontWeight: 700,\n letterSpacing: 2,\n whiteSpace: 'nowrap',\n fontSize: 10,\n px: 1,\n mx: 1,\n fontFamily: 'Lato',\n background: `linear-gradient(to bottom,${grey[200]}, ${grey[600]})`,\n borderRadius: 2,\n boxShadow: `0px 0px 5px 1px ${grey[900]}33`,\n },\n section: {\n backgroundColor: '#44484D',\n borderRadius: 5,\n px: { xs: 1, lg: 2 },\n },\n title: {\n textAlign: 'center',\n color: '#fff',\n fontSize: { xs: 16, sm: 24 },\n letterSpacing: { xs: '.15em', sm: '.25em' },\n fontWeight: 300,\n fontFamily: 'Lato',\n },\n};\n\nexport function Home() {\n // Context\n const {\n state: { user },\n } = React.useContext(AuthContext);\n // Hooks\n const isMobile = detectMobile();\n // State\n const AgtNo = user.username;\n\n // Query - Dashboard Rankings\n const dsPath = '/homepage/dashboard';\n const dsQueryKey = [dsPath];\n const dsQuery = useQuery({\n queryKey: dsQueryKey,\n queryFn: async () => {\n const response: {\n data: any[];\n } = await API.post('DashboardAPI', dsPath, {});\n\n if (response.data) {\n const { data }: any = response;\n\n const categories = [\n 'Recruits',\n 'FasTracts',\n 'IPAP',\n 'GrossDeposits',\n 'NewIPAgents',\n 'BuildingGame',\n ];\n let result: any = data;\n\n categories.forEach((category) => {\n result[category] = [];\n\n for (let i = 1; i <= 6; i++) {\n const idKey = `${category}TopID0${i}`;\n const nameKey = `${category}Name0${i}`;\n const totalKey = `${category}Total0${i}`;\n\n if (data[idKey]) {\n result[category].push({\n AgtNo: data[idKey],\n AgtName: data[nameKey],\n Total: data[totalKey],\n });\n }\n }\n });\n\n return result;\n }\n return [];\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n // Query - Homepage Content\n const path = '/homepage/dashboard/document';\n const query = useQuery({\n queryKey: [path],\n queryFn: async () => {\n const response: {\n data: ContentDocument[];\n } = await API.post('DashboardAPI', path, {\n body: {\n Categories: [\n ContentCategoryName['Leaderboards'],\n ContentCategoryName['News & Notes'],\n ContentCategoryName['Upcoming Events'],\n ],\n },\n });\n\n if (response.data) {\n return response.data;\n }\n\n return null;\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","var _style, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAllianceLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 119.07 47.74\",\n style: {\n enableBackground: \"new 0 0 119.07 47.74\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n .st0 {\\n fill: #0a233f;\\n }\\n\\n .st1 {\\n fill: #6e6f72;\\n }\\n\\n .st2 {\\n fill: #ffffff;\\n }\\n \")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M63.31,16.68c0.65-0.09,1.24-0.4,1.79-0.91c0.54-0.51,0.87-1.06,0.98-1.66c0.11-0.6-0.03-1.08-0.4-1.46 c-0.41-0.38-0.93-0.54-1.58-0.47c-0.65,0.07-1.24,0.36-1.79,0.87c-0.54,0.51-0.87,1.08-0.98,1.7c-0.11,0.62,0.02,1.12,0.4,1.5 C62.13,16.64,62.66,16.78,63.31,16.68\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M118.75,24.64c-0.2-0.03-0.44,0.02-0.72,0.16c-0.28,0.13-0.56,0.35-0.84,0.64c-0.28,0.29-0.75,0.68-1.43,1.17 c-0.67,0.49-1.42,0.95-2.25,1.37c-0.83,0.42-1.7,0.76-2.6,1c-0.91,0.24-1.73,0.25-2.48,0c-0.34-0.1-0.58-0.29-0.72-0.55 c-0.13-0.27-0.21-0.57-0.21-0.91c-0.01-0.34,0.03-0.7,0.11-1.08c0.08-0.38,0.15-0.72,0.23-1.05c0.31,0.03,0.69,0.06,1.14,0.09 c0.44,0.03,0.92,0.03,1.43,0c0.51-0.03,1.05-0.08,1.62-0.17c0.57-0.09,1.12-0.23,1.66-0.42c1.21-0.45,2.15-0.92,2.81-1.43 c0.66-0.51,1.08-1.01,1.25-1.51c0.18-0.5,0.14-0.96-0.13-1.4c-0.26-0.44-0.69-0.79-1.3-1.08c-0.83-0.4-1.71-0.6-2.62-0.59 c-0.91,0.01-1.82,0.17-2.71,0.49c-0.89,0.32-1.75,0.78-2.56,1.38s-1.53,1.28-2.14,2.04c-0.64,0.8-1.16,1.65-1.55,2.55 c-0.08,0.18-0.15,0.36-0.21,0.55c-0.58,0.6-1.26,1.15-2.04,1.66c-0.79,0.52-1.58,0.96-2.38,1.33c-0.8,0.37-1.53,0.64-2.2,0.79 c-0.67,0.16-1.18,0.17-1.53,0.03c-0.72-0.25-1.19-0.68-1.41-1.27c-0.21-0.59-0.26-1.24-0.13-1.95c0.13-0.71,0.41-1.42,0.84-2.13 c0.43-0.71,0.94-1.34,1.53-1.89c0.59-0.55,1.23-0.96,1.91-1.24c0.68-0.28,1.35-0.33,2.02-0.17c0.37,0.09,0.57,0.28,0.59,0.58 c0.02,0.29-0.06,0.61-0.24,0.94c-0.18,0.34-0.43,0.66-0.75,0.96c-0.32,0.31-0.66,0.51-1,0.59c0.67,0.3,1.33,0.4,2.01,0.31 c0.67-0.09,1.28-0.3,1.83-0.62c0.55-0.33,1.01-0.72,1.37-1.2c0.36-0.47,0.57-0.94,0.61-1.41c0.05-0.47-0.09-0.91-0.42-1.33 c-0.32-0.42-0.9-0.74-1.74-0.97c-1.33-0.35-2.63-0.35-3.91,0.04c-1.28,0.39-2.46,0.99-3.54,1.83c-1.07,0.84-1.99,1.84-2.74,3.01 c-0.48,0.75-0.85,1.5-1.14,2.25c-0.01,0.01-0.02,0.01-0.02,0.02c-0.34,0.34-0.75,0.69-1.23,1.03c-0.48,0.35-0.95,0.66-1.41,0.93 s-0.88,0.47-1.26,0.58c-0.39,0.11-0.64,0.11-0.76-0.03c-0.21-0.23-0.23-0.55-0.08-0.97c0.15-0.42,0.4-0.9,0.75-1.42 c0.35-0.52,0.77-1.07,1.27-1.65c0.49-0.57,0.99-1.14,1.48-1.7c0.49-0.56,0.94-1.09,1.35-1.6c0.41-0.51,0.71-0.96,0.9-1.35 c0.14-0.31,0.15-0.57,0.05-0.78c-0.11-0.22-0.29-0.38-0.55-0.49c-0.26-0.11-0.57-0.16-0.93-0.15c-0.36,0.01-0.71,0.07-1.05,0.2 c-0.69,0.27-1.43,0.66-2.24,1.19c-0.81,0.53-1.62,1.11-2.43,1.75c-0.81,0.64-1.6,1.3-2.37,1.99c-0.77,0.69-1.44,1.32-2.03,1.89 c-0.58,0.57-1.05,1.04-1.39,1.4c-0.34,0.36-0.51,0.52-0.51,0.47c0.05-0.22,0.2-0.58,0.44-1.09c0.24-0.5,0.53-0.94,0.87-1.3 c0.23-0.22,0.58-0.56,1.07-1.03c0.48-0.47,0.97-0.97,1.47-1.49c0.5-0.53,0.95-1.03,1.36-1.52c0.41-0.49,0.65-0.85,0.74-1.11 c0.08-0.25,0.11-0.48,0.07-0.67c-0.03-0.19-0.16-0.31-0.37-0.35c-0.22-0.04-0.52-0.01-0.91,0.11c-0.39,0.12-0.89,0.35-1.52,0.71 c-0.89,0.5-1.73,1.15-2.54,1.96c-0.81,0.81-1.54,1.69-2.19,2.62c-0.46,0.67-0.88,1.35-1.26,2.04c0,0.01-0.01,0.01-0.01,0.02 c-0.34,0.38-0.76,0.77-1.26,1.17c-0.5,0.4-1,0.76-1.51,1.08c-0.5,0.32-0.96,0.56-1.36,0.72c-0.4,0.16-0.68,0.17-0.83,0.05 c-0.12-0.12-0.12-0.39-0.01-0.79c0.11-0.4,0.28-0.87,0.53-1.4c0.24-0.53,0.52-1.09,0.85-1.69c0.33-0.59,0.64-1.13,0.96-1.61 c0.03-0.05-0.06-0.11-0.26-0.17c-0.2-0.07-0.44-0.11-0.72-0.14c-0.27-0.03-0.54-0.03-0.78,0c-0.25,0.02-0.41,0.08-0.5,0.15 c-0.2,0.21-0.38,0.41-0.56,0.62c-0.17,0.21-0.34,0.42-0.51,0.62c-0.54,0.63-1.11,1.26-1.72,1.89c-0.6,0.63-1.18,1.18-1.72,1.66 c-0.55,0.47-1.04,0.84-1.49,1.1c-0.45,0.26-0.8,0.35-1.07,0.25c-0.23-0.1-0.36-0.34-0.38-0.72c-0.02-0.38,0.04-0.84,0.18-1.39 c0.14-0.55,0.35-1.13,0.64-1.74c0.28-0.61,0.62-1.2,1.02-1.77c0.43-0.59,0.89-1.15,1.39-1.66c0.5-0.51,1.02-0.94,1.55-1.29 c0.53-0.34,1.06-0.59,1.58-0.75c0.52-0.16,0.99-0.16,1.43-0.02c0.35,0.11,0.55,0.31,0.61,0.59c0.06,0.28,0.07,0.6,0.01,0.96 c0.72,0.19,1.34,0.12,1.84-0.2s0.83-0.73,1-1.23c0.17-0.5,0.11-1.02-0.15-1.57C75.3,18.41,74.78,18,74,17.74 c-0.87-0.29-1.78-0.35-2.73-0.16c-0.95,0.19-1.88,0.55-2.8,1.09c-0.92,0.54-1.79,1.22-2.62,2.07c-0.83,0.85-1.58,1.78-2.23,2.79 c-0.62,0.98-1.15,2-1.58,3.05c-0.34,0.41-0.74,0.81-1.21,1.22c-0.49,0.42-0.97,0.8-1.45,1.13c-0.48,0.33-0.92,0.6-1.32,0.79 c-0.4,0.19-0.71,0.27-0.91,0.22c-0.26-0.07-0.43-0.29-0.51-0.66c-0.08-0.37-0.07-0.83,0.01-1.38c0.08-0.55,0.25-1.16,0.49-1.83 c0.24-0.67,0.53-1.33,0.88-1.99c0.23-0.43,0.51-0.87,0.84-1.33c0.33-0.45,0.67-0.89,1.03-1.31c0.36-0.42,0.72-0.8,1.08-1.14 c0.36-0.34,0.68-0.63,0.97-0.88c0.17-0.13,0.17-0.3,0-0.5c-0.18-0.2-0.42-0.37-0.74-0.5c-0.32-0.14-0.67-0.22-1.04-0.24 c-0.38-0.03-0.69,0.07-0.95,0.29c-0.98,0.93-1.85,1.99-2.63,3.19c-0.77,1.19-1.43,2.41-1.95,3.65c-0.22,0.52-0.42,1.03-0.59,1.53 c-0.34,0.43-0.74,0.88-1.22,1.33c-0.51,0.48-1.02,0.92-1.54,1.31c-0.52,0.39-1,0.71-1.43,0.95c-0.44,0.24-0.75,0.36-0.96,0.34 c-0.38-0.03-0.67-0.44-0.87-1.22c-0.21-0.78-0.15-1.98,0.16-3.55c1.99-2.28,3.89-4.47,5.7-6.58c1.81-2.11,3.32-3.98,4.54-5.67 c1.22-1.68,2.04-3.12,2.47-4.36c0.44-1.24,0.29-2.14-0.43-2.73c-0.55-0.43-1.16-0.62-1.84-0.56c-0.68,0.06-1.39,0.31-2.13,0.76 c-0.75,0.45-1.51,1.08-2.3,1.9c-0.79,0.82-1.56,1.76-2.32,2.84c-0.76,1.08-1.48,2.24-2.17,3.5c-0.69,1.26-1.31,2.56-1.85,3.9 c-0.83,1.99-1.52,4-2.07,6.01c-0.2,0.74-0.37,1.45-0.52,2.13c-0.34,0.49-0.77,0.99-1.27,1.51c-0.51,0.52-1.02,0.99-1.54,1.41 c-0.52,0.42-1,0.77-1.43,1.03c-0.43,0.26-0.75,0.39-0.95,0.37c-0.38-0.03-0.67-0.46-0.87-1.3c-0.2-0.84-0.15-2.11,0.17-3.79 c1.99-2.45,3.9-4.81,5.71-7.08c1.82-2.27,3.33-4.28,4.55-6.09c1.22-1.81,2.05-3.35,2.49-4.67c0.44-1.33,0.3-2.28-0.42-2.91 c-0.55-0.45-1.16-0.65-1.84-0.58c-0.68,0.07-1.39,0.34-2.13,0.83c-0.75,0.49-1.51,1.16-2.31,2.04c-0.79,0.88-1.57,1.9-2.33,3.05 c-0.76,1.16-1.49,2.41-2.18,3.76c-0.69,1.35-1.31,2.75-1.86,4.19c-0.83,2.13-1.53,4.28-2.07,6.44c-0.2,0.79-0.37,1.55-0.52,2.28 c-0.4,0.62-0.91,1.29-1.53,1.99c-0.62,0.71-1.24,1.35-1.86,1.92s-1.18,1.03-1.68,1.35c-0.51,0.33-0.84,0.42-1.02,0.26 c-0.43-0.34-0.52-1.03-0.28-2.07c0.24-1.04,0.7-2.29,1.38-3.74c0.68-1.45,1.51-3.03,2.51-4.73c0.99-1.7,2.02-3.38,3.07-5.05 c1.05-1.67,2.07-3.27,3.07-4.81c0.99-1.54,1.84-2.94,2.55-4.2c0.7-1.26,1.19-2.36,1.46-3.31c0.27-0.95,0.22-1.65-0.15-2.11 c-0.43-0.53-1.16-0.73-2.18-0.57c-1.02,0.15-2.25,0.58-3.69,1.3s-3.03,1.71-4.79,3.01c-1.76,1.3-3.57,2.82-5.44,4.6 c-1.87,1.78-3.75,3.74-5.65,5.91c-1.89,2.17-3.71,4.43-5.45,6.79c-0.91,1.29-1.82,2.61-2.73,3.96c-0.97,0.03-1.81,0.04-2.54,0.03 c-0.72-0.01-1.28-0.04-1.68-0.09C9.14,28,8.51,28.25,7.93,28.82c-0.58,0.58-1.03,1.23-1.36,1.96c-0.33,0.73-0.49,1.38-0.45,1.93 c0.03,0.56,0.33,0.76,0.89,0.62c1.53-0.36,3.07-0.72,4.62-1.08c-1.41,2.58-2.48,4.96-3.23,7.08c-0.75,2.13-1.09,3.87-1.02,5.17 c0.06,1.3,0.56,2.1,1.48,2.36c0.93,0.27,2.37-0.13,4.34-1.14c-0.34-0.6-0.51-1.42-0.52-2.43c0-1.01,0.14-2.17,0.44-3.46 c0.29-1.29,0.72-2.69,1.29-4.19c0.56-1.5,1.24-3.03,2.04-4.57c1.74-0.39,3.57-0.82,5.5-1.29c1.93-0.46,3.85-0.9,5.74-1.33 c-0.6,1.29-1.13,2.53-1.57,3.71c-0.45,1.18-0.79,2.26-1.03,3.24c-0.24,0.98-0.34,1.81-0.3,2.49c0.04,0.69,0.27,1.18,0.67,1.48 c0.54,0.42,1.2,0.46,1.98,0.13c0.78-0.33,1.59-0.87,2.44-1.58c0.85-0.72,1.71-1.56,2.57-2.53c0.87-0.96,1.67-1.92,2.42-2.88 c0.36-0.46,0.69-0.89,1.01-1.31c-0.18,1.71-0.17,3.08,0.05,4.1c0.22,1.03,0.67,1.5,1.37,1.41c0.69-0.09,1.52-0.54,2.49-1.34 c0.97-0.79,1.93-1.7,2.88-2.69c0.72-0.75,1.39-1.49,2.01-2.21c-0.18,1.61-0.16,2.9,0.05,3.86c0.22,0.97,0.68,1.41,1.37,1.33 s1.53-0.5,2.5-1.23c0.97-0.74,1.93-1.57,2.89-2.5c0.57-0.56,1.11-1.1,1.62-1.64c-0.11,0.64-0.18,1.23-0.2,1.77 c-0.04,0.92,0.04,1.65,0.25,2.17c0.21,0.53,0.56,0.76,1.05,0.72c0.72-0.07,1.58-0.47,2.54-1.17c0.97-0.7,1.92-1.49,2.86-2.37 c0.46-0.43,0.9-0.86,1.32-1.28c-0.01,0.07-0.03,0.15-0.04,0.22c-0.17,1.03-0.19,1.91-0.07,2.64c0.12,0.73,0.4,1.17,0.84,1.33 c0.35,0.14,0.79,0.07,1.33-0.19c0.53-0.26,1.11-0.64,1.71-1.11c0.61-0.48,1.24-1.04,1.9-1.68c0.66-0.64,1.29-1.29,1.89-1.95 c-0.39,1.23-0.55,2.28-0.47,3.12c0.08,0.84,0.4,1.24,0.95,1.2c0.72-0.05,1.57-0.39,2.54-1.01c0.97-0.62,1.91-1.31,2.83-2.09 c0.36-0.3,0.69-0.6,1.02-0.89c0,0.01-0.01,0.02-0.01,0.03c-0.21,0.83-0.26,1.52-0.17,2.09c0.1,0.56,0.39,0.89,0.89,0.99 c0.23,0.04,0.62-0.18,1.15-0.63s1.09-1.06,1.69-1.82c0.62-0.81,1.34-1.64,2.13-2.48c0.8-0.84,1.59-1.6,2.37-2.29 c0.78-0.68,1.54-1.26,2.29-1.72c0.74-0.47,1.38-0.75,1.93-0.86c-0.29,0.16-0.64,0.48-1.06,0.95c-0.42,0.48-0.86,1.03-1.31,1.67 c-0.45,0.64-0.87,1.32-1.26,2.06c-0.39,0.73-0.68,1.43-0.85,2.09c-0.18,0.66-0.22,1.25-0.14,1.74c0.08,0.5,0.37,0.82,0.86,0.96 c0.35,0.1,0.81,0.04,1.37-0.16c0.56-0.21,1.18-0.5,1.85-0.88c0.67-0.38,1.35-0.81,2.03-1.3c0.68-0.49,1.33-0.97,1.94-1.45 c0.17-0.14,0.33-0.27,0.49-0.4c-0.05,0.74,0.02,1.43,0.24,2.06c0.32,0.92,1.05,1.55,2.18,1.89c0.81,0.27,1.65,0.33,2.51,0.2 c0.86-0.13,1.7-0.37,2.53-0.73c0.83-0.36,1.62-0.79,2.38-1.31c0.76-0.51,1.45-1.03,2.07-1.56c0.22-0.19,0.42-0.37,0.63-0.56 c0.03,0.63,0.18,1.2,0.47,1.7c0.36,0.61,0.95,1.03,1.79,1.26c1.03,0.28,2.03,0.35,2.98,0.22c0.95-0.13,1.85-0.38,2.71-0.73 c0.86-0.36,1.66-0.78,2.4-1.28c0.74-0.49,1.4-0.99,1.97-1.49c0.57-0.5,1.06-0.96,1.46-1.38c0.4-0.42,0.69-0.74,0.85-0.95 c0.25-0.33,0.37-0.58,0.35-0.75C119.05,24.77,118.95,24.67,118.75,24.64 M109.52,22.79c0.49-0.46,1.01-0.83,1.56-1.11 c0.55-0.28,1.09-0.45,1.62-0.53c0.53-0.08,0.96-0.03,1.31,0.14c0.23,0.11,0.4,0.28,0.5,0.48c0.1,0.21,0.08,0.44-0.07,0.69 c-0.15,0.25-0.44,0.51-0.86,0.76c-0.42,0.26-1.03,0.5-1.82,0.74c-0.82,0.23-1.51,0.36-2.07,0.37c-0.56,0.01-0.98,0.01-1.26,0 C108.66,23.76,109.03,23.25,109.52,22.79 M49.31,21.34c0.23-0.62,0.49-1.27,0.77-1.93c0.6-1.41,1.23-2.72,1.87-3.93 c0.65-1.21,1.28-2.25,1.91-3.13c0.63-0.88,1.24-1.58,1.83-2.11c0.59-0.53,1.14-0.82,1.66-0.89c0.03,0.83-0.2,1.76-0.7,2.78 c-0.5,1.03-1.16,2.13-1.97,3.32c-0.82,1.19-1.75,2.44-2.8,3.76c-1.05,1.32-2.09,2.65-3.13,3.98 C48.9,22.58,49.08,21.96,49.31,21.34 M40.52,21.39c0.23-0.67,0.49-1.36,0.78-2.07c0.6-1.51,1.23-2.92,1.88-4.21 c0.65-1.29,1.29-2.41,1.92-3.36c0.63-0.95,1.24-1.7,1.83-2.27c0.59-0.57,1.14-0.88,1.66-0.96c0.03,0.89-0.2,1.88-0.7,2.98 c-0.5,1.1-1.16,2.28-1.98,3.56c-0.82,1.28-1.76,2.62-2.81,4.04c-1.05,1.42-2.1,2.85-3.13,4.28C40.1,22.72,40.28,22.06,40.52,21.39 M29.02,25.79c-1.75,0.52-3.56,0.94-5.41,1.26c-1.85,0.32-3.63,0.58-5.34,0.78c0.43-0.72,0.87-1.42,1.33-2.11 c0.46-0.69,0.93-1.38,1.41-2.07c1.09-1.47,2.22-2.94,3.4-4.41c1.18-1.47,2.35-2.84,3.51-4.11c1.16-1.27,2.29-2.42,3.39-3.46 c1.09-1.04,2.09-1.87,2.98-2.52c0.89-0.65,1.65-1.09,2.29-1.33c0.63-0.24,1.08-0.22,1.34,0.07c0.32,0.36,0.23,1.08-0.26,2.19 c-0.49,1.11-1.2,2.46-2.12,4.07c-0.92,1.62-1.97,3.42-3.15,5.44C31.2,21.61,30.08,23.68,29.02,25.79\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M24.45,9.84c-0.08-0.02-0.18,0-0.3,0.08c-0.12,0.08-0.24,0.2-0.35,0.38c-0.12,0.18-0.32,0.41-0.6,0.69 s-0.6,0.54-0.95,0.77c-0.35,0.23-0.71,0.4-1.09,0.51c-0.38,0.11-0.72,0.09-1.03-0.08c-0.14-0.07-0.24-0.19-0.29-0.35 c-0.05-0.16-0.08-0.34-0.08-0.54c0-0.2,0.02-0.41,0.05-0.63c0.04-0.22,0.07-0.42,0.11-0.61c0.13,0.02,0.29,0.05,0.47,0.07 c0.18,0.02,0.38,0.03,0.59,0.03c0.21-0.01,0.44-0.03,0.67-0.07c0.24-0.04,0.47-0.11,0.69-0.22c0.51-0.25,0.9-0.53,1.18-0.83 c0.28-0.31,0.45-0.62,0.53-0.93c0.08-0.31,0.06-0.61-0.05-0.89c-0.11-0.28-0.28-0.5-0.53-0.68c-0.34-0.25-0.7-0.37-1.08-0.35 c-0.38,0.01-0.75,0.12-1.13,0.32c-0.37,0.2-0.73,0.48-1.07,0.84c-0.34,0.36-0.65,0.76-0.9,1.2c-0.27,0.46-0.49,0.95-0.66,1.46 c-0.03,0.1-0.05,0.19-0.08,0.29c-0.04,0.04-0.08,0.08-0.12,0.14c-0.14,0.18-0.32,0.36-0.52,0.54c-0.21,0.18-0.41,0.35-0.62,0.49 c-0.21,0.14-0.39,0.24-0.56,0.31c-0.16,0.06-0.28,0.07-0.34,0.01c-0.07-0.08-0.03-0.29,0.12-0.62c0.15-0.33,0.35-0.7,0.59-1.11 c0.24-0.41,0.47-0.8,0.71-1.19c0.24-0.39,0.4-0.68,0.48-0.88c0.1-0.26,0.15-0.47,0.12-0.63c-0.02-0.16-0.11-0.25-0.27-0.27 c-0.15-0.02-0.38,0.06-0.67,0.22c-0.29,0.17-0.65,0.45-1.07,0.85c-0.25,0.24-0.53,0.55-0.85,0.93c-0.32,0.38-0.63,0.77-0.93,1.14 c-0.3,0.38-0.57,0.7-0.79,0.97c-0.22,0.27-0.35,0.41-0.39,0.41c-0.04,0-0.06-0.06-0.08-0.17c-0.02-0.11-0.02-0.25-0.01-0.42 c0.01-0.17,0.03-0.34,0.04-0.52c0.02-0.18,0.05-0.34,0.08-0.47c0.82-0.85,1.6-1.71,2.34-2.57c0.74-0.86,1.37-1.66,1.87-2.39 c0.24-0.34,0.43-0.66,0.6-0.97c0.06,0.07,0.12,0.12,0.18,0.2c0-0.16-0.02-0.3-0.05-0.44c0.12-0.25,0.23-0.49,0.3-0.7 c0.18-0.54,0.12-0.92-0.18-1.14c-0.33-0.24-0.73-0.24-1.18,0c-0.18,0.09-0.37,0.22-0.56,0.36c-0.16-0.06-0.33-0.11-0.51-0.16 c-0.66-0.17-1.4-0.26-2.24-0.26c-0.83,0-1.67,0.08-2.5,0.23c-0.83,0.15-1.63,0.38-2.38,0.67C8.42,3.16,7.8,3.51,7.29,3.92 c-0.5,0.42-0.84,0.89-1,1.43C6.13,5.89,6.21,6.47,6.54,7.1C6.53,6.86,6.66,6.59,6.95,6.29c0.28-0.3,0.67-0.6,1.16-0.9 c0.49-0.3,1.06-0.6,1.69-0.88c0.64-0.28,1.31-0.53,2-0.74c-0.33,0.53-0.7,1.16-1.12,1.88c-0.41,0.72-0.82,1.53-1.22,2.44 c-0.4,0.9-0.78,1.9-1.13,2.99c-0.35,1.09-0.64,2.26-0.85,3.51c-0.05,0.28-0.02,0.47,0.07,0.55c0.09,0.08,0.22,0.08,0.37,0 c0.15-0.08,0.32-0.24,0.49-0.46c0.17-0.22,0.31-0.5,0.42-0.83c0.22-0.78,0.52-1.59,0.89-2.42c0.37-0.83,0.77-1.67,1.22-2.52 c0.45-0.84,0.93-1.69,1.44-2.54c0.51-0.85,1.02-1.7,1.54-2.54c0.13-0.2,0.12-0.38-0.02-0.55c0.5-0.07,0.98-0.11,1.44-0.12 c0.21,0,0.41,0,0.61,0.02c-0.01,0.01-0.01,0.01-0.02,0.02c-0.49,0.53-0.96,1.16-1.42,1.9c-0.45,0.74-0.85,1.5-1.18,2.28 c-0.39,0.92-0.7,1.78-0.94,2.57c-0.24,0.79-0.4,1.48-0.48,2.06c-0.08,0.58-0.09,1.03-0.03,1.37c0.06,0.33,0.19,0.5,0.39,0.5 c0.13,0,0.29-0.09,0.49-0.26c0.19-0.17,0.4-0.39,0.63-0.66c0.22-0.27,0.46-0.56,0.7-0.87c0.24-0.31,0.48-0.61,0.71-0.9 c0.23-0.28,0.44-0.53,0.63-0.74c0.19-0.21,0.35-0.33,0.48-0.38c-0.39,0.63-0.68,1.17-0.87,1.64c-0.19,0.47-0.3,0.85-0.33,1.16 c-0.03,0.31,0,0.53,0.1,0.68c0.1,0.15,0.23,0.22,0.39,0.22c0.3,0,0.64-0.13,1.04-0.38c0.4-0.25,0.78-0.55,1.16-0.9 c0.34-0.31,0.65-0.62,0.94-0.93c-0.01,0.43,0.04,0.82,0.18,1.16c0.14,0.36,0.38,0.62,0.73,0.79c0.43,0.2,0.84,0.28,1.23,0.25 c0.4-0.04,0.77-0.14,1.14-0.32c0.36-0.18,0.7-0.4,1.01-0.67c0.31-0.27,0.59-0.55,0.83-0.84c0.24-0.29,0.45-0.56,0.62-0.82 c0.17-0.25,0.29-0.45,0.36-0.58c0.11-0.2,0.16-0.36,0.15-0.47C24.58,9.93,24.53,9.87,24.45,9.84 M20.63,8.55 c0.21-0.27,0.42-0.49,0.66-0.66c0.23-0.17,0.45-0.27,0.67-0.32c0.22-0.05,0.4-0.02,0.54,0.09c0.09,0.07,0.16,0.17,0.2,0.3 c0.04,0.13,0.03,0.27-0.04,0.43c-0.06,0.15-0.19,0.31-0.36,0.46c-0.18,0.15-0.43,0.3-0.76,0.43c-0.34,0.13-0.63,0.19-0.86,0.19 c-0.23,0-0.41-0.01-0.52-0.02C20.27,9.12,20.42,8.82,20.63,8.55 M13.94,8.25c0.09-0.24,0.19-0.49,0.31-0.75 c0.25-0.56,0.51-1.08,0.78-1.57c0.27-0.49,0.54-0.92,0.8-1.3c0.26-0.37,0.51-0.68,0.75-0.91c0.17-0.17,0.33-0.28,0.48-0.35 c0.06,0.02,0.13,0.04,0.19,0.07c-0.01,0.31-0.11,0.65-0.29,1.03c-0.21,0.44-0.48,0.9-0.83,1.4c-0.34,0.5-0.73,1.01-1.16,1.54 c-0.43,0.53-0.86,1.05-1.29,1.56C13.78,8.73,13.86,8.49,13.94,8.25\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M43.26,34.7c-0.03-0.12-0.05-0.25-0.08-0.38c-0.44,0.44-0.89,0.86-1.33,1.27 c-3.83,5.87-10.45,9.76-17.98,9.76c-3.49,0-6.77-0.84-9.69-2.32c0,0.09-0.01,0.18-0.01,0.27c0,0.93,0.18,1.44,0.32,1.7l0.59,1.06 c2.72,1.08,5.68,1.68,8.78,1.68c8.56,0,16.06-4.52,20.27-11.29C43.77,36.08,43.44,35.52,43.26,34.7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M23.87,0c-1.71,0-3.36,0.2-4.97,0.54c0.17,0.07,0.34,0.16,0.5,0.27c0.32,0.23,0.93,0.83,0.89,1.9 c1.16-0.2,2.35-0.32,3.57-0.32c3.54,0,6.87,0.87,9.81,2.38c0.79-0.54,1.55-1.02,2.3-1.45C32.43,1.22,28.29,0,23.87,0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M8.09,7.47c0,0,0-0.01,0.01-0.01C8.09,7.47,8.07,7.48,8.06,7.49l0,0.05C8.07,7.52,8.08,7.5,8.09,7.47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M6.97,38.85c0.14-0.39,0.31-0.8,0.46-1.2c-3.13-3.73-5.05-8.52-5.05-13.78c0-4.91,1.65-9.43,4.42-13.05 L5.61,8.54C2.12,12.69,0,18.02,0,23.87c0,6.35,2.49,12.11,6.53,16.39C6.66,39.8,6.8,39.34,6.97,38.85\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M48.27,41.57h-0.99l-0.25,0.66c-0.01,0.02-0.02,0.03-0.02,0.05c0,0.02,0,0.03,0,0.04 c0,0.03,0.02,0.06,0.05,0.09c0.03,0.02,0.1,0.04,0.2,0.06c0.04,0.01,0.07,0.04,0.07,0.09c0,0.02,0,0.05-0.01,0.08 c-0.08-0.01-0.17-0.01-0.27-0.02c-0.09,0-0.19-0.01-0.28-0.01c-0.06,0-0.13,0-0.2,0c-0.07,0-0.15,0.01-0.23,0.02 c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.06,0.02-0.09,0.06-0.09c0.1-0.02,0.17-0.04,0.21-0.06c0.04-0.02,0.08-0.06,0.1-0.11 l1.14-2.72c0.03-0.05,0.06-0.08,0.11-0.08c0.02,0,0.03,0,0.05,0c0.02,0,0.03,0,0.05,0.01l1.14,2.81c0.02,0.05,0.05,0.08,0.11,0.11 c0.05,0.02,0.11,0.04,0.18,0.05c0.05,0.01,0.07,0.04,0.07,0.09c0,0.03,0,0.05-0.01,0.08c-0.1-0.01-0.2-0.01-0.3-0.02 c-0.1,0-0.19-0.01-0.27-0.01c-0.04,0-0.1,0-0.16,0c-0.06,0-0.13,0-0.19,0.01c-0.07,0-0.13,0.01-0.2,0.01c-0.06,0-0.12,0-0.16,0.01 c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0.01-0.05,0.02-0.06c0.01-0.01,0.02-0.02,0.04-0.03c0.08-0.02,0.14-0.03,0.18-0.05 c0.04-0.02,0.06-0.05,0.06-0.09c0-0.02,0-0.04-0.01-0.07L48.27,41.57z M48.18,41.33l-0.4-1.06l-0.41,1.06H48.18z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M52.7,41.58V39.9c0-0.07-0.02-0.12-0.07-0.15c-0.05-0.03-0.13-0.05-0.25-0.07c-0.04-0.01-0.06-0.04-0.06-0.09 v-0.04c0-0.02,0-0.03,0.01-0.05c0.08,0.01,0.16,0.02,0.23,0.02c0.08,0,0.16,0,0.26,0c0.1,0,0.19,0,0.26,0 c0.07,0,0.15-0.01,0.22-0.02c0,0.02,0.01,0.03,0.01,0.05c0,0.02,0,0.03,0,0.04c0,0.05-0.02,0.08-0.06,0.09 c-0.1,0.02-0.17,0.04-0.21,0.07c-0.04,0.03-0.06,0.07-0.06,0.14v2.76c-0.01,0-0.03,0.01-0.06,0.01c-0.03,0-0.05,0-0.06,0 c-0.02,0-0.05-0.01-0.07-0.02c-0.03-0.01-0.05-0.04-0.08-0.07l-1.86-2.36v2.04c0,0.03,0,0.06,0.01,0.08 c0,0.02,0.02,0.04,0.04,0.05c0.02,0.01,0.05,0.03,0.09,0.04c0.04,0.01,0.09,0.02,0.16,0.04c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.02,0.03,0.02,0.07c0,0.02,0,0.05-0.01,0.08c-0.08-0.01-0.15-0.01-0.22-0.02c-0.07,0-0.15-0.01-0.24-0.01 c-0.09,0-0.18,0-0.26,0.01c-0.08,0-0.16,0.01-0.23,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0.01-0.05,0.02-0.07 c0.01-0.01,0.02-0.02,0.04-0.02c0.11-0.02,0.19-0.04,0.23-0.07c0.04-0.03,0.06-0.07,0.06-0.13v-2.39c0-0.05-0.02-0.09-0.05-0.12 c-0.03-0.03-0.11-0.05-0.22-0.06c-0.04-0.01-0.06-0.04-0.06-0.09v-0.02c0-0.01,0-0.02,0-0.03l0.01-0.04 c0.04,0,0.09,0.01,0.13,0.01c0.04,0,0.08,0,0.12,0.01c0.07,0,0.14,0.01,0.21,0.01c0.07,0,0.13,0,0.17,0c0.09,0,0.15,0,0.18,0.01 c0.03,0.01,0.05,0.02,0.08,0.04L52.7,41.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M56.55,42.26c0,0.03,0,0.06,0.01,0.08c0,0.02,0.02,0.04,0.04,0.05c0.02,0.02,0.05,0.03,0.09,0.04 c0.04,0.01,0.09,0.02,0.16,0.03c0.03,0.01,0.05,0.03,0.05,0.08c0,0.01,0,0.02,0,0.04c0,0.02,0,0.04-0.01,0.05 c-0.1-0.01-0.21-0.01-0.32-0.02c-0.12,0-0.22-0.01-0.3-0.01c-0.09,0-0.19,0-0.31,0.01c-0.11,0-0.22,0.01-0.32,0.02 c-0.01-0.01-0.01-0.03-0.01-0.05v-0.04c0-0.05,0.02-0.08,0.05-0.08c0.07-0.01,0.12-0.02,0.16-0.03c0.04-0.01,0.07-0.03,0.09-0.04 c0.02-0.02,0.03-0.03,0.04-0.05c0.01-0.02,0.01-0.05,0.01-0.08v-2.37c0-0.03,0-0.06-0.01-0.08c-0.01-0.02-0.02-0.04-0.04-0.05 c-0.02-0.02-0.05-0.03-0.09-0.04c-0.04-0.01-0.09-0.02-0.16-0.03c-0.03-0.01-0.05-0.04-0.05-0.08v-0.04c0-0.02,0-0.04,0.01-0.05 c0.1,0.01,0.21,0.01,0.32,0.02c0.11,0,0.22,0.01,0.31,0.01c0.09,0,0.19,0,0.3-0.01c0.12-0.01,0.22-0.01,0.32-0.02 c0,0.02,0.01,0.03,0.01,0.05c0,0.02,0,0.03,0,0.04c0,0.04-0.02,0.07-0.05,0.08c-0.07,0.01-0.12,0.02-0.16,0.03 c-0.04,0.01-0.07,0.02-0.09,0.04c-0.02,0.02-0.03,0.03-0.04,0.05c0,0.02-0.01,0.05-0.01,0.08V42.26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M60.22,41.58V39.9c0-0.07-0.02-0.12-0.07-0.15c-0.05-0.03-0.13-0.05-0.25-0.07 c-0.04-0.01-0.06-0.04-0.06-0.09v-0.04c0-0.02,0-0.03,0.01-0.05c0.08,0.01,0.16,0.02,0.23,0.02c0.08,0,0.16,0,0.26,0 c0.1,0,0.19,0,0.26,0c0.07,0,0.14-0.01,0.22-0.02c0,0.02,0.01,0.03,0.01,0.05c0,0.02,0,0.03,0,0.04c0,0.05-0.02,0.08-0.06,0.09 c-0.1,0.02-0.17,0.04-0.21,0.07c-0.04,0.03-0.06,0.07-0.06,0.14v2.76c-0.01,0-0.03,0.01-0.06,0.01c-0.03,0-0.05,0-0.06,0 c-0.02,0-0.05-0.01-0.07-0.02c-0.03-0.01-0.05-0.04-0.08-0.07l-1.86-2.36v2.04c0,0.03,0,0.06,0.01,0.08 c0,0.02,0.02,0.04,0.04,0.05c0.02,0.01,0.05,0.03,0.09,0.04c0.04,0.01,0.09,0.02,0.16,0.04c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.02,0.03,0.02,0.07c0,0.02,0,0.05-0.01,0.08c-0.08-0.01-0.15-0.01-0.22-0.02c-0.07,0-0.15-0.01-0.24-0.01 c-0.09,0-0.18,0-0.26,0.01c-0.08,0-0.16,0.01-0.23,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0.01-0.05,0.02-0.07 c0.01-0.01,0.02-0.02,0.04-0.02c0.11-0.02,0.19-0.04,0.23-0.07c0.04-0.03,0.06-0.07,0.06-0.13v-2.39c0-0.05-0.02-0.09-0.05-0.12 c-0.03-0.03-0.11-0.05-0.22-0.06c-0.04-0.01-0.06-0.04-0.06-0.09v-0.02c0-0.01,0-0.02,0-0.03l0.01-0.04 c0.04,0,0.09,0.01,0.13,0.01c0.04,0,0.08,0,0.12,0.01c0.07,0,0.14,0.01,0.21,0.01c0.07,0,0.13,0,0.17,0c0.09,0,0.15,0,0.18,0.01 c0.03,0.01,0.05,0.02,0.08,0.04L60.22,41.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M63.34,39.77v2.49c0,0.03,0,0.06,0.01,0.08c0,0.02,0.02,0.04,0.04,0.05c0.02,0.02,0.05,0.03,0.08,0.04 c0.03,0.01,0.08,0.02,0.15,0.03c0.05,0.01,0.07,0.04,0.07,0.08c0,0.01,0,0.02,0,0.04c0,0.02,0,0.04-0.01,0.05 c-0.1-0.01-0.21-0.01-0.32-0.02c-0.12,0-0.22-0.01-0.31-0.01c-0.09,0-0.19,0-0.3,0.01c-0.11,0-0.22,0.01-0.32,0.02 c-0.01-0.01-0.01-0.03-0.01-0.05c0-0.02,0-0.03,0-0.04c0-0.02,0-0.04,0.01-0.05c0.01-0.01,0.03-0.02,0.06-0.03 c0.12-0.02,0.19-0.04,0.22-0.06c0.03-0.03,0.04-0.07,0.04-0.14v-2.49h-0.42c-0.09,0-0.16,0.01-0.22,0.03 c-0.06,0.02-0.12,0.04-0.16,0.08c-0.05,0.04-0.09,0.08-0.12,0.14c-0.04,0.06-0.07,0.13-0.11,0.21c-0.01,0.03-0.04,0.04-0.07,0.04 c-0.02,0-0.04,0-0.07-0.01c-0.03-0.01-0.04-0.01-0.06-0.02c0.02-0.08,0.04-0.14,0.06-0.2c0.02-0.06,0.03-0.12,0.04-0.17 c0.01-0.07,0.02-0.14,0.03-0.19c0.01-0.06,0.01-0.1,0.02-0.12c0.01-0.03,0.04-0.04,0.08-0.04c0.03,0,0.1,0,0.21,0.01 c0.1,0.01,0.23,0.01,0.37,0.01h1.46c0.14,0,0.26,0,0.37-0.01c0.1-0.01,0.17-0.01,0.21-0.01c0.03,0,0.06,0.01,0.08,0.04 c0.01,0.03,0.02,0.07,0.02,0.12c0,0.06,0.01,0.12,0.03,0.19c0.01,0.06,0.02,0.12,0.04,0.17c0.01,0.06,0.03,0.13,0.06,0.2 c-0.02,0.01-0.04,0.01-0.06,0.02c-0.02,0.01-0.04,0.01-0.06,0.01c-0.03,0-0.06-0.01-0.08-0.04c-0.04-0.08-0.07-0.15-0.11-0.21 c-0.04-0.06-0.08-0.11-0.12-0.14c-0.05-0.04-0.1-0.06-0.16-0.08c-0.06-0.02-0.13-0.03-0.22-0.03H63.34z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M66.26,39.77v1.14h0.67c0.06,0,0.1-0.02,0.12-0.07c0.02-0.05,0.04-0.13,0.06-0.24c0-0.03,0.01-0.04,0.03-0.05 c0.02-0.01,0.04-0.01,0.06-0.01c0.01,0,0.02,0,0.04,0c0.02,0,0.04,0,0.05,0.01c-0.01,0.07-0.01,0.16-0.02,0.25 c0,0.1-0.01,0.18-0.01,0.24c0,0.06,0,0.12,0,0.2c0,0.08,0.01,0.16,0.02,0.26c-0.01,0.01-0.02,0.01-0.05,0.01 c-0.02,0-0.04,0-0.04,0c-0.06,0-0.09-0.02-0.09-0.07c-0.02-0.12-0.04-0.2-0.06-0.24c-0.02-0.04-0.06-0.06-0.12-0.06h-0.67v1.06 c0,0.07,0.04,0.11,0.12,0.13c0.08,0.02,0.22,0.03,0.42,0.03H67c0.09,0,0.17-0.01,0.24-0.04c0.06-0.03,0.12-0.06,0.17-0.11 c0.05-0.05,0.09-0.1,0.13-0.16c0.04-0.06,0.08-0.13,0.11-0.21c0.01-0.02,0.03-0.03,0.07-0.03c0.02,0,0.03,0.01,0.06,0.01 c0.02,0.01,0.04,0.02,0.07,0.03c-0.01,0.03-0.01,0.05-0.02,0.07c-0.01,0.02-0.01,0.04-0.02,0.07c-0.02,0.04-0.03,0.07-0.04,0.11 c-0.01,0.04-0.02,0.07-0.03,0.1c-0.01,0.03-0.01,0.07-0.02,0.11c-0.01,0.04-0.02,0.08-0.02,0.11c-0.01,0.04-0.02,0.07-0.02,0.1 c-0.01,0.03-0.01,0.05-0.02,0.06c-0.01,0.03-0.04,0.04-0.08,0.04c-0.03,0-0.06,0-0.11,0c-0.05,0-0.1-0.01-0.15-0.01 c-0.06,0-0.11,0-0.17-0.01c-0.06,0-0.11,0-0.15,0h-1.07c-0.09,0-0.2,0-0.31,0.01c-0.12,0-0.22,0.01-0.32,0.02 c-0.01-0.01-0.01-0.03-0.01-0.05v-0.04c0-0.05,0.02-0.07,0.05-0.08c0.12-0.02,0.21-0.05,0.26-0.07c0.05-0.03,0.08-0.07,0.08-0.13 v-2.37c0-0.03,0-0.06-0.01-0.08c-0.01-0.02-0.03-0.04-0.05-0.05c-0.03-0.01-0.06-0.03-0.1-0.04c-0.04-0.01-0.1-0.02-0.16-0.04 c-0.03-0.01-0.05-0.04-0.05-0.08v-0.05c0-0.01,0-0.03,0.01-0.04c0.14,0.01,0.26,0.02,0.36,0.02c0.1,0,0.19,0,0.27,0h0.97 c0.14,0,0.26,0,0.37-0.01c0.1-0.01,0.17-0.01,0.21-0.01c0.03,0,0.06,0.01,0.08,0.04c0.01,0.03,0.02,0.07,0.02,0.14 c0.01,0.07,0.02,0.14,0.03,0.21c0.01,0.05,0.02,0.11,0.03,0.16c0.01,0.05,0.03,0.11,0.06,0.18c-0.02,0.01-0.03,0.01-0.05,0.02 c-0.02,0.01-0.04,0.01-0.06,0.01c-0.04,0-0.06-0.01-0.08-0.04c-0.04-0.08-0.08-0.15-0.11-0.21c-0.04-0.06-0.08-0.11-0.12-0.14 c-0.05-0.04-0.1-0.06-0.16-0.08c-0.06-0.02-0.13-0.02-0.22-0.02H66.26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M71.19,42.58c-0.08,0.01-0.15,0.02-0.21,0.03c-0.07,0.01-0.14,0.02-0.21,0.03c-0.07,0.01-0.15,0.01-0.23,0.02 c-0.08,0-0.18,0-0.29,0c-0.28,0-0.53-0.04-0.74-0.11c-0.21-0.08-0.38-0.18-0.51-0.32c-0.13-0.14-0.23-0.31-0.3-0.5 c-0.06-0.19-0.1-0.41-0.1-0.65c0-0.19,0.03-0.37,0.09-0.56c0.06-0.19,0.16-0.36,0.29-0.51c0.13-0.15,0.29-0.28,0.49-0.37 c0.2-0.1,0.43-0.14,0.69-0.14c0.18,0,0.37,0.01,0.56,0.04c0.19,0.03,0.37,0.06,0.54,0.11c0.01,0.08,0.02,0.19,0.04,0.33 c0.02,0.13,0.05,0.26,0.08,0.39c-0.02,0-0.04,0.01-0.06,0.01c-0.02,0-0.04,0.01-0.05,0.01c-0.03,0-0.05,0-0.06-0.01 c-0.02-0.01-0.03-0.02-0.04-0.05c-0.07-0.22-0.17-0.37-0.33-0.45c-0.15-0.08-0.34-0.12-0.56-0.12c-0.17,0-0.32,0.03-0.45,0.09 c-0.13,0.06-0.24,0.14-0.33,0.25c-0.09,0.11-0.15,0.24-0.2,0.39c-0.05,0.15-0.07,0.33-0.07,0.52c0,0.21,0.03,0.41,0.08,0.58 s0.12,0.33,0.22,0.46c0.1,0.13,0.22,0.23,0.36,0.3c0.14,0.07,0.31,0.11,0.49,0.11c0.07,0,0.13,0,0.18-0.01 c0.05-0.01,0.11-0.02,0.16-0.03V41.7c0-0.08-0.02-0.14-0.07-0.18c-0.05-0.03-0.13-0.06-0.25-0.07c-0.03-0.01-0.04-0.02-0.05-0.04 c-0.01-0.02-0.01-0.04-0.01-0.06c0-0.01,0-0.02,0-0.04c0-0.02,0-0.03,0.01-0.04c0.05,0,0.1,0.01,0.16,0.01 c0.06,0,0.12,0.01,0.18,0.01c0.06,0,0.12,0,0.18,0c0.06,0,0.11,0,0.15,0c0.04,0,0.09,0,0.15,0c0.06,0,0.11,0,0.17,0 c0.06,0,0.12,0,0.17-0.01c0.05,0,0.1-0.01,0.14-0.01c0.01,0.02,0.01,0.03,0.01,0.05v0.04c0,0.03,0,0.05-0.02,0.06 c-0.01,0.01-0.03,0.03-0.04,0.03c-0.1,0.01-0.17,0.03-0.21,0.06c-0.04,0.03-0.06,0.08-0.06,0.14v0.82c0,0.03-0.01,0.05-0.02,0.07 C71.3,42.56,71.26,42.57,71.19,42.58\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M73.6,41.24h-0.2v0.99c0,0.07,0.03,0.12,0.09,0.15c0.06,0.03,0.17,0.05,0.31,0.07 c0.04,0.01,0.07,0.04,0.07,0.09c0,0.03,0,0.05-0.01,0.09c-0.09-0.01-0.21-0.01-0.34-0.02c-0.14,0-0.29-0.01-0.45-0.01 c-0.11,0-0.22,0-0.33,0.01c-0.11,0-0.2,0.01-0.3,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.05,0.02-0.08,0.05-0.09 c0.07-0.01,0.12-0.02,0.16-0.04c0.04-0.01,0.07-0.02,0.09-0.04c0.02-0.01,0.04-0.03,0.05-0.05c0.01-0.02,0.01-0.05,0.01-0.08 v-2.37c0-0.06-0.02-0.11-0.07-0.14c-0.05-0.03-0.13-0.05-0.26-0.07c-0.02-0.01-0.03-0.02-0.04-0.03s-0.01-0.03-0.01-0.07v-0.04 c0-0.02,0-0.03,0.01-0.04c0.09,0.01,0.19,0.01,0.3,0.02c0.12,0,0.22,0.01,0.31,0.01h0.71c0.17,0,0.32,0.02,0.45,0.06 c0.13,0.04,0.24,0.1,0.34,0.17c0.09,0.08,0.16,0.17,0.21,0.27c0.05,0.1,0.07,0.22,0.07,0.35c0,0.17-0.05,0.32-0.15,0.46 c-0.1,0.14-0.24,0.24-0.42,0.31L75,42.24c0.06,0.08,0.12,0.14,0.2,0.17c0.07,0.03,0.14,0.05,0.21,0.07c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.01,0.03,0.01,0.06v0.04c0,0.02,0,0.03-0.01,0.05c-0.03,0-0.08-0.01-0.15-0.01c-0.06,0-0.13,0-0.2-0.01 c-0.07,0-0.14,0-0.2-0.01c-0.07,0-0.12,0-0.17,0c-0.07,0-0.13-0.03-0.2-0.08c-0.07-0.06-0.13-0.13-0.19-0.22L73.6,41.24z M73.54,41c0.1,0,0.19-0.01,0.26-0.03c0.08-0.02,0.15-0.05,0.2-0.1c0.06-0.05,0.1-0.11,0.13-0.18c0.03-0.08,0.04-0.17,0.04-0.29 c0-0.19-0.05-0.35-0.14-0.46c-0.09-0.11-0.26-0.17-0.5-0.17H73.4V41H73.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M77.11,42.26c0,0.03,0,0.06,0.01,0.08c0,0.02,0.02,0.04,0.04,0.05c0.02,0.02,0.05,0.03,0.09,0.04 c0.04,0.01,0.09,0.02,0.16,0.03c0.03,0.01,0.05,0.03,0.05,0.08c0,0.01,0,0.02,0,0.04c0,0.02,0,0.04-0.01,0.05 c-0.1-0.01-0.21-0.01-0.32-0.02c-0.12,0-0.22-0.01-0.31-0.01c-0.09,0-0.19,0-0.31,0.01c-0.11,0-0.22,0.01-0.32,0.02 c-0.01-0.01-0.01-0.03-0.01-0.05v-0.04c0-0.05,0.02-0.08,0.05-0.08c0.07-0.01,0.12-0.02,0.16-0.03c0.04-0.01,0.07-0.03,0.09-0.04 c0.02-0.02,0.03-0.03,0.04-0.05c0.01-0.02,0.01-0.05,0.01-0.08v-2.37c0-0.03,0-0.06-0.01-0.08c-0.01-0.02-0.02-0.04-0.04-0.05 c-0.02-0.02-0.05-0.03-0.09-0.04c-0.04-0.01-0.09-0.02-0.16-0.03c-0.03-0.01-0.05-0.04-0.05-0.08v-0.04c0-0.02,0-0.04,0.01-0.05 c0.1,0.01,0.21,0.01,0.32,0.02c0.11,0,0.22,0.01,0.31,0.01c0.09,0,0.19,0,0.31-0.01c0.12-0.01,0.22-0.01,0.32-0.02 c0,0.02,0.01,0.03,0.01,0.05c0,0.02,0,0.03,0,0.04c0,0.04-0.02,0.07-0.05,0.08c-0.07,0.01-0.12,0.02-0.16,0.03 c-0.04,0.01-0.07,0.02-0.09,0.04c-0.02,0.02-0.03,0.03-0.04,0.05c0,0.02-0.01,0.05-0.01,0.08V42.26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M79.98,39.77v2.49c0,0.03,0,0.06,0.01,0.08c0,0.02,0.02,0.04,0.04,0.05c0.02,0.02,0.05,0.03,0.08,0.04 c0.03,0.01,0.08,0.02,0.15,0.03c0.05,0.01,0.07,0.04,0.07,0.08c0,0.01,0,0.02,0,0.04c0,0.02,0,0.04-0.01,0.05 c-0.1-0.01-0.21-0.01-0.32-0.02c-0.12,0-0.22-0.01-0.3-0.01c-0.09,0-0.19,0-0.31,0.01c-0.11,0-0.22,0.01-0.32,0.02 c-0.01-0.01-0.01-0.03-0.01-0.05c0-0.02,0-0.03,0-0.04c0-0.02,0-0.04,0.01-0.05c0.01-0.01,0.03-0.02,0.06-0.03 c0.12-0.02,0.19-0.04,0.22-0.06c0.03-0.03,0.04-0.07,0.04-0.14v-2.49h-0.42c-0.09,0-0.16,0.01-0.22,0.03 c-0.06,0.02-0.12,0.04-0.16,0.08c-0.05,0.04-0.09,0.08-0.12,0.14c-0.04,0.06-0.07,0.13-0.11,0.21c-0.01,0.03-0.04,0.04-0.07,0.04 c-0.02,0-0.04,0-0.07-0.01c-0.03-0.01-0.04-0.01-0.06-0.02c0.02-0.08,0.04-0.14,0.06-0.2c0.02-0.06,0.03-0.12,0.04-0.17 c0.01-0.07,0.02-0.14,0.03-0.19c0.01-0.06,0.01-0.1,0.02-0.12c0.01-0.03,0.04-0.04,0.08-0.04c0.03,0,0.1,0,0.21,0.01 c0.1,0.01,0.23,0.01,0.37,0.01h1.46c0.14,0,0.26,0,0.37-0.01c0.1-0.01,0.17-0.01,0.21-0.01c0.03,0,0.06,0.01,0.08,0.04 c0.01,0.03,0.02,0.07,0.02,0.12c0,0.06,0.01,0.12,0.03,0.19c0.01,0.06,0.02,0.12,0.04,0.17c0.01,0.06,0.03,0.13,0.06,0.2 c-0.02,0.01-0.04,0.01-0.06,0.02c-0.02,0.01-0.04,0.01-0.06,0.01c-0.03,0-0.06-0.01-0.08-0.04c-0.04-0.08-0.07-0.15-0.11-0.21 c-0.04-0.06-0.08-0.11-0.12-0.14c-0.05-0.04-0.1-0.06-0.16-0.08c-0.06-0.02-0.13-0.03-0.22-0.03H79.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M82.89,41.31l-0.75-1.43c-0.03-0.07-0.08-0.11-0.13-0.14c-0.05-0.03-0.12-0.04-0.2-0.06 c-0.04,0-0.06-0.03-0.06-0.09v-0.02c0-0.01,0-0.02,0-0.03l0-0.03c0.07,0.01,0.16,0.01,0.27,0.02c0.11,0,0.23,0.01,0.36,0.01 c0.04,0,0.1,0,0.16,0c0.06,0,0.12,0,0.19,0c0.06,0,0.12,0,0.18-0.01c0.06,0,0.1-0.01,0.13-0.01c0.01,0.03,0.01,0.05,0.01,0.06 v0.03c0,0.05-0.02,0.08-0.06,0.09c-0.08,0.01-0.14,0.02-0.17,0.04c-0.03,0.02-0.05,0.04-0.05,0.07c0,0.03,0.01,0.06,0.03,0.1 l0.55,1.1l0.54-1.02c0.03-0.06,0.05-0.11,0.05-0.15c0-0.04-0.02-0.07-0.05-0.08c-0.03-0.02-0.09-0.03-0.18-0.05 c-0.04-0.01-0.06-0.04-0.06-0.09c0-0.01,0-0.04,0.01-0.08c0.07,0.01,0.15,0.01,0.25,0.02c0.1,0,0.19,0.01,0.26,0.01 c0.07,0,0.15,0,0.23,0c0.08,0,0.16-0.01,0.24-0.02c0.01,0.02,0.01,0.04,0.01,0.05v0.03c0,0.06-0.02,0.09-0.06,0.09 c-0.11,0.02-0.19,0.04-0.24,0.06c-0.04,0.02-0.08,0.06-0.11,0.12l-0.78,1.44v0.94c0,0.03,0,0.06,0.01,0.08 c0.01,0.02,0.03,0.04,0.05,0.06c0.03,0.02,0.06,0.03,0.1,0.04c0.04,0.01,0.1,0.02,0.17,0.03c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.02,0.03,0.02,0.07c0,0.01,0,0.01,0,0.02c0,0.01,0,0.02,0,0.03l0,0.03c-0.05,0-0.1,0-0.14,0c-0.04,0-0.09,0-0.13-0.01 c-0.08-0.01-0.15-0.01-0.23-0.01c-0.08,0-0.15,0-0.2,0c-0.06,0-0.12,0-0.2,0c-0.07,0-0.15,0.01-0.22,0.01 c-0.04,0-0.08,0.01-0.12,0.01c-0.04,0-0.08,0-0.12,0l-0.01-0.03c0-0.01,0-0.02,0-0.03v-0.02c0-0.03,0.01-0.06,0.02-0.07 c0.01-0.01,0.02-0.02,0.04-0.02c0.07-0.01,0.12-0.02,0.17-0.04c0.04-0.01,0.08-0.02,0.1-0.04c0.03-0.01,0.04-0.03,0.05-0.05 c0.01-0.02,0.01-0.05,0.01-0.08V41.31z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M94.23,42.67c-0.27,0-0.5-0.04-0.7-0.12c-0.2-0.08-0.36-0.19-0.49-0.34c-0.13-0.14-0.23-0.31-0.29-0.51 c-0.07-0.19-0.1-0.4-0.1-0.63c0-0.19,0.03-0.37,0.09-0.56c0.06-0.19,0.16-0.36,0.3-0.51c0.14-0.15,0.31-0.28,0.52-0.37 c0.21-0.1,0.46-0.14,0.76-0.14c0.16,0,0.31,0.01,0.45,0.03c0.14,0.02,0.29,0.06,0.46,0.1c0.01,0.09,0.02,0.19,0.04,0.33 c0.02,0.13,0.05,0.26,0.08,0.39c-0.02,0-0.04,0.01-0.06,0.01c-0.03,0-0.04,0.01-0.06,0.01c-0.03,0-0.05,0-0.06-0.01 c-0.02-0.01-0.03-0.02-0.04-0.05c-0.03-0.1-0.07-0.19-0.12-0.26c-0.04-0.07-0.1-0.13-0.16-0.17c-0.06-0.04-0.13-0.07-0.22-0.09 c-0.08-0.02-0.18-0.03-0.29-0.03c-0.17,0-0.32,0.03-0.45,0.09c-0.13,0.06-0.24,0.14-0.33,0.25c-0.09,0.11-0.15,0.24-0.2,0.39 c-0.05,0.15-0.07,0.33-0.07,0.52c0,0.2,0.03,0.4,0.08,0.57c0.06,0.18,0.13,0.33,0.23,0.46c0.1,0.13,0.21,0.23,0.34,0.3 c0.13,0.07,0.28,0.11,0.43,0.11c0.13,0,0.23-0.01,0.32-0.04c0.09-0.02,0.17-0.06,0.23-0.11c0.06-0.05,0.12-0.11,0.17-0.19 c0.04-0.08,0.09-0.16,0.13-0.27c0.01-0.03,0.02-0.04,0.04-0.05c0.02-0.01,0.04-0.02,0.06-0.02c0.02,0,0.04,0,0.06,0.01 c0.02,0,0.04,0.01,0.06,0.02c-0.02,0.05-0.04,0.11-0.06,0.18c-0.02,0.07-0.04,0.14-0.06,0.21c-0.02,0.07-0.04,0.14-0.06,0.21 c-0.02,0.07-0.03,0.14-0.04,0.21c-0.15,0.03-0.31,0.05-0.47,0.06C94.6,42.66,94.43,42.67,94.23,42.67\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M96.16,41.07c0-0.22,0.04-0.43,0.13-0.62c0.08-0.19,0.2-0.36,0.34-0.51c0.14-0.14,0.31-0.26,0.51-0.34 c0.19-0.08,0.4-0.13,0.62-0.13c0.23,0,0.44,0.04,0.63,0.12c0.2,0.08,0.36,0.19,0.51,0.33c0.14,0.14,0.26,0.31,0.34,0.51 c0.08,0.2,0.12,0.41,0.12,0.64c0,0.22-0.04,0.43-0.13,0.62c-0.08,0.19-0.2,0.36-0.34,0.5c-0.14,0.14-0.32,0.26-0.51,0.34 c-0.19,0.08-0.4,0.12-0.62,0.12c-0.23,0-0.44-0.04-0.63-0.12c-0.19-0.08-0.36-0.19-0.51-0.33c-0.14-0.14-0.25-0.31-0.34-0.5 C96.2,41.52,96.16,41.31,96.16,41.07 M97.83,42.42c0.13,0,0.25-0.03,0.36-0.09c0.11-0.06,0.2-0.14,0.28-0.24 c0.08-0.1,0.14-0.22,0.18-0.35c0.04-0.13,0.06-0.28,0.06-0.44c0-0.22-0.02-0.43-0.06-0.62c-0.04-0.19-0.11-0.36-0.19-0.5 c-0.09-0.14-0.2-0.25-0.33-0.33c-0.13-0.08-0.28-0.12-0.46-0.12c-0.11,0-0.22,0.02-0.32,0.07c-0.1,0.05-0.2,0.12-0.27,0.21 c-0.08,0.09-0.14,0.21-0.19,0.34c-0.05,0.13-0.07,0.28-0.07,0.45c0,0.23,0.02,0.45,0.07,0.65c0.05,0.2,0.11,0.37,0.2,0.51 c0.09,0.14,0.19,0.25,0.32,0.33S97.67,42.42,97.83,42.42\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M103.12,39.63c0.01-0.03,0.03-0.05,0.06-0.07c0.03-0.02,0.1-0.02,0.21-0.02c0.03,0,0.06,0,0.11,0 c0.05,0,0.1,0,0.16,0c0.06,0,0.11,0,0.17-0.01c0.06,0,0.1-0.01,0.15-0.01c0.01,0.02,0.01,0.03,0.01,0.05v0.04 c0,0.05-0.02,0.08-0.05,0.09c-0.06,0.01-0.11,0.02-0.15,0.03c-0.04,0.01-0.06,0.02-0.08,0.04c-0.02,0.01-0.03,0.03-0.04,0.05 c-0.01,0.02-0.01,0.04-0.01,0.07c0,0.01,0,0.07,0.01,0.18c0,0.11,0.01,0.25,0.02,0.42c0.01,0.17,0.02,0.35,0.03,0.54 c0.01,0.19,0.02,0.38,0.03,0.55c0.01,0.17,0.02,0.33,0.02,0.46c0.01,0.13,0.01,0.21,0.01,0.24c0,0.03,0,0.06,0.01,0.08 c0.01,0.02,0.02,0.04,0.04,0.05c0.02,0.02,0.05,0.03,0.09,0.04c0.04,0.01,0.09,0.02,0.15,0.03c0.04,0.01,0.05,0.04,0.05,0.09 c0,0.02,0,0.05-0.01,0.08c-0.11-0.01-0.21-0.01-0.3-0.02c-0.09,0-0.19-0.01-0.31-0.01c-0.1,0-0.22,0-0.33,0.01 c-0.12,0-0.22,0.01-0.29,0.02c-0.01-0.03-0.01-0.06-0.01-0.08c0-0.03,0.01-0.06,0.02-0.07s0.02-0.02,0.03-0.02 c0.13-0.02,0.21-0.05,0.25-0.08c0.04-0.03,0.06-0.08,0.06-0.14c0-0.01,0-0.06-0.01-0.15c0-0.09-0.01-0.2-0.01-0.34 c0-0.14-0.01-0.28-0.02-0.44c-0.01-0.16-0.02-0.31-0.02-0.44c-0.01-0.14-0.01-0.26-0.02-0.36c-0.01-0.1-0.01-0.16-0.01-0.18 l-0.97,2.25c-0.02,0.03-0.03,0.05-0.04,0.06c-0.01,0.01-0.03,0.02-0.05,0.02h-0.03c-0.01,0-0.02,0-0.03,0l-1.1-2.63 c0,0.04-0.01,0.12-0.01,0.25c0,0.12-0.01,0.27-0.02,0.43c-0.01,0.16-0.02,0.33-0.02,0.51c-0.01,0.18-0.02,0.34-0.02,0.49 c-0.01,0.15-0.01,0.28-0.02,0.38c0,0.1-0.01,0.16-0.01,0.17c0,0.03,0,0.05,0.01,0.07c0.01,0.02,0.02,0.04,0.04,0.05 c0.02,0.02,0.05,0.03,0.09,0.04c0.04,0.01,0.09,0.02,0.16,0.04c0.03,0.01,0.05,0.04,0.05,0.09c0,0.01,0,0.02,0,0.04 c0,0.01,0,0.03-0.01,0.04c-0.09-0.01-0.16-0.01-0.24-0.02c-0.07,0-0.14-0.01-0.22-0.01c-0.06,0-0.14,0-0.24,0.01 c-0.09,0-0.18,0.01-0.26,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0-0.06,0.01-0.07c0.01-0.01,0.02-0.02,0.04-0.02 c0.1-0.02,0.17-0.05,0.21-0.08c0.04-0.03,0.07-0.07,0.08-0.13c0-0.02,0-0.1,0.01-0.23c0.01-0.13,0.01-0.28,0.02-0.45 c0.01-0.17,0.02-0.36,0.03-0.56c0.01-0.2,0.02-0.38,0.03-0.55c0.01-0.17,0.01-0.31,0.02-0.42c0-0.11,0.01-0.17,0.01-0.18 c0-0.05-0.02-0.09-0.05-0.12c-0.03-0.02-0.11-0.05-0.23-0.06c-0.03,0-0.05-0.03-0.05-0.09v-0.04c0-0.02,0-0.03,0.01-0.05 c0.04,0,0.1,0.01,0.17,0.01c0.07,0,0.15,0.01,0.22,0.01c0.08,0,0.15,0,0.21,0c0.07,0,0.11,0,0.14,0c0.06,0,0.1,0,0.13,0.01 c0.03,0,0.06,0.01,0.08,0.02c0.02,0.01,0.03,0.02,0.04,0.03c0.01,0.01,0.01,0.03,0.02,0.04l0.88,2.12L103.12,39.63z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M105.95,41.32v0.91c0,0.07,0.03,0.12,0.09,0.15c0.06,0.03,0.17,0.05,0.31,0.07c0.04,0.01,0.07,0.04,0.07,0.09 c0,0.03,0,0.05-0.01,0.08c-0.09-0.01-0.21-0.01-0.34-0.02c-0.14,0-0.29-0.01-0.45-0.01c-0.11,0-0.22,0-0.33,0.01 c-0.11,0-0.2,0.01-0.3,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.05,0.02-0.08,0.05-0.09c0.07-0.01,0.12-0.02,0.16-0.04 c0.04-0.01,0.07-0.02,0.09-0.04c0.02-0.01,0.04-0.03,0.04-0.05c0.01-0.02,0.01-0.05,0.01-0.08v-2.37c0-0.06-0.02-0.11-0.07-0.14 c-0.05-0.03-0.13-0.05-0.26-0.07c-0.02-0.01-0.03-0.02-0.04-0.03c-0.01-0.01-0.01-0.03-0.01-0.07v-0.04c0-0.02,0-0.03,0.01-0.04 c0.09,0.01,0.19,0.01,0.3,0.02c0.12,0,0.22,0.01,0.31,0.01h0.71c0.34,0,0.6,0.07,0.79,0.23c0.19,0.15,0.28,0.36,0.28,0.63 c0,0.12-0.02,0.24-0.07,0.35c-0.05,0.11-0.12,0.21-0.21,0.29c-0.09,0.08-0.21,0.15-0.34,0.2c-0.13,0.05-0.28,0.07-0.45,0.07 H105.95z M106.09,41.08c0.19,0,0.35-0.05,0.47-0.15c0.12-0.1,0.18-0.26,0.18-0.5c0-0.21-0.05-0.37-0.14-0.49 c-0.09-0.12-0.26-0.18-0.5-0.18h-0.14v1.31H106.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M109.44,41.57h-0.99l-0.25,0.66c-0.01,0.02-0.02,0.03-0.02,0.05c0,0.02-0.01,0.03-0.01,0.04 c0,0.03,0.02,0.06,0.05,0.09c0.03,0.02,0.1,0.04,0.2,0.06c0.04,0.01,0.07,0.04,0.07,0.09c0,0.02,0,0.05-0.01,0.08 c-0.08-0.01-0.17-0.01-0.27-0.02c-0.09,0-0.19-0.01-0.28-0.01c-0.06,0-0.13,0-0.2,0c-0.07,0-0.15,0.01-0.23,0.02 c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.06,0.02-0.09,0.06-0.09c0.1-0.02,0.17-0.04,0.21-0.06c0.04-0.02,0.08-0.06,0.1-0.11 l1.14-2.72c0.03-0.05,0.06-0.08,0.11-0.08c0.02,0,0.03,0,0.05,0c0.02,0,0.03,0,0.05,0.01l1.14,2.81c0.02,0.05,0.06,0.08,0.11,0.11 c0.05,0.02,0.11,0.04,0.17,0.05c0.05,0.01,0.07,0.04,0.07,0.09c0,0.03,0,0.05-0.01,0.08c-0.1-0.01-0.2-0.01-0.3-0.02 c-0.1,0-0.19-0.01-0.27-0.01c-0.04,0-0.1,0-0.16,0c-0.06,0-0.13,0-0.19,0.01c-0.07,0-0.13,0.01-0.2,0.01c-0.06,0-0.12,0-0.16,0.01 c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0-0.05,0.02-0.06c0.01-0.01,0.02-0.02,0.04-0.03c0.08-0.02,0.14-0.03,0.18-0.05 c0.04-0.02,0.06-0.05,0.06-0.09c0-0.02,0-0.04-0.01-0.07L109.44,41.57z M109.35,41.33l-0.4-1.06l-0.41,1.06H109.35z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M113.88,41.58V39.9c0-0.07-0.02-0.12-0.07-0.15c-0.05-0.03-0.13-0.05-0.25-0.07 c-0.04-0.01-0.06-0.04-0.06-0.09v-0.04c0-0.02,0-0.03,0.01-0.05c0.08,0.01,0.16,0.02,0.23,0.02c0.08,0,0.16,0,0.26,0 c0.1,0,0.19,0,0.26,0c0.07,0,0.14-0.01,0.22-0.02c0,0.02,0,0.03,0.01,0.05c0,0.02,0,0.03,0,0.04c0,0.05-0.02,0.08-0.06,0.09 c-0.1,0.02-0.17,0.04-0.21,0.07c-0.04,0.03-0.06,0.07-0.06,0.14v2.76c-0.01,0-0.03,0.01-0.06,0.01c-0.03,0-0.05,0-0.06,0 c-0.02,0-0.05-0.01-0.07-0.02c-0.03-0.01-0.05-0.04-0.08-0.07l-1.86-2.36v2.04c0,0.03,0,0.06,0.01,0.08 c0,0.02,0.02,0.04,0.04,0.05c0.02,0.01,0.05,0.03,0.09,0.04c0.04,0.01,0.09,0.02,0.16,0.04c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.02,0.03,0.02,0.07c0,0.02,0,0.05-0.01,0.08c-0.08-0.01-0.15-0.01-0.22-0.02c-0.07,0-0.15-0.01-0.24-0.01 c-0.09,0-0.18,0-0.26,0.01c-0.08,0-0.16,0.01-0.23,0.02c-0.01-0.01-0.01-0.03-0.01-0.04v-0.04c0-0.03,0-0.05,0.02-0.07 c0.01-0.01,0.02-0.02,0.04-0.02c0.11-0.02,0.19-0.04,0.23-0.07c0.04-0.03,0.06-0.07,0.06-0.13v-2.39c0-0.05-0.02-0.09-0.05-0.12 c-0.03-0.03-0.11-0.05-0.22-0.06c-0.04-0.01-0.06-0.04-0.06-0.09v-0.02c0-0.01,0-0.02,0-0.03l0.01-0.04 c0.04,0,0.09,0.01,0.13,0.01c0.04,0,0.08,0,0.12,0.01c0.07,0,0.14,0.01,0.21,0.01c0.07,0,0.13,0,0.17,0c0.09,0,0.15,0,0.18,0.01 c0.03,0.01,0.05,0.02,0.08,0.04L113.88,41.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M116.29,41.31l-0.75-1.43c-0.03-0.07-0.08-0.11-0.13-0.14c-0.05-0.03-0.12-0.04-0.2-0.06 c-0.04,0-0.06-0.03-0.06-0.09v-0.02c0-0.01,0-0.02,0-0.03l0-0.03c0.07,0.01,0.16,0.01,0.27,0.02c0.11,0,0.23,0.01,0.36,0.01 c0.04,0,0.1,0,0.16,0c0.06,0,0.12,0,0.19,0c0.06,0,0.12,0,0.18-0.01c0.06,0,0.1-0.01,0.13-0.01c0.01,0.03,0.01,0.05,0.01,0.06 v0.03c0,0.05-0.02,0.08-0.06,0.09c-0.08,0.01-0.14,0.02-0.17,0.04c-0.03,0.02-0.05,0.04-0.05,0.07c0,0.03,0.01,0.06,0.03,0.1 l0.55,1.1l0.54-1.02c0.03-0.06,0.05-0.11,0.05-0.15c0-0.04-0.02-0.07-0.05-0.08c-0.03-0.02-0.1-0.03-0.18-0.05 c-0.04-0.01-0.06-0.04-0.06-0.09c0-0.01,0.01-0.04,0.01-0.08c0.07,0.01,0.15,0.01,0.25,0.02c0.1,0,0.19,0.01,0.26,0.01 c0.07,0,0.15,0,0.23,0c0.08,0,0.16-0.01,0.24-0.02c0.01,0.02,0.01,0.04,0.01,0.05v0.03c0,0.06-0.02,0.09-0.06,0.09 c-0.11,0.02-0.19,0.04-0.24,0.06c-0.04,0.02-0.08,0.06-0.11,0.12l-0.78,1.44v0.94c0,0.03,0.01,0.06,0.01,0.08 c0.01,0.02,0.03,0.04,0.05,0.06c0.03,0.02,0.06,0.03,0.1,0.04c0.04,0.01,0.1,0.02,0.17,0.03c0.02,0,0.03,0.01,0.04,0.02 c0.01,0.01,0.02,0.03,0.02,0.07c0,0.01,0,0.01,0,0.02c0,0.01,0,0.02,0,0.03l0,0.03c-0.05,0-0.1,0-0.14,0c-0.04,0-0.09,0-0.13-0.01 c-0.08-0.01-0.15-0.01-0.23-0.01c-0.08,0-0.15,0-0.2,0c-0.06,0-0.12,0-0.2,0c-0.07,0-0.15,0.01-0.22,0.01 c-0.04,0-0.08,0.01-0.12,0.01c-0.04,0-0.08,0-0.12,0l-0.01-0.03c0-0.01,0-0.02,0-0.03v-0.02c0-0.03,0.01-0.06,0.02-0.07 c0.01-0.01,0.02-0.02,0.04-0.02c0.07-0.01,0.12-0.02,0.17-0.04c0.04-0.01,0.08-0.02,0.1-0.04c0.03-0.01,0.04-0.03,0.05-0.05 c0.01-0.02,0.01-0.05,0.01-0.08V41.31z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M88.62,37.18v7.52c-0.59,0-1.49,0.03-2.71,0.08v-0.13c0.63-0.09,1.08-0.3,1.32-0.62 c0.25-0.31,0.37-0.88,0.37-1.7v-3.19c0-0.62-0.13-1.07-0.38-1.36c-0.26-0.28-0.69-0.47-1.31-0.56v-0.13 C86.92,37.14,87.82,37.17,88.62,37.18 M89.1,44.69v-7.52c1.02,0,1.93-0.03,2.72-0.09v0.13c-0.49,0.05-0.89,0.2-1.21,0.46 c-0.33,0.26-0.49,0.8-0.49,1.62v3.4c0,0.73,0.17,1.22,0.52,1.48c0.35,0.25,0.74,0.41,1.19,0.48v0.13 C91.04,44.72,90.14,44.69,89.1,44.69\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAllianceLogo);\nexport default __webpack_public_path__ + \"static/media/alliance-logo.947cc526.svg\";\nexport { ForwardRef as ReactComponent };","import Button from '@mui/material/Button';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Auth } from 'aws-amplify';\nimport React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ReactComponent as AllianceLogo } from '../../assets/alliance-logo.svg';\nimport { AuthContext } from '../../contexts/auth-context';\n\nconst useStyles = makeStyles({\n container: {\n height: '100vh',\n width: '100vw',\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n greeting: {\n textAlign: 'center',\n marginTop: 10,\n fontWeight: 'lighter',\n },\n logoContainer: {\n backgroundColor: '#212121',\n padding: 16,\n minWidth: 300,\n minHeight: 160,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport function SignIn() {\n // Context\n const { state } = React.useContext(AuthContext);\n // Hooks\n const classes = useStyles();\n const navigate = useNavigate();\n\n React.useEffect(() => {\n if (state.user !== undefined) {\n navigate('/home');\n }\n }, [state.user, navigate]);\n\n // Forgot Password Link\n const linkForForgot = `https://${process.env.REACT_APP_AWS_DOMAIN}/forgotPassword?client_id=${process.env.REACT_APP_AWS_CLIENT_ID}&response_type=code&redirect_uri=${process.env.REACT_APP_AWS_REDIRECT_SIGN_IN}`;\n // Register new recruit link\n const linkForRegister =\n 'https://thealliancecontracting.com/sign-up/the-alliance';\n\n return (\n
\n \n \n \n \n\n \n Access your dashboard\n \n\n
\n Auth.federatedSignIn()}\n >\n Sign in\n \n
\n\n
\n \n Forgot password\n \n
\n
\n\n \n \n Fastract a new recruit\n \n \n
\n );\n}\n","import LinearProgress from '@mui/material/LinearProgress';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { useQuery } from '@tanstack/react-query';\nimport React from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Dashboard } from '../components/dashboard';\nimport { MaintenanceMessageAdmins } from '../components/maintenance-message';\nimport { RequireAuth } from '../components/require-auth';\nimport { usePermissions } from '../hooks/use-permissions';\nimport { darkTheme } from '../theme';\nimport { AWS_GROUP } from '../types';\nimport { captureError } from '../utils/capture-error';\nimport { HomeOG } from './home';\nimport { Home } from './home_v2/index';\nimport { MobileLiveBar } from './home_v2/mobile-live-bar';\nimport { SignIn } from './sign-in';\n\nconst AppRoutes = {\n Account: React.lazy(() => import('./account/account-routes')),\n Admin: React.lazy(() => import('./admin/admin-routes')),\n Business: React.lazy(() => import('./business/business-routes')),\n Carriers: React.lazy(() => import('./carriers/carriers-routes')),\n Connections: React.lazy(() => import('./connections/connections-routes')),\n Resources: React.lazy(() => import('./resources/resources-routes')),\n Team: React.lazy(() => import('./team/team-routes')),\n};\n\nexport function Root() {\n // Hooks\n const { checkPermissions } = usePermissions();\n\n // Query - Check for Maintenance\n const pathMaint = process.env.REACT_APP_MAINT_URL;\n const queryMaint = useQuery({\n enabled: pathMaint !== undefined,\n queryKey: [pathMaint],\n queryFn: async () => {\n if (pathMaint) {\n const body = { data: { origin: window.origin } };\n const response = await fetch(pathMaint, {\n body: JSON.stringify(body),\n headers: { 'Content-Type': 'application/json' },\n method: 'POST',\n });\n const data: {\n data: {\n maintenanceActive: boolean;\n maintenanceBegin: string;\n maintenanceEnd: string;\n };\n } = await response.json();\n\n return data.data;\n }\n\n return null;\n },\n onError: (error) => captureError({ data: { error } }),\n });\n\n const isAdmin = checkPermissions([\n AWS_GROUP.ReadAll,\n AWS_GROUP.Staff_ReadOnly,\n AWS_GROUP.Accounting,\n AWS_GROUP.Commissions,\n AWS_GROUP.CommissionApproval,\n AWS_GROUP.Marketing,\n AWS_GROUP.ARC_BillingSystem,\n AWS_GROUP.GlobalAdmin,\n AWS_GROUP.PermissionsAdmin,\n AWS_GROUP.Contracting,\n AWS_GROUP.Reconciliation,\n ]);\n\n // Agents cannot access the ARC during Maintenance\n // Admins can access the ARC during Maintentnace\n const displayAdminMaint =\n isAdmin &&\n queryMaint.data &&\n queryMaint.data.maintenanceActive &&\n queryMaint.data.maintenanceEnd;\n\n return (\n \n {displayAdminMaint && queryMaint.data ? (\n \n ) : null}\n\n \n } />\n\n \n \n \n }\n >\n \n \n \n \n }\n />\n\n } />\n\n }>\n \n \n \n \n }\n />\n }>\n \n \n \n \n }\n />\n }>\n \n \n \n \n }\n />\n }>\n \n \n \n \n }\n />\n }>\n \n \n \n \n }\n />\n }>\n \n \n \n \n }\n />\n }>\n \n \n ) : (\n \n )\n }\n />\n\n } />\n } />\n \n \n \n );\n}\n","import { Auth, Hub } from 'aws-amplify';\nimport React from 'react';\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport { AdminAgentProvider } from './contexts/admin-agent-context';\nimport { AppProvider } from './contexts/app-context';\nimport { AuthContext } from './contexts/auth-context';\nimport { Root } from './routes/root';\n\nexport function App() {\n // Context\n const { dispatch } = React.useContext(AuthContext);\n\n React.useEffect(() => {\n // Amplify has a local eventing system called Hub\n // Amplify’s Auth category publishes in the auth channel\n Hub.listen('auth', ({ payload: { event, data } }) => {\n switch (event) {\n case 'signIn':\n dispatch({ type: 'USER_SET', payload: data });\n break;\n case 'tokenRefresh_failure':\n dispatch({ type: 'TOKEN_ERROR' });\n break;\n case 'signOut':\n dispatch({ type: 'USER_CLEAR' });\n break;\n }\n });\n\n const checkForUser = async () => {\n try {\n dispatch({ type: 'SET_CHECKING', payload: true });\n\n // Used to check if a user is logged in when the page is loaded\n const user = await Auth.currentAuthenticatedUser();\n dispatch({ type: 'USER_SET', payload: user });\n\n // Provides decoded JWT Tokens\n const userSession = await Auth.currentSession();\n dispatch({ type: 'SESSION_SET', payload: userSession });\n } catch (error) {\n // Will throw an error if there is no user logged in\n dispatch({ type: 'USER_CLEAR' });\n } finally {\n dispatch({ type: 'SET_CHECKING', payload: false });\n }\n };\n\n checkForUser();\n }, [dispatch]);\n\n return (\n \n \n \n \n \n \n \n );\n}\n","import CssBaseline from '@mui/material/CssBaseline';\nimport {\n StyledEngineProvider,\n Theme,\n ThemeProvider,\n} from '@mui/material/styles';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport ReactDOM from 'react-dom';\nimport { HelmetProvider } from 'react-helmet-async';\nimport './amplify';\nimport { App } from './app-root';\nimport { AuthProvider } from './contexts/auth-context';\nimport { materialTheme } from './theme';\n\ndeclare module '@mui/styles/defaultTheme' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultTheme extends Theme {}\n}\n\n// Create a client\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nReactDOM.render(\n \n \n \n\n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n","import { blue, grey } from '@mui/material/colors';\nimport { createTheme } from '@mui/material/styles';\n\nexport const materialTheme = createTheme({\n palette: {\n primary: {\n main: grey[800],\n },\n secondary: blue,\n },\n components: {\n MuiTableCell: {\n styleOverrides: {\n sizeSmall: {\n padding: 6,\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n border: '1px solid #00000011',\n borderRadius: 14,\n },\n sizeMedium: {\n borderRadius: 10,\n },\n sizeSmall: {\n borderRadius: 8,\n },\n },\n },\n },\n});\n\nexport const appTheme = {\n drawerWidth: 280,\n};\n\nexport const darkTheme = createTheme({\n palette: {\n mode: 'dark',\n background: {\n default: grey[900],\n paper: grey[900],\n },\n primary: {\n main: grey[100],\n },\n secondary: blue,\n },\n components: {\n MuiDialog: {\n styleOverrides: {\n paper: {\n backgroundColor: '#2c2c2c',\n backgroundImage: 'none',\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paperAnchorRight: {\n backgroundColor: grey[900],\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n border: '1px solid #ffffff33',\n borderRadius: 14,\n },\n sizeMedium: {\n borderRadius: 10,\n },\n sizeSmall: {\n borderRadius: 8,\n },\n },\n },\n MuiLink: {\n styleOverrides: {\n root: {\n color: 'aqua',\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n sizeSmall: {\n padding: 6,\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n input: {\n '&::-webkit-calendar-picker-indicator': {\n filter: 'invert(1)',\n },\n },\n },\n },\n MuiToolbar: {\n styleOverrides: {\n root: {\n borderTopLeftRadius: 5,\n borderTopRightRadius: 5,\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n background: grey[900],\n },\n arrow: {\n color: grey[900],\n },\n },\n },\n },\n});\n","import React from 'react';\nimport { animated, useSpring } from 'react-spring';\n\nexport interface AnimateInProps extends React.HTMLAttributes {\n // The direction to animate in to\n to?: 'top' | 'right' | 'bottom' | 'left';\n // The amount of pixels to move\n pixels?: number;\n // Don't fade the children in with opacity\n nofade?: 'true' | 'false';\n // Don't slide the children in with transform\n notransform?: 'true' | 'false';\n}\n\nexport const AnimateIn = React.forwardRef(\n (props, ref) => {\n // Default `to` will be `left`\n const to = props.to ? props.to : 'left';\n // Default `pixels` will be `10`\n const pixels = props.pixels ? props.pixels : 10;\n\n let transform = 'translate3d(0, 0, 0)';\n if (to === 'top') {\n transform = `translate3d(0, ${pixels}px, 0)`;\n } else if (to === 'bottom') {\n transform = `translate3d(0, ${-Math.abs(pixels)}px, 0)`;\n } else if (to === 'left') {\n transform = `translate3d(${pixels}px, 0, 0)`;\n } else if (to === 'right') {\n transform = `translate3d(${-Math.abs(pixels)}px, 0, 0)`;\n }\n\n let config: {\n opacity: number;\n transform?: string;\n from: { opacity: number; transform?: string };\n } = {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)',\n from: { opacity: props.nofade === 'true' ? 1 : 0, transform },\n };\n if (props.notransform) {\n config = { opacity: 1, from: { opacity: 0 } };\n }\n\n const values = useSpring(config);\n return (\n \n {props.children}\n \n );\n }\n);\n"],"sourceRoot":""}