@mychoice/mychoice-sdk-modules 2.1.88 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { ErrorBoundary } from 'react-error-boundary';
3
- import { AppTypes, TitleForm, TooltipForm, IconDelete, ColorVariablesTypes, InputTypes, InputForm, InputFormPhone, InputFormEmail, InputFormLicence, SelectForm, getFormattedDate, DateTypes, getDateOptions, ButtonForm, defaultBrokerPhone, DriverPriorityTypes, SizeTypes, ButtonBase, CategoryTypes, ColorTypes, defaultLocalIndex, liabilityOptions, coverageOptions, lossOfUseOptions, liabilityForDamageOptions, limitedWaiverOfDepreciationOptions, OfferDetail, CompanyRoleTypes, OperationHoursInfo, OfferHeader, OfferPrice, ButtonTypes, ButtonVariantTypes, IconDropdownArrow, InsuranceTypes, HeaderNavGroup, ButtonMenu, DeviceTypes, IconLoaderPrimary, getInsuranceType, RequestStatusTypes, formatPostalCode, IconLoaderSecondary, postalCodeFormat, useEffectOnce, carCondition, carStatus, carWinterTiresCheck, carKeepPlace, carUsagePurpose, firstDriveDistanceList, dailyDriveBusinessDistanceList, yearlyDriveDistanceList, numberWithCommas, VehiclePrimaryUseTypes, comprehensiveCoverage, collisionCoverage, maritalStatusOptions, subYearsFromDate, occupationOptions, genderOptions, applicantRelationshipOptions, addYearsToDate, checkDateIsSpecial, DriverLicenceTypes, getDifferenceInYears, getLicenceTypeOptions, getDisabledLicenceTypes, yesNoOptions, addDaysToDate, getMinDate, CheckboxForm, getMinDateByYears, compareDates, insuranceCancellationReasonOptions, DriverListTypes, licenceSuspensionsReasonOptions, trafficTicketsGroupOptions, ValidationStatusTypes, QuoteEdit, homeOwnerTypeOptions, tenantBuildingStructureOptions, condoBuildingStructureOptions, homeBuildingStructureOptions, residentsOptions, insuredYearsOptions, getInsuranceYearsOptions, ApplicantListTypes, claimTypeOptions, exteriorFinishOptions, constructionTypeOptions, garageTypeOptions, getNumericOptions, fireHallDistanceOptions, fireHydrantDistanceOptions, primaryHeatingTypeOptions, auxHeatingTypeOptions, InfoMessage, ppOptions, homeCoverageOptions, homeLiabilityOptions, lifeInsuranceTypeOptions, lifeInsuranceOntarioTypeOptions, lifeCoverageOptions, smokerOptions, MychoiceStep, Step, IconClock, ButtonArrow, DirectionTypes, ButtonTabArrow, ButtonTab, ButtonTabMobile, NavigationCar, NavigationPerson, NavigationDiscount, NavigationQuotes, NavigationAddress, NavigationProperty, ModalTypes } from '@mychoice/mychoice-sdk-components';
3
+ import { AppTypes, isMyChoiceLike, TitleForm, TooltipForm, IconDelete, ColorVariablesTypes, InputTypes, InputForm, InputFormPhone, InputFormEmail, InputFormLicence, SelectForm, getFormattedDate, DateTypes, getDateOptions, ButtonForm, defaultBrokerPhone, DriverPriorityTypes, SizeTypes, ButtonBase, CategoryTypes, ColorTypes, defaultLocalIndex, liabilityOptions, coverageOptions, lossOfUseOptions, liabilityForDamageOptions, limitedWaiverOfDepreciationOptions, OfferDetail, CompanyRoleTypes, OperationHoursInfo, OfferHeader, OfferPrice, ButtonTypes, ButtonVariantTypes, IconDropdownArrow, InsuranceTypes, HeaderNavGroup, ButtonMenu, DeviceTypes, IconLoaderPrimary, getInsuranceType, RequestStatusTypes, formatPostalCode, IconLoaderSecondary, postalCodeFormat, useEffectOnce, carCondition, carStatus, carWinterTiresCheck, carKeepPlace, carUsagePurpose, firstDriveDistanceList, dailyDriveBusinessDistanceList, yearlyDriveDistanceList, numberWithCommas, VehiclePrimaryUseTypes, comprehensiveCoverage, collisionCoverage, maritalStatusOptions, subYearsFromDate, occupationOptions, genderOptions, applicantRelationshipOptions, addYearsToDate, checkDateIsSpecial, DriverLicenceTypes, getDifferenceInYears, getLicenceTypeOptions, getDisabledLicenceTypes, yesNoOptions, addDaysToDate, getMinDate, CheckboxForm, getMinDateByYears, compareDates, insuranceCancellationReasonOptions, DriverListTypes, licenceSuspensionsReasonOptions, trafficTicketsGroupOptions, ValidationStatusTypes, getPlaceholderEmail, QuoteEdit, homeOwnerTypeOptions, tenantBuildingStructureOptions, condoBuildingStructureOptions, homeBuildingStructureOptions, residentsOptions, insuredYearsOptions, getInsuranceYearsOptions, ApplicantListTypes, claimTypeOptions, exteriorFinishOptions, constructionTypeOptions, garageTypeOptions, getNumericOptions, fireHallDistanceOptions, fireHydrantDistanceOptions, primaryHeatingTypeOptions, auxHeatingTypeOptions, InfoMessage, ppOptions, homeCoverageOptions, homeLiabilityOptions, lifeInsuranceTypeOptions, lifeInsuranceOntarioTypeOptions, lifeCoverageOptions, smokerOptions, MychoiceStep, Step, IconClock, ButtonArrow, DirectionTypes, ButtonTabArrow, ButtonTab, ButtonTabMobile, NavigationCar, NavigationPerson, NavigationDiscount, NavigationQuotes, NavigationAddress, NavigationProperty, ModalTypes } from '@mychoice/mychoice-sdk-components';
4
4
  import { useStoreAppConfig, useStoreFormCarVehicle, useStoreFormCarDriverBase, useStoreFormCarDiscount, StoreFormCarDiscountActionTypes, useStoreFormCarQuote, CarQuoteDataHandler, useValidationCarDiscount, StoreFormCarVehicleActionTypes, useStorePartner, useStoreDeviceType, useStoreAppLoader, useStoreAppModal, StoreConfigAppModalActionTypes, useHandlerPostal, useHandlerCarMake, useHandlerCarModel, useProvince, useValidationVehicle, StoreFormCarDriverBaseActionTypes, useStoreFormCarConfig, useStoreFormCarDriverInfo, StoreFormCarDriverInfoActionTypes, useStoreFormCarDriverLicence, addDayToDate, StoreFormCarDriverLicenceActionTypes, useStoreFormCarDriverInsurance, StoreFormCarDriverInsuranceActionTypes, useStoreFormCarDriverCancellation, StoreFormCarDriverCancellationActionTypes, useStoreFormCarDriverSuspension, StoreFormCarDriverSuspensionActionTypes, useStoreFormCarDriverAccident, StoreFormCarDriverAccidentActionTypes, useStoreFormCarDriverTicket, StoreFormCarDriverTicketActionTypes, useValidationDriver, useHandlerCarQuoterEmail, useStoreFormHomeDwelling, useStoreFormHomePostal, useStoreFormHomeApplicantBase, StoreFormHomePostalActionTypes, StoreFormHomeDwellingActionTypes, StoreConfigAppConfigActionTypes, StoreFormHomeApplicantBaseActionTypes, useValidationAddress, useStoreFormHomeApplicantInfo, useStoreFormHomeDiscount, StoreFormHomeDiscountActionTypes, StoreFormHomeApplicantInfoActionTypes, useStoreFormHomeApplicantInsurance, StoreFormHomeApplicantInsuranceActionTypes, useStoreFormHomeApplicantCancellation, StoreFormHomeApplicantCancellationActionTypes, useStoreFormHomeApplicantClaim, StoreFormHomeApplicantClaimActionTypes, useValidationApplicant, useValidationDwelling, useStoreFormHomeQuote, HomeQuoteDataHandler, useValidationHomeDiscount, useHandlerHomeQuoterEmail, useStoreFormLifeCoverage, StoreFormLifeCoverageActionTypes, useValidationCoverage, useStoreFormLifeQuote, useStoreFormLifeApplicant, LifeQuoteDataHandler, useValidationLifeApplicant, useHandlerLifeQuoterEmail, StoreFormLifeApplicantActionTypes, useStoreFormCarPostal, useStoreFormLifePostal, ClearFormDataHandler, useStoreAppDevice, useStoreClient, useHandlerAuth, useHandlerPartner, StoreConfigAppLoaderActionTypes, StoreFormCarConfigActionTypes, StoreFormCarPostalActionTypes, StoreFormCarQuoteActionTypes, StoreFormHomeQuoteActionTypes, StoreFormLifePostalActionTypes, StoreFormLifeQuoteActionTypes, StoreClientActionTypes, StoreConfigAppDeviceActionTypes, StoreProvider, initHttpResponse } from '@mychoice/mychoice-sdk-store';
5
5
  import { useNavigate, useLocation, BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
6
6
  import React, { useState, useCallback, useEffect, useRef, useMemo } from 'react';
@@ -12,13 +12,11 @@ import TagManager from 'react-gtm-module';
12
12
  import 'react-phone-input-2/lib/style.css';
13
13
 
14
14
  const LabelFormBox = (props) => {
15
- const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive, } = props;
16
- const { appConfigState: { appType } } = useStoreAppConfig();
15
+ const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive } = props;
16
+ const { appConfigState: { appType }, } = useStoreAppConfig();
17
17
  const isThebig = appType === AppTypes.TheBig;
18
- const isMychoice = appType === AppTypes.MyChoice;
19
- return (jsxs("div", { className: `label-container ${className}`, children: [jsx(TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }), (name && description)
20
- && jsx(TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' }), isRemovable
21
- && (jsx(IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
18
+ const isMychoice = isMyChoiceLike(appType);
19
+ return (jsxs("div", { className: `label-container ${className}`, children: [jsx(TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }), name && description && (jsx(TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' })), isRemovable && (jsx(IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
22
20
  };
23
21
  LabelFormBox.defaultProps = {
24
22
  className: '',
@@ -109,11 +107,11 @@ DateSelectFormBox.defaultProps = {
109
107
  };
110
108
 
111
109
  const SwitchButtonBox = (props) => {
112
- const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange, } = props;
110
+ const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange } = props;
113
111
  const [activeId, setActiveId] = useState(defaultValue);
114
- const { appConfigState: { appType } } = useStoreAppConfig();
112
+ const { appConfigState: { appType }, } = useStoreAppConfig();
115
113
  const isTheBig = appType === AppTypes.TheBig;
116
- const isMychoice = appType === AppTypes.MyChoice;
114
+ const isMychoice = isMyChoiceLike(appType);
117
115
  const setClassNames = (isActive) => {
118
116
  if (isTheBig) {
119
117
  return isActive ? 'thebig-bold' : 'thebig-regular';
@@ -223,9 +221,14 @@ const BlockVehLinks = () => {
223
221
  };
224
222
 
225
223
  const BlockNextPageInfo$2 = () => {
226
- const { appConfigState: { appType } } = useStoreAppConfig();
227
- const isTheBig = appType === AppTypes.TheBig;
228
- return (jsx("div", { className: "next-page-info", children: isTheBig ? (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) })) : (jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] })) }));
224
+ const { appConfigState: { appType }, } = useStoreAppConfig();
225
+ if (appType === AppTypes.TheBig) {
226
+ return (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
227
+ }
228
+ if (appType === AppTypes.MyChoice) {
229
+ return (jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] }));
230
+ }
231
+ return null;
229
232
  };
230
233
 
231
234
  const BlockSubmit$2 = ({ className, label, buttonSize, isRecalc = false, }) => {
@@ -378,8 +381,8 @@ const OfferSection = ({ offerCompany, brokerCompany, offerPrice, phoneNumber, is
378
381
  const { appConfigState: { appType }, } = useStoreAppConfig();
379
382
  const { postRequestQuoteOnliaUrl } = CarQuoteDataHandler();
380
383
  const isTheBig = appType === AppTypes.TheBig;
381
- const isMyChoice = appType === AppTypes.MyChoice;
382
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
384
+ const isMyChoice = isMyChoiceLike(appType);
385
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
383
386
  const { weekdayHours, saturdayHours, sundayHours } = operationHours;
384
387
  const [detailsIsOpen, setDetailsIsOpenIsOpen] = useState(isBestOffer ?? false);
385
388
  const handleDropdownClick = () => {
@@ -415,66 +418,73 @@ OfferSection.defaultProps = {
415
418
  isBestOffer: false,
416
419
  };
417
420
 
418
- var logo = "data:image/png;base64,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";
421
+ var logo$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA80AAAEGCAYAAABfBnerAAAgAElEQVR4nO3d3XHbSNbGccyW7+mNQJoIpK3te9ERWBOB5AiGE4HpCIaOwFQEI0Vg8b6rVopgxAheMwK/1Z4DGyb4TQKnz+n/r4rlLdI7JgkC6KdPf/zy9evXCgCAXYUQLquqem3kC/sSY3xqPQsAALCjV3xRAIA9TaqqujLypc2qqhq2ngVQvBDCeVVV6bGuI/AlPWKMj61XABSF0AwAAIAihBCuq6q6ls60s10+cwgh/fFcVdV9ejB6BSgPoRkAAABuSUX5tqqqUVVVgwM/54U83ocQUoCexBinrb8FwCVCMwAAANwJIbyWoPz+xJ8thedPIYRx+u/HGO9bfwOAK//icAIAAMATGYb90kFgbkrDu/8KIdxLQAfgFKEZAAAAboQQ0rDpv44Yir2vtymghxBYdBBwitAMAAAA81K1N4SQFum6UfgsKaB/DiHctl4BYB6hGQAAAKbJ8OhHmW+sKc11HvFrAnwhNAMAAMCsjAJz7U8qzoAvhGYAAABYdp9RYK59ksXIADhAaAYAAIBJsu3TVabvfSp7RAMwjtAMAAAAc2S16i63lDpWWhxsyi8LsI/QDAAAAIsmBt7zFQuDAfYRmgEAAGCKLLSV2zzmdcayWBkAowjNAAAAsGZs6P2mYdpUmwHDCM0AAAAwQ6rMZ8aOGKEZMIzQDAAAAEss7oE8YO9mwC5CMwAAAEyQLZxy3WJqG/ZtBowiNAMAAMAKy8Fz2HoGgAmEZgAAAFhhOXgOZG9pAMYQmgEAAGDFpfEjZf39A0UiNAMAAMAKa6tmLztvPQMge4RmAAAAZE8WAbOOSjNgEKEZAAAAFlClBaCC0AwAAAAAwBqEZgAAAAAA1iA0AwAAAACwBqEZAAAAFrxwlABoIDQDAAAgezFGD6H5sfUMgOwRmgEAAGDFs/Ej9aX1DIDsEZoBAABgxZPxI0WlGTCI0AwAAAArLIfORYzReugHikRoBgAAgBWWQ/N96xkAJhCaAQAAYIIsBjYzerQIzYBRhGYAAABYMjV4tOYxRkIzYBShGQAAAGbEGFNonhs7YhaDPgBBaAYAAIA1Y0Pvd1FV1aT1LAAzCM0AAAAwRarNVvZsHsUY2Z8ZMIzQDAAAAItuDbznmQR8AIYRmgEAAGCO7Hn8IeP3vTAS7AFsQWgGAACASTHGNLf5IdP3fi1bZAEwjtAMAAAAy24znN/8Lsb42HoWgEmEZgAAAJgli2wNMwrO75jHDPhCaAYAAIBpjeA8U/4cBGbAIUIzAAAAzEvBOcaYgvNHhc8yr6rqPwRmwCdCMwAAANyIMY6qqnojQbYPaSGyS1nNG4BDhGYAAAC4IotwXcqWVIuOPlsaCv4mxngtw8MBOEVoBgAAgDsyXDttSXUu4flUlec6LA9ZIRsowyuOMwAAALySKnAKz+MQwrUsGJYeF3t85BSU79ODvZeB8hCaAQAAUIQY472E3yqE8FqGcNd/NqWgneYof2GuMgBCMwAAAIojFeh6ePU9vwAA6zCnGQAAAACANQjNAAAAAACsQWgGAAAAAGANQjMAAAAAAGsQmgEAAAAAWIPQDAAAAADAGoRmAAAAAADWIDQDAAAAALAGoRkAAAAAgDUIzQAAAAAArEFoBgAAAABgDUIzAAAAAABrEJoBAAAAAFiD0AwAAAAAwBqEZgAAAAAA1iA0AwAAAACwBqEZAAAAAIA1CM0AAAAAAKxBaAYAAAAAYA1CMwAAAAAAa7xa/TQAoC8hhOHSP/UlxvjEAQDsaJzHzfN5+dzeVTr/v8jffZQ/n2KMXw787wFZCyGcV1V1vvQe+c2fWOM6dVlV1Wv534dep17kUTWuWW6P2S9fv35tPQkAOE6jAVDfmOqbUnru7ID/+Ez+rG9MqSH9EmN8af3NjoUQ0r99ZeQnMosxHtogAH4SQngt53T9OFc4F2aNxuojwQI5k5D2unEvvJS3e8h5M5ff/ZdmSOMcaJPv/bLRDkmPQesvdmfWOD4urlOEZgA4kgTkSwnGl0qN6PrG9Nj1jYnQvF4jVJ0vPWqbvreFHMdas1GYRh88tv4f6Pp4nst5XZ/bF62/lId5ff7LNaD3zjQghNC8D/Z9vsyX7oPFjNaS+86w8eA61QFCMwDsaekGdX1g5bhLz1VV3adHFw0HQvMP0pvfbCR2/VuYL/XcE6RPTI7pdZV343ObuVwDUsP0fsvfBQ4inUrXjfthn5XMbRZynazvha4q0Y3v/trQ/XjZsxyjqYVODkIzAOxAgnJ9g3pr6DurG88nuymVHJqXfgc5NBJdNwz7EkK4bhzXnBr+p7Bo/D7cBOgQwriqqvetFzIVY/zFynvdRKrJt5l2GG/yYP062QjKt4Y79Nap2yqTXCvQhGYA2KDRmL5Z/7fMSL26k2MbDSWGZvkd3BroMHmQDhKqi1tIA3RksPF/jEWjYWp6+CqhuT/SWXjrJKyZOwcM3X9O5VmOzzSnN0VoBoAl0kAYyU3KY2N6IeF5ekiPbkmhOYSQfgNjg7+DeeMYU31ukAboyPCQxlPJsmG6K0Jz92Sqwq2TTuNVZnKNzO4caHRUjArq1FtWt1UmOdzHCM0AIKTyNHbcQFjlQ4xxvOL5tUoIzRKsJg4aKwtpcOx1jD0y3AHStawaprsiNHdHzpXbgjqWUifjMIdhwY1O+5HDqSKHyuIaxT7NAIpXaFiusR1Tg/wWpo4ai6nR9b5uBJe2cBgN0J0MJHyOQgjptz9mdEKZCu5YOpPdDtRCM9eqjZrXKLXw/K/WMwBQiHSTkkbi34UGZjSEEEayMrXH6kpqFH4OIdxL48w9CQAv0tiiEbpd+o5+T99ZquKW8jvBP8OwQwjp2veJkRj9k2vVE9eqrerw/CSjwXplutIsFYHmY52X+uFp70KZa1Lt8PkrWV218vYdAIeSoX306KLu4Z8WssjKWwlF116rzo6G1mtpVnVS1XlS5tfgn8ORNabw/R8sXdv/CiHMZARVL7nGVGiWG2G9H+ZBP7AQQiUT/5sboGc/DKmxF+hQAvK+jYHv837kO3iWjoQn+Q7Y6xNFkHNpSoMa1Y/tU6YOt+/YZCBV5z88BSIaoCeXfid/ygiM4ob2e2dtTrg3fP8ncSVV514697IPzR2t3Hclj9/l38hu77Ye9oS9kMdbme/GXp9wTc6pcX3eAxKYHwsebZAC0WWM8bb1ijE0QDtVD+2/S9Vn2ge20XGsSzr37gvrqO1S3bk3lM69zq5Pr+RG04e9qpny4cc99Ri/lcdE5jeqbaytuLz/oPE9fJKb4/TYnuUef1/LXqxuo3FqEgx6n/uRev9y2SuWRgKWyRyyCcPzq5s0+shqcC50pICW1C65TucO+4DbROeSLhkxO+W+04m39VznrvbfftXzybM1gCnPLasXwfi97x7VDJf3v5HG1ExW0jw0PF9qzRNM2+Iwf/ubidLv6k3rGQU0ErBMrrefWi+Uy2RwlmHDf7ZeQJcGMpeQqrMhVDf1yarPjHTrViqMPKZ7QxeFs6xWz5YemJdMFmO5kcVSRq1XTkhWLHyUBlyO87CuGiuubltsbJVOv78tiq80S4VV43c1057/Jitj3xOY0URgXutGRlplT87tRwKzqhtpnF4W/B2YIO2AJwKzjsb1isDcj4GMmD35SNdsQrP0wPyV2ZCFepz804GBca3GVjefjSxaUg972CsES6X3Y+uFflw1VhgvldbweK1/95vGXNUSVkPGjgjMW93Id5QtObe9bgtmzYUEZ/Nz4r2SNttnhgPrkNGzj1yvVLw/dUewemiW8PiUeQ/MxSn3BGtU1K3tC1t3Iuy7z2cKUIvWs/1QDW+aSq0yNwIzver4Tn4XbJ2z3adcOxslnD2yNkFW6qoO51ZmJDAwGkNJo4OPtoiek46gUg3Nxhq39Tyeo0JYphX1fb3dZ1iWzHnSuqGWXG0ursosjer/0auOJlbJ3tu+HaOdk3vvJ45httJaMNPcfjelkqBgrTDjRuOeQwefvpMFZ7XQbLgadFC53+Gchos9g3Nq8MxbL/SjuLnNJVaZGXqLNV7LAjiErd0Ncrpuyj2XtQnyV89zJjgraYzeJDAroZM2SycJziqh2cEPaq8v3/GchsGeC4FoVSDPCpxzVVSVmcCMDS7o7T/I21NNSToGFTNzLgjOOhptTYYDK2nsAERgzs/Ra3b0HprlJuyhB2an4CyB8sXxRawOzlsXSpPl359bL/SjmLnNpVWZCcxAZ1SH2xKYzSI46yAwK6LTwoRPx3QG9xqapXFrfT5v08bgXNAQjcEec+C0tqA663r7sIxodRD0Xs2XDgICM9CNgeLoEQKzbQTnHsn5QljTxTGwYXroVnl9huZLp43bleX+AodoXOyy2JdUImetF/ox9n4DV6wy38n2Yr2Ri969wmcFSvL7qbdc3IbA7AbBuQecL/pkoUK2uLRhcOgoqj5Ds+cf06dmr0XBQzRudhz20Opk6MlAsdLdF63vttdqVOMcY94Q0L3ezm9pfBIA/LgocTHOvkjRhvNFkRQrWKjQlp0KfcvU92l2pDk8eVLwEI2tvTdSkbxrvdCPkddeb6kGadw8e68yE5iBXt30UW2WAEDj05+3m6ay4TBMT9In7UlGvNm0a6HvO0Lz6ZxJYBwV3uu36xy49D0tWs92z3O1uYgVs2Wvc+YNAf3q9Lopo7UIAH6tnMqGwxDWssFK2bbtNUyb0HxaaQj6n54+0IG2zoGLMX45ZGjEibzve45e10qpMkuvoJe9zgFLOgs8jekW8O3ToQvwoIW955VJe4R5zLYN9skihGZ0ZZfq40Sp2lw53ILKfZVZOgYY4gfoGHRYKSQAlGPXnTawhsz711jwE6Kx2K83C1ms92NVVR/k8a6qqjdVVf3ReO5OcVHfU7uRqQ5bvfJ2tJGN9CMcb6pCpmqzDGfXGJK39f1ZoVhl/tjz98cwKEDX9akbigSA4pxJhzlDtQ8glXrm/eubOGqPPEjH5eOWNt3K0UASOK/lcdb6CzZMZJenjag0o0tbq5AxxtQAm7de6IfW8PBT06gyL3quMo9oWAPq3p6ySkgAKNbeC/DgO0ZbKZOQaH3torlUkP8dY7xObfEtgXmttJVsjHEUYzyXirTWQr/HuNhlJBWhGV263rGBpdXj/HbXIRm5UqwyT2ReeufkN+RtOD1g1SnDDgGgXAftk1oyGZXBIpj6LLdHUsHjXQq4EpRP2o6TAJ3a9L9KBduSrceV0IwuDXZpYKWTTHFuhPUwplVl7rNK72kYFGDdSUIzAaB4ey3AUzrpIPe684cZUmixOuotVYDPZYRnp1LVOlWwq6r6TXHton2dbas2E5rRtV0v8lo3gyur1eZCqswehkEBnhx9vSQAQOy8AA++dZDTeazPaqElVZdv+2q71WKMaa70uaFFwzYeX0sLgaWeiid5rDrol/KwOgl9F2kOwsu6yfiZfgdpnsD5trkSMcanEMKdVgjcZQGADG08uTvSd5WZYdlAXtIq2pfpmn3Eu2L0CGrjU3TEeEbncR6MVplTm2145PX6KBLUhyGEqYHf8bdq87pqfO6heS4318ddD7gsLHIrDw835efGd7AxeNakF/9aevJzCNDDHeeujeV9933cLjadJDkqpMp8y+JfQJaG0oG9N2l4srcpalfW7r8K6DzOg8XjoBqYm1KlO4RQGQjO43WZJdfh2amM/0Ymqk/2OeDp76ZV3GQ4wMfWX7Cj/g4u913VTuYSTGQlu3eKq1PXdpoDJ59Ra46TtYshVWZAx7Ncn5cfJTlmZA7nNZbxm1jD+BxaN6QgZ+04vMslMNdkkbDcV9c+WzdtJLdK87dtbFLga72yJ6mGjUII97L/mJWqc/oObmUewNFS4JbvYKrYu7/yx7fGRCrkfR+vjUMycqJYZR73XGX2PNVilefGFJRv01DW3fAaF/ShdBBesqhSJ57r/SvTMdn2+5dz81I6CoeOf8MHhWYCANYwc/9VUGKHwqy+5sp0zJXXXll9PV2L6j+H8mcX7UdrazB8zPV8korzeeb3gttVU2F/+e9///u19Vd1pGro9bpG4jGkh+jRQHB+lu/goL3StlGeT/CfPYbYp4vTn60XureQlQVbF+ecKB3HuYxc6EUI4aWQ0Pwgoez+2N+dNCDqsLbPNIdZjHGvOYUhhEfH4aeeFnR/7LVY9qJ1ucd4jPGX1pNbOP/drLJoNP4ft3SE1Y3/YSMAlDTve+97jKzAbmaf733PGelk+tx6wZ+FFHbuZTeVo8i5NJTgs09n8ptV/77cW/+v9bfzle5hlzm3ZeU7fcn8Gvfv5e8wl0rzs4y77+QAyyJT6QT6X+vFfHT6HVT6vTs7z4FLIw0kOPcdmgbSwM22Z1ezytx6piNyrnoOzPUw972mXWwj145pPRdHqvXMC99dOi6jU/bOy4ihe/lNTzyNBthlgcelv19KlXnR6AjbecRYI0x/b7Q7XKNlE6rNbd5XmJ/JffCkx1zOpfSYSJupPocObVds3IYoQ72vkr2v9P6kjfJXxm/zenlucw5zmhd9HGA5if5ovZCHRdeBueFaac+0fVfH1LpZjKQHLFcagX7ec0PGa0MhnXcfZDTDuKsRJTVZCyGdd78amEOk7aHL/StT9SKtTyHH34t9R554H2Y6lzVEzmVrl6OnWNVrtMQYX2eyPknXrIWTzkjY87pgXr1mz7DrtoWs8TNurPHz3PpL21n6Xc5WVctzJNfIh4zfYqstmkNovl03XOnUZK50jgu2XPfVK1TP9W690L29GlhyMmkcq0Guoa2QKrPXhsJDIyz3vU/iiyy+QXhe7Y8YYy/X4HT8q6r6Tanj8tR2vqYbmL92jIX8hs6lo6qrEXPTRsPfw+9nlSuprsNn5/FCFqcaagQ7OYfS7+vNrh1Qcu2yNELIWudkzr/zCzn+32mH5rtTLXi1h9wO0Me+Lx7Ss9d3j/UhFx2tk3+0fKJkgiqzPamR8FtfoWyTpfBc2mrP67w7xcKT+5B73tBB8NnnGul19EjdGdbbb0iux9Z3B9nE+5DkXXmrus+6HM2zDxn5s2sH1E67v2RibqXKXJMRdzl35v90/DVD80Lj4ihV7VwO0EIxGPb+765bwn0dOfk1jtUgt966EqrMwtINaptnWYyj747BjSQ8D6Xi6X245ybvtBpwch8qKRx4CwB1xUylMyz9m7K1ppdRC02e7gEHkbmenuawf5DqclbzbHfsgLJ07dLasvVYOVfHf8otmqF5ongC5bLQhOZ3cK9wsz1krrDWyXSTWbXZfZVZVhr2sgDYg6xT0Om85WNImL80fKM9xp12xUP+/Zznc22zUyeonNeeAkC9BkkOFbN61MIh8zRzNZDQWDJPHQfvZFpKlhodUG9kNefvDA7NzqqDflfSTsp19Nvb5jpHWqF5odlQkwpmDjcZze/gi8IJtvdcJTmZNvUCdimLC71ilbnvhouXhsJdDsOxdyENBpM32iPMM6ryllBt9jh6pJd1WHYh78VbcC622iwNdC/reqiN5tmXDNle7uTedwFbTfMV79+SnH8n338HWqH56D1JT0D7AN1l8B30Pffh0FWpx0pD0G72HVLeEY3wrrECo4eG0kzmDSNf2WzHYWA+1yl4CUALWbQzu4ap/J49BWevq0bvwsv5YiYwb2ApNJuay7xCzp336qE5hxNJ+wDl8APp+yQ7aFVMaRBoVeVVq82lzGWWFVOtD+F8Zj5e9nLcjsPtVkyOhmYvDEy3+KK4peTJyW+nRJaC2jp/ONlvm9DcE7l+5drp9/138Kr1UveyWN0t3fxCCHOlOZSLHIZEKn8He0lzYmSeU9/vNW2BobI9gqDKbEMv+83jaNkFVLkOPxubO7crDwGg6nNrzGPIbyldSz/n/l53MLQ6R/NI1u+FD33vSNAFKVhYWmNl5GAtgENHo3bt+71ZIzTn1BvyqFTFy+k7eOrxwnDswlqpwfup9Wz3xhqNv4JWzK4cNK7HFhrVhXvOeDuOVJX5s/WsfR5C80dL8/7TbzyE8KGqqvetF23x0uGyMwcjruaOVsq3tl+4x07XbNTFM43h2TndfLQaULmF5r4cFc5luI/GCntXSj14pVSZk6vWM3bMPPSsFyDn4YLW56O1yIJG1htyc1lZ1xRZrdj6/OaL5qq1hbDeUTByNNrKWmhGt779HjRCc6mBsYnv4HBF7GtdUpU5k8XWjsHCXzZkWy2UUQre9tv1UCm0fG57uC6VVm22/HlnznZiKG6kAzZSCc3znHqhtIZTZjaM01SvoFRBNfY2Peu52lxSldlyj+6d8W0eSvFs4Dh5G95vvVJzl/Fw/q2knWF9ZfbSqn2WP6+3zuNjpxPCF5XQnGOjoO8hTFlt4G20UaA1XK6XIFvQvsw1yw0FtysfO2PhOuctNJtfp6D1jD3WP0Mx1T4Zim5p4ammB4edx1aPBbrxbaoRobn/SiuLBR1JcW/TVG3uoxGi0dDRrJhaDc1Ume2wcN319ltiBIkyB/uAl1Tts3y+uFrTw8GUMXQgFbT6Ds059vb3/Z5yvBH3Vm0/4cVopDQHcNTl4iSFrZhds7pYUInboVhlIQB561C1vAqwpxBgudpcUrXPamjOYhvZEyttATrspvfQzB6mVNtPQubGazRsBh0PDy+qyiydBBbNnS164pqRRp2b+6PxSs2zp+3j5NpudiXtgqp+VoOax50jWDkbq1z2GpozvRH1/Z7oODidiewL2LdOqs2FVpmthmZ3WwRBF/t8ZyPnrckO5fEzeWO1c4B7IUrxus/QnOt2Gr2G2EwbRiaDvFSbNQLfoKPe1dLmMleGQzNVZjus71drkeXqoMdz2/JnYn5pvuZOO/v4zWGVXodn04ueL7PHJsY4VWoU35xyaLFUrq9bL3RPe74blWZ0jdE92NXc4+J+8pk0RmVhd1cGvyva9ShJ73OaS8dNqxsetqAaKSyc85HVnw+S1X7zcCWrLQkL5DkEWO3oY1GmfBGaUZQ+Q3Oujcw+3xcBpQOyyI9GYzNVm49eMEKqzH0H/0Umq6paHAbFeQxsZnV4o+cQYPW6xaJM+fI64qqkrc6wO4Zns/iKG7dKH+QUc5s1qswTqqUH45oB+OS5Q4wpJZk6Rec7Tqqkrc6wuzOGZ8MFGWZ8p/BZro7ZEkOxyuxxm4i+0NkA+MQoEmgwOQTd4f7MwEaEZngyVlql/ZhhzlSZAQBd45oPAEcgNPeLXrkOSbVZo4Kaqs17r3xNlRkA0AemogHAcQjN8GaiVG0+JIhSZbaJIZwAAAAFITTDFQmEGltQnYUQdl6MjCqzaaysCcCUY9beAAAQmuFQjHGqtCf2PnObqTIDAAAABhCa4ZXGFlSp2ry1eqxUZZ7HGHPYlxmAf1anMHiuxppcoRkAckFohkuyFcJM4bONJRRvolFlJjCfDsOzgc2shmbPwZK9gHFSDPlHaQjN8EwjKA42VZEVq8zT1rM4FKEZ8MlzsLT62UqYUmT1M3rtZNJYTBYGEJrhllSb7xQ+32hDtZkq888sNhao2ACbWQ0BV61n/LBaFXS/VZbh7cC83gvZng0rvVr1JOBICow3PX+cgfy7P1WUqTKvlG5Ob1e9kLFBCOFc9gUH0Ga20Zn23I8x3rdeMCyEcKnQWQv/GJ6dhw+lfwF9ITTDtRRsQgjpgvK+58/5ewhhshSsqDL7kRoLDHkH/EnntqvQbDzclNI5uTDYscGoqwywyGt/GJ6NEkyU5qh8v5BRZV7LakWKHnZgDZkaY5XGzgtd6/vec0qlhGaL98KB08XALF+/0CFCM9yTvYk1euJu0jBe+d8aVWYLDSWrcx+vW88AaLK6mE4KAm6Cs4Sas9YLdpQSmrkXApkjNKMIMcZUbZ4rfNapUpV5ZmRentVKs6uGNdABy4vpeDq3TQ/dLGjtCKvni8f7oKlKM1t/9YfQjJJoVF6vZO4rc5lXkFEAVitShGZgPcuh+cpDQ1Q+g+UVwWetZ/yy2jngsQO5hG3OcABCM4ohlVeNm3Dfq0PPjM0ptNq4dtGwBjpifduWSesZe6wvEFTS1j+MzMiEwS3AzlvPoBOEZpSmhFUGrX1Gy40FVq0EVrMeeC4sV9DS1lkO9p0uJjQb3qu5ctqB/Nx6Jl+E5p4QmlEUqcA+OP7M1qrMFcM4AX8kBFidelGbyJoUpsh79lApL6nSXBkfju5tC0ZLw+XZ+qsnhGaUyPL2G9tYrHxa396B/ZqB1ayf2wOj5/fE+IrZycJ49fUQlj/vWQjBU9vK0rWL0NwTQjOKI6txfnT4uS1WmevjobGy+amkxgLDtIE2D/udvrUUBmRI+U3rBXtK3CvX+mceN7bZtM5SB8aZxRExFhGaUaqxg6GDyyz38lpvLLxnmDbQ4iX4/ClzhLMWQkgVp0+5v88dWdgy8dQ8jMxwcdwMFiBof/SA0IwiyVZHHuZ81e6MD2Xz0Li+p7cX+EGuSZZHkTRNJZRmSd6bp+pscZVmaZdYWoBqlbSAnpcpS5bmmGffqecBoRnFijGOHTXorA8P9tA7nXrZHwnOwE+8VAzr8zu74NwIzIPWizY9y7SdEnkInDdO9m62dO0iNPeA0IzSeZiLeme9gSE97B5WNb+wFpwtDDuFaZ4Wykuh9H85BQI5fz0F5qrwxRW9dDJ9shScU8fTivnYlkY7DJx0VGSN0IyixRinxrd5qBztFeylsWAiOKcGQgjhyflq8lDmbIh2LQUC9ek9sgDhX84Cc1XofOZvpAPc+hDt2icLi+hJ2Hxc3u/Y4LWL0NyxV64/HbCb1PD4bPS7Ml9lbrh3tIhNCs5PqQqU41xzaciMpbFtvdMI+Uudk++dHaffZfG/Ud+LBslw7KlcZ7x5KHhodi0d2z9bz9qUFtG7jDFmF+ikYzt9129bL/6Q2iW/t57N01W6JllaxEyuZRZG5r2k6xKhGcVLF5gQQgoOVwa/CzdbHaUh2iGEOyfbpVSyT2r6bY1jjOkjZ5gAAA5XSURBVFksOifDz6ZGf+uwy2NoriS0fpbr1rjrsCeN/LGhRvwh2PfeV2iuZI5zCke3uXQiS3V5ssMojamx821sZSVtaY9YmVryWwrODM8G/mFxWIunKnPNW4NpID3tqgsIpca2DCf9m8CMvsl1ysOaBeukjr6/06rBXZznMpUiXRtfnAfmeYyx2KHZNVnj4671gm0Xsh7AWHPqUqrEpvuxjGrbGtYMDtG+MrSv/L2VqSX1dYnQDPxo1Fm6SS08zkWVYUVe5nM1XUmDYbpisZHOSGN7XEBjG/nztMXfOjdynqepGaNjznU5d0ey7sDf8t/2Nnd5GVXmH7x+F+9l6lKvhYpGWP58QMextWvXuM92xiGkE9/K9JLvHb4MzwZ+GMmy/RYaJhPpjfZo4mhu87IbGaqWLsLTrqoqsqLutaOh7jBOpsHMZdqCdxcyvPZP+cxPjUd93a7/fN3487LxKOF7aloU0rGyE+PTxrY5ayymN5F74clHzUlF+1badsecT9aGy6c27L3Mb86unSgdJpY68b93YBGaASFzaicG5t65blykFc2lOuq50ZgWHnkbQljIEKX0eDz0BieNg6EEZSsdPyjP2HGH2Dpn8ti02BB8dwQfyvIipbsYSHvrfQjhWcLJ4zHznmV6RH0vPEmHg9H1VupdPLIKzhKYLd0DFs3iBqEZ+NlEeiZzDmwlNC5KaVwP6upz9c8N5VmGUtcVqXWNh8ulylRpVSkYVEiHGPZHlXkFqTY/O10lfVk9OiPdByvZ1aF5H1zV5nm9dC/ssio/NjhyK6vgbDAwV8vb3xGagQbpUcw5sBXRuCi4cX0hD6pS8KrEajM2o8q83sh5tXmdq5yGpqfh40aHy2ex/aUsZGhxuthP7W0WAgOWpMCW8WqJJTUu3GynBeAfcn1lb3DU5lSZ15PFMTlf8mC1TXKmtXJ5Gi4vixlaDMyz5Y4GQjOwWo5bUBU1hI3GNeAWHWKojakyb8X5kgEHHRi9rVze2Cbvf4anF7RWsCc0AytkenEscQgbjQXAGbm+et63GbuZSecoNpDzxdu+zVZZ3+qzXrn828K3p95XPg0Dl7D8t/HdO+arrk3MaQbWG0kvWQ7SCVxcgJSFUD6yxzDgzkhWuWWl93JZDyB9srQlpltpuK7BlbRXGUi76nfZxeNRHt+2x9u1QCOhu7liuZff58r2NqEZWCOzi+PKE7gQYxkuT2MBcEIW1hkb2/8Up/NBc2EiaxqLlHK+6PPWgTGot8Gsn5AVzOeym8cql47bZCurzBXDs4GtxjKXWNPaE7gE0uOZ4xxzAEeIMU5Yt6BIzyWOnDoW50sepE1Swu/3rLGK+fLDcxFj7bElNAMbpGpIBotvrT2BSyGbyzMHEvDnNoOOSfRnQSfoUThfMkAHhlsbi1SEZmC7ieJNauMJXJjbjLcCA3AA6Zhkbms5RgzLPhznS1bowPBnY4ceoRnYQobiaN2kiq8y1+Q4XLdeAGCadAyyOrB/d3QCH4/zJQ/SgUEbzY8HWal+LUIzsJt7he+JKvMSqVD80XoBgHWpY/KZo+jWMxXSk+J8yYAM02bqmH2LXa5PhGZgNxq9iTQwVpCbFL3sgCMykmTIcEeX0jEd7rqNDbZrjLzifNF3SweGeWMZObARoRnYIoRwrrBP8EwWv8IKMUZuUoAzBGeXCMwdkUb+0OWHM6SxwwfXLZtmUozZitAMbKdRZWaezHZDgjPgi0zB2LgYC0wZsvBXd+S7fef181nBdcusxT5r5RCagQ2kynyz/m90YrZtMQIwPA3wSkbZEATse0dg7p6sfcL5oozrlknX+4yCITQDm2ksxEWVeUeN4WkEZ8ARgoB571jIsj+cL3mQ48BipTb8sW+BitAMrBFCSGHsavWrnaHKvCepZBCcAWcIAiYtCMw6OF/ywGKlJtztOo+5idAMrMdcZiMawXle+ncBeEIQMKVe9IvArITzJQ+yWOnH0r+HTD3I8dkboRlYgSqzPRKcL1kcDPBFgsAbRpNkbc6iX3kgOOchxjjiOGTn+ZgF2wjNwGrMZTaosWXNrPTvAvBEOhQZTZKn1BC9JDDng46mPNCBkZXnY7e/IzQDS0IIqRfqrPVCt+6oMp9GuiDGGIcMjQJ8aYwmoVMsHx9jjJfsw5yfRkcTo68USXD+Dx0Yqman2C+e0Ay0MZfZgcbQKG5UgBONTrEPHFNV6br6m1xnkanGeh8PHCM9TB9TlYpSRwfmitAM/CyEMFKqMr+0nsXRpIeXnnbAmRjjmOGnamYyHPu+0M9vinQ0XbMVkq7GFpmMguvPh0MX/VqF0AyIEMJrqsz+pB7eNHyQGxXgiww/PaeK1puF7G06pKPXHtli5z90IuuRDoxUnPmNDr9O1SNhTtq+JjQDP6QL2aDn74Mqc0/kRvWGhYQAPxpVtN84tztVV5f33tsU+Wh0IjO9QZGM0qDDrxvPXY2EITQDP6rMGnOzqDL3KFWmYozn0mCglxdwQhpIhIHTm0vFhuqyI1KB+5VF9fTQ4deJD7IwYSfXKkIz8I8JVeZySIMhNbDvSv8uAC+kEVqHASo4x6mHYp8zd9mn1P6QRfUIbYqWOvzozD9M6vz59dTDsZcRmlG8EEKqPN70/D0sqDLrkgbDrQzZprcdcELO7WvO7YMspPF+zlDsMqTQJiOw2G1CSaPDj878/aTOnnd9jYQhNAM64XVClTkPMmR7WHADm/3B4RLn9l7msrpyCstj9l0uj+w2cS6/g9Iqz+nzqrfJGp35vxKeN1rIUOxz+d324lWe3wXQjxDCpVKVmR78zMhKvEMZeTBW+F30aS6/wSmNY3i34ty+VpiOk6uZXAd6a3giX3I/SPeGSQjhVtZ6uXB8yB6kiJFV57EUVW5DCOl6dau0UG2OVNsuhGaUTiO8Tggq+WrcrEaNm1Xfe3d3IXXW3Mvv78nB5wH20ji3X0tw9h4I1pk3rgWMeMJK0pEyleLCyFFnU1pdeWqh01jOz3EIYVL4NSuLzr1XPa40mfMQwNK/gz7fVzY36BBCGrZ31XqhW1SZjVjqcb+UAH1tLEDXQfn+xIv5TA0N67YUCvheeyDndjMQWDy399XVtUCNzAFlbZCOSSdrs7MpPd4a+ximO4oKvWZld8x++fr1a+tJoAQhhEeF0Pyh69X90K3GDWuYaY9vfaN5ZNVbYHcGzu19cS1AJxoBephxBXrW6ChyOaLCYYCur1nTHEfEEZpRpBBCusD81fNnX8giKwzNdkIaDsPGQ6OhPZfq5KM0jhluCRxJ5j83z20LDVKuBVAh4a0+Vy6VzpdZ47df3AKXjWtW3ZlhYSh9umY9NTr3sr5mEZpRpBDCi8JFnSpzAWTY/7k80v9+faIwvZCby4v8+e1BJwzQvUYHWR0OzpWD9Lx5HZAGJ9cCZEHOl+a5cn7CcybNSf4iAflF7oOs07GkEaLPG9cuzSBdr1D+2Gi/mOrYIzSjOLIi5KeeP3e6WFzSqCmb9Ma/bnwJwzVfyJM0CpIXKkZAnqSTrA4IVeOcPrazrN4i64tcDyppbH4hIMCyRqCu1YF6WfO3X9FJfLzGd19/581jcWyobm7rV1f6n+Sa5aLyT2hGcZSqzO/Y0gMAyrUiLHxT4lBSAPlb0dFfldxxR2hGUWTPu/c9f+Z52oC99SwAAACA7P2LQ4RSSC//SOHjMo8ZAAAAMIrQjJKMFBZBmDMsGwAAALCL0IwiyCqCVJkBAAAA7IXQjFKMqTIDAAAA2BehGe5JlflG4XNSZQYAAACMIzSjBBrhdUaVGQAAALCP0AzXQghDqswAAAAADkVohndaVebH1rMAAAAAzCE0wy2pMl8pfD6qzAAAAIAThGZ4RpUZAAAAwFEIzXAphHBLlRkAAADAsQjN8IoqMwAAAICjEZrhjlSZzxQ+F1VmAAAAwJlfvn79yjGFGyGE11VVPSmE5rsY423rWQAAAACmUWmGNyOqzAAAAABOhdAMN6TKPFL4PKnK/NJ6FgAAAIB5hGZ4kgLzQOHzUGUGAAAAnGJOM1wIIZxXVfW3wmdhLjMAAADgGJVmeKFV7aXKDAAAADhGaIZ5UmW+UfgczGUGAAAAnCM0w4OJwmdYUGUGAAAA/CM0w7QQwrCqqrcKn2FClRkAAADwj9AM6zSqvQul6jYAAACAnhGaYZZUma8U3n+qMn9pPQsAAADAHUIzLNOay0yVGQAAACgEoRkmhRDS3sgXCu+dKjMAAABQEEIzrGIuMwAAAIDOEZphjlSZzxTeN1VmAAAAoDCEZpgSQnjNXGYAAAAAfSE0w5pRVVUDhfc8osoMAAAAlOeXr1+/cthhglSZXxRC8zzGeN56FgAAAIB7VJphyVipyqyx6BgAAACADFBphgkhhFTp/VvhvVJlBgAAAApGpRlWaFV7qTIDAAAABaPSjOxRZQYAAACghUozLJgqvUeqzAAAAEDhqDQjayGEYVVVnxXe43OM8bL1LAAAAICiUGlG7rSqvaPWMwAAAACKQ2hGtqTKfKXw/mYxxsfWswAAAACKQ2hGzpjLDAAAAEAVoRlZCiHcVlV1pvDeqDIDAAAA+I7QjFyxLzMAAAAAdYRmZCeEMKLKDAAAACAHhGZkJYTwmiozAAAAgFwQmpGbVGUeKLynB6rMAAAAAJYRmpENqTJr7Y/MvswAAAAAWgjNyMlEqcp8F2N8aT0LAAAAoHiEZmQhhHBeVdWN0nthLjMAAACAlQjNyIVWcKXKDAAAAGAtQjPUhRAuqTIDAAAAyBGhGTmYKL0HqswAAAAANiI0Q1UIYVhV1ZXSe6DKDAAAAGAjQjO0aQXXD1SZAQAAAGxDaIaaEMK1UpV5oTgkHAAAAIAhhGZo0gqukxjjl9azAAAAALDkVesZoAeyL/NU6bumygwAAABgu6qq/h+Yk/axPiZyjQAAAABJRU5ErkJggg==";
419
422
 
420
- const TITLE = {
423
+ var logo = "data:image/png;base64,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";
424
+
425
+ const TITLE_MYCHOICE = {
421
426
  car: 'Hello Canadian Drivers, Welcome to MyChoice!',
422
427
  home: 'Hello Canadian Residents, Welcome to MyChoice!',
423
428
  life: 'Hello Canadian Residents, Welcome to MyChoice!',
424
429
  };
425
- const TEXT = {
430
+ const TITLE_BEGIN = {
431
+ car: 'Hello Canadian Drivers, Welcome to Begin Insurance!',
432
+ home: 'Hello Canadian Residents, Welcome to Begin Insurance!',
433
+ life: 'Hello Canadian Residents, Welcome to Begin Insurance!',
434
+ };
435
+ const TEXT_MYCHOICE = {
426
436
  car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
427
437
  home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
428
438
  life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it’s important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
429
439
  };
440
+ const TEXT_BEGIN = {
441
+ car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
442
+ home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
443
+ life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it is important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
444
+ };
430
445
  const NoQuotesMessage = ({ type }) => {
431
446
  const { appConfigState: { appType }, } = useStoreAppConfig();
432
- if (appType === AppTypes.TheBig)
447
+ if (!isMyChoiceLike(appType))
433
448
  return null;
434
- return (jsxs("div", { className: "offer-section mychoice", children: [jsx("div", { style: { width: '100%' }, children: jsx("img", { src: logo, alt: "My Choice", style: { width: '120px' } }) }), jsx("p", { children: jsx("h3", { style: { whiteSpace: 'normal' }, children: TITLE[type] }) }), jsx("p", { style: { lineHeight: '1.25rem' }, children: TEXT[type] })] }));
449
+ const isBegin = appType === AppTypes.BeginInsurance;
450
+ const logo$2 = isBegin ? logo : logo$1;
451
+ const title = isBegin ? TITLE_BEGIN[type] : TITLE_MYCHOICE[type];
452
+ const text = isBegin ? TEXT_BEGIN[type] : TEXT_MYCHOICE[type];
453
+ const altText = isBegin ? 'Begin Insurance' : 'My Choice';
454
+ return (jsxs("div", { className: "offer-section mychoice", children: [jsx("div", { style: { width: '100%' }, children: jsx("img", { src: logo$2, alt: altText, style: { width: '120px' } }) }), jsx("p", { children: jsx("h3", { style: { whiteSpace: 'normal' }, children: title }) }), jsx("p", { style: { lineHeight: '1.25rem' }, children: text })] }));
435
455
  };
436
456
 
437
457
  const usePathGroups = (insuranceType) => {
438
458
  const { appConfigState } = useStoreAppConfig();
459
+ const { localIndex, appType } = appConfigState;
439
460
  const insurancePathGroup = {
440
- [`${InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${appConfigState.localIndex}/car` }],
441
- [`${InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${appConfigState.localIndex}/home` }],
442
- // @todo: will be used in future
443
- // [`${InsuranceTypes.Life}`]: [{ name: 'Life', link: `/${appConfigState.localIndex}/life` }],
461
+ [`${InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${localIndex}/car` }],
462
+ [`${InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${localIndex}/home` }],
444
463
  };
445
- const externalPathGroup = [
464
+ // Begin Insurance only shows Auto and Home
465
+ const beginInsurancePathGroup = [
466
+ { name: 'Auto', link: '/insurance/car' },
467
+ { name: 'Home', link: '/insurance/home' },
468
+ ];
469
+ // MyChoice shows all options including Life and Learn
470
+ const myChoicePathGroup = [
446
471
  { name: 'Car', link: '/insurance/car' },
447
472
  { name: 'Home', link: '/insurance/home' },
448
473
  { name: 'Life', link: '/insurance/life' },
449
474
  { name: 'Learn', link: 'https://www.mychoice.ca/blog/' },
450
475
  ];
451
- // @todo: use in future.
452
- // const loggedOutPathGroup = [
453
- // { name: 'Login', link: '/accounts/signin' },
454
- // { name: 'Signup', link: '/accounts/signup' },
455
- // ];
456
- //
457
- // const loggedInPathGroup = [
458
- // { name: 'My Profile', link: '/accounts/myProfile' },
459
- // { name: 'Quotes History', link: '/accounts/quotes/history' },
460
- // { name: 'Logout', link: '/accounts/logout' },
461
- // ];
476
+ const externalPathGroup = appType === AppTypes.BeginInsurance ? beginInsurancePathGroup : myChoicePathGroup;
462
477
  return {
463
478
  insurancePathGroup: insurancePathGroup[insuranceType],
464
479
  externalPathGroup,
465
- // loggedOutPathGroup,
466
- // loggedInPathGroup,
467
480
  };
468
481
  };
469
482
 
470
- const HeaderMyChoice = ({ className, }) => {
483
+ const HeaderMyChoice = ({ className }) => {
471
484
  const { appConfigState: { insuranceType }, } = useStoreAppConfig();
472
- const insuranceTypeCls = insuranceType !== InsuranceTypes.Car &&
473
- insuranceType !== InsuranceTypes.Life
474
- ? InsuranceTypes.Home
475
- : insuranceType;
485
+ const insuranceTypeCls = insuranceType !== InsuranceTypes.Car && insuranceType !== InsuranceTypes.Life ? InsuranceTypes.Home : insuranceType;
476
486
  const { externalPathGroup } = usePathGroups(insuranceTypeCls);
477
- return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsx("img", { src: logo, alt: "logotype" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
487
+ return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
478
488
  };
479
489
  HeaderMyChoice.defaultProps = {
480
490
  className: '',
@@ -482,30 +492,53 @@ HeaderMyChoice.defaultProps = {
482
492
 
483
493
  const HeaderPartner = ({ className }) => {
484
494
  const { partnerState } = useStorePartner();
485
- return (jsx("div", { className: `${className} primary-header-partner`, children: jsxs("div", { className: "content", children: [jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsx("img", { src: partnerState.logo || 'https://s3.amazonaws.com/mychoice-logos-dev/partners/newpartner/AE1C9160-F0AD-4969-BEBB-86EBFA7CF2E7.png', alt: "new-partner-logotype" }) }), jsx("div", {})] }) }));
495
+ return (jsx("div", { className: `${className} primary-header-partner`, children: jsxs("div", { className: "content", children: [jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsx("img", { src: partnerState.logo ||
496
+ 'https://s3.amazonaws.com/mychoice-logos-dev/partners/newpartner/AE1C9160-F0AD-4969-BEBB-86EBFA7CF2E7.png', alt: "new-partner-logotype" }) }), jsx("div", {})] }) }));
486
497
  };
487
498
 
488
499
  var theBigLogotype = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxkAAADkCAYAAAD0B+mlAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAMX9JREFUeNrsnd1V5MiWtqNmzfXAWEC2BVAWpMoCaAtSrHW+68qyAGFBJddzQWJBgwUICzqxoBMLBj4HzmjDVnc2DZkRUoQiQvk8a2lRp49SP/Gn/Ubs2PvLy7+OC2PMvQEAgFHwX/+z+kIpAABATP6DIgAAAAAAAEQGAAAAAAAgMgAAAAAAAJEBAAAAAACAyAAAAAAAAEQGAAAAAAAgMgAAAAAAABAZAAAAAACAyAAAAAAAAEQGAAAAAAAgMgAAAAAAABAZAAAAAACAyAAAAAAAAEQGAAAAAAAAIgMAAAAAABAZAAAAAACAyAAAAAAAAEBkAAAAAAAAIgMAAAAAABAZAAAAAACAyAAAAAAAAEBkAAAAAAAAIgMAAAAAABAZAAAAAAAAiAwAAAAAAEBkAAAAAADACPjPAe91+V//s6oocgDYV/7//zv59x68Y9n8mQx0u1Vz1M235TnQuxTNn2LXebu+bb6uk+r7dbjvSfPnzLaOm/vfRrr3urn30tN9D5s/J8316gh9Ut55EfAWz9oXn7U/rgK8QxXgeVehxg4YXmQAAMD4EZExHdiIehQjypdBuIEY4BcW51UDXcck+n6urLWdHFmc+yJGclO3a0/3ljZybHnuN4/vPJejeZdJBMP2cIA+ebrRH1+aPyIMK4/1dhFo7HgSYSTP61PMwhu4SwEAQO6I0XjdGAzPupICCaNG9tzy9AMVBj4MyrmDwLjxteqgqxhzfZf5HlSxvOesOf5o3r0WYZXwsx7ps/6m48ci8edFZAAAAEQybq7VsDmkOJIWGjJr/GB5+rSpz7M+99P2UFme/uJZDLQC4/Xfe9Y2pyo2qkzGj+/6vEvEBiIDAADgI8Nmrb7okC6lw7mLnsb5csPQ30Xly6VpYxVj05Cd72FdXzRlcZuRwJLVjVUm4giRAQAAMCBizNUIjXRRf/1Ly9PFraWTwacb3E8tT39onsvnJunqA3Ez39OVtlPtk7m8+4GKoxWrGogMAACA90bCEteppIWGGOFPlqd/7ygalw7neltlUMP0+yftcr6nVS57YhYZPvNKxSogMgAAAP40ECqKIWlKh3OdDFR1dzmyPP3Kc/jVbe3uYo9nx2e6CT8nRBjeE1gCkQEAALDJd9wd0kWjON1Znj61NVC1zm1Dnz75FKN671kPETJ2qkz75DVCwx7yZAAAwNBIXou+M5lFc4jrjK2vvRh0GAfpInWzNnabs8VAXVpszl463H/uOX+FjYCQGX2fuST68sO8JanrwpnWoe3m+oMAffJmR50X78aOg473EaGxjpFYEZEBAACwnWcPH+jX36uf9K2FwfDqokGG3zSRelHXpp+WBupim4GqIW9tE9A9eM4qPjG7VzFSFL+rHv2y1vpbOgh/3yJrl+Fff9BGzhzqapNbz0kiRwnuUgAAkLNxKoaDCI0Xi9MLSizpuhTh8OhgoBafGPmHxn4V4yWAkb90OHc2Flc+EYrNIUb7ucPPziI+r2T5lrr/xbytgrjgLUkkIgMAACBd40ZcPGzcrwhnmz4ubnSfGXmVsXeFWficjVbhM3X82XJk/XHpYLSfJfC8axUb34x9pDNhmuEGdkQGAACAIzbuLgXFlLyBWjd/rixPP3qfLE1D3H63/P2ThtD1SZfrTUcYHnVuabBPE2t70n4eXeqbENmIDAAAGLdxyl6L8SCG+ovlufN37kYuIW5Lnw/dcRWjjzhJvT8uLMttkthzFw5CY59zniAyAABg/DCbODoD1dZw+9M3Xl1XbI38mwDRgfoIhTGuZthGqpok2P5chMac8QeRAQAA4+WMIhiV0BDh8OBgoJcORv6L8Tz77BjNKoRIAf9Co3QQuiWlhsgAAICRobOINgZaTWllhYvhdm3sN3tXAdzrFh6uMbbVjKxn9zWgxGWAtorIAAAAyEBgTFQ8HFmcvqLEsjLy1g5Gni2PGirXZxssLdufzcrMckRVaCuYUu6X0lZs9gcdjyUUsU9IxgcAAENz6GnG1jXLcE3RZ0ebdO/I0/XKAM9YWZxzqQLijx3nScSsUt3Fchb/h5Zl/ZJy0AZNEil1YROxrDDkzkBkAABAVI6b437ge94QgSo/1MiT/RO/ebjclbrA+DSmbQSQzIQv9F0kf8SuDNPVCIzVpaX4rzN5FxuRQR6ed+AuBQAA+0BFEWQrNCQHyl3Py7wEagM211xsCNy52e1+c6TiJUt05v/U8vTbDNqfCFObnB+IDEQGAADsGVc+szpDFGyM822UvleyNBGg1SrGhsFqmz8iO1EsLpDNIQb5zPInLxm5hbGfqwO4SwEAwNhBYGSOiMTGgBXj/KLDzx90NcSnQX1o7MLgLj4QNwv97TZ3otds5gEykm8VYh33Sk3M234E130zi4yaoIiMXaszU3oqIgMAAPaLn43x9Jz7ZlqExqrSfBTHrsZzgMfZJRKEp49Egu7NsBFMkuRtMeBeotmA1fk0sICCCOAuBQAA+8B1zn7u8Dfj3oVL365yDqsY24xom9CoB8Zz0sCEIHnmHrBXKxn6gRn7R2Zt/u4aIDMgr76EzUBbj6guh36X5dhmQTWmtxzywXy/Ya39//7WhjZY6X9/9h2tBSCw0FjRZvNFvmOWEZqEULPltqsYyy3vkepqxhCc0wcRGWNEjKax+8xNtxiVrwOfipBaDcU608Fr6HrMVqDprJtUfqF/pR+4uhucOrarFRttIVFuNwQ05MnSUmR4XwXQyZm+qxit0KgsQuC2qxnVSOruPNMJu8LinAe65n6LDHgbzI42jfRmkHvUD+8tswv5o6Ki2DiOI7WrJxUdtYpZRAckMQaOIdkZWBFiAq0yPVcxPrje9S6xNILVDHENK31vwB8QwtMiMqAjx3pcqGEog+MSozA7YXGmx2kijyWiY6ZHK2aXKmZpW/uNRPspPLf9hbHP/F0ZMvOCe1ubGLsVlNL2miJGLELhHpi/Mp9n2d9VYKwzrfcTM57EgoPCxm/4yDAUH9E/mo512zGcHQw3+BWa+EgG7+uEBMZnYvbnRtsqqUHoi8zu6qyxGICPtuOcGg4ALlSWAroOcN2ZipzcxMU3mVDIfGLJ1u0OT5B3sJIB2xCD9bQZ2GSgqMa0cXwE4qLUge8487YlH1cxEMe2sREiiA2dFJEPvU28/jOMAnAYc8XAt1nFqDtMzokBLu5Eu2bLZbwsMykySYA536N6f617egoiA9wRP/t7FRtz9m1EFxeVcU96lCrtytlcI60gNqCv0JD+cW1xekGJgQO2ieMuTLeEgTbMNEHfOtD1f1gIbykHm8mt77qPZJ15vVeW593x7UJkQH+x8XszcFyZt5UNOtRw4qL1OT8a6SsebIoNkjRBD6EhPu7XlAR4HH9FkKbiiipjYxno2qtdHgtNWcjqxL3l9ZY5i3mtd9tVjFt6yj9hTwZ04bsMRuzXGGSQm2hOkN9GLDD+ITaad16rsALowgtFAJ4N+1SYxdxPpCLkyvL0aa5777SMbYXDE9HqEBngFzF479XFBcIMcvJh+8OMP7fLZ+3rN90gfkhrgA5iFcDHOFwkOAbH/u5WDkJ+kdsYrvswlsYtWh0gMiAA4ne5yjDqRcoD3ImUqQnn15sT4qLAqga4GoUAPg3q1JjGbOfqKm27qfsgAVHk9P01b/tSbIOqsIqByIDASGdcERLSywBXmrcIFceUxt8+UrKqsWRVAzwahQSwgF3jsUxuTDNv56GEhhjWthmuZzmIf/Ue+N24rYSW9BREBgxjCNbkPug8uB1qvotrg6vHpx8qbWMTigI+6UdLB6MQkQG7SHkGfpqA4V6OoSzFbpF9gMbde+CK0P6IDBhWaFwjNNwFhnlbvZhRGjth1Qw+6kNtgASXPkQ0GNhqeJr0g21UMW+u4WkvbcduXSlIpX7FLXmh4uK6Q10/GvZi7IQQthACERoGP0W7gU6NnSNKw0nMSijlc9pYtpyoKPDBoXF3L7xJMQR3YCOs7jrrGvi5lonmUrB55yfzlkgvFLtW5V5XMyLPpssKha0gkxDlIeu72NFWC8ty3YVsej8jjD8iA+IKjeemEzJbuF1g1Ab3KMTsfgrFmL7uVaLlEjrYQ53gc9WBDfUuY7ON0SyG5klIQ1Pd/3atzomRHzOk7bOW171lv1+acLkzpgOMK1LvxQiSDA4C7lIQkiVuLQiMAYRGSTGAA5cYCLBlbD40dvsHFgPMZNuI4ePYY6CupNzZCoGMowW2AoP9XIgMSAAxoMlzgMBAaEAqPJJNHnYwtxibX8wAG5lVDN94EiNDlNtoc2eYtz0YEwQGIgPSQpaclxTDnwJjgsAIJjTIpQG7jISCYoAt4/Ohscv/sBjQH9/GeD9KYDVj7SB2jkxem6YlitQJezAQGZAmp80AON/3QtAP2C0CIxi458FWgYGRABYGfRKrGBvG+7Pl/aIb7c2zLrSv2fA9g/Fa3uVb815zugYiA9Kmwm3qdUWHJHvhwD0PPuIKgQG7SHQV4897GrvVjBSMYZdnWCbaHCRq2LmuXtT0DkQG5GEALvb15TWs3inNIDi450GLZCN+nYVEYIClcbxrFeMpxp4el9WM2JMsapRfWZ5+nJiXg2xe/7V5hwlRCxEZkB+zfczWrEvCF1T/YOCet788qYHztTESCmYhwXKMnliO0VXEx1xo+97GgXFbSQiFlJPtJvCYwkjcoWRj/Xlz/HczXpwRdt8v5MmAGINPuWfvvKTah29nzYfrllClURAjJ4bRsAqwYiF9t07oOn1YJ/pcq46/+eb52juvF1O0aj6KovnnZMepzwOV165nPbF41pbDT57bqX4ceCZK1DB8efnXsTTa+wHudRk7dKC6rDCjHJ9f+hp/TV3+e+Bn7tR+aXNRuZOZqZQeaKh227z3F6ofAABiwkpGeL5FuGex8XeaYJmUJq/wdV0NyolJY+l6F7KsvdJDZpPW5p+znjLTdLLRruTdjhJ/L3GbwmUGAAAAkTE+Ihk49TtjV2Zz5ZghMgZF3jHVcLV32k5qh2Xj2w9EVKHHWaLvWhlyIwAAAAwOG7/3Q+iIb7oY9r8Yu+yhoTkaez4DNcBniT2WrFhcmjd3NdngtujjlyoubxKBQ9uWvK9snntM7J2nJOkDAAAYHlYy9ktsrJs/ZWN0LU38pHBi+I1541VKblJt8qhg8d31utKulro5Uf59lFBdEDEEAABgQFjJ2E+xUZu3meeYs87FWMtXw/GViTyOuEVJzO9qqFwB0r4kznjzzx/GPoxhSKZkAgcAAEBkwDCG4LMa+rGExnTExZvC/gQx7n9Vt6jnSG1sEbmNbULeDAAAAEQGDCw0nmLcf8Szy7H3AEh9FikkFdI9H9LG7va8TgAAABAZsHdCo4x0+8Oxlae6Sp1GfARZNThJKdGQtDHNVxEz6MABG8ABAAAQGTCsEVg3fx4i3LoYYXHGNGRFYBSx3KMs2pmI2bs9rRsAAABEBuwlS4oga+EkezDKVAXGBqWJt0cDkQEAAIDIgIGpKYKsRUaVkovUZ0R2z8NlCgAAYCDIkwGt8bduDDAKoge6HyNGbogHjeSUS1tbNWUlSQEvItxeRAY5M8L2AxlIdu23et4liqU/Db0yp33YZiBc+Xw2Td5Z6DHRZ9iMUCcrlVJea/1b+5pUiPXOgdrMRMsv9BhWZ9YnJ5onK8p3MUI/tmoHMepxy7OtfdeR5qxCZACMhFgqrcqwrEQUlRFEGSsZw9TtrhDVD2b3qt+8+Ug+DyygpQ/fW5z3zXhY/W3er9R+sKu8DvQcOWb6W4kitzT9k2wO+s6B20w5xOSFTsg9anksYhnwDtTS1iKJI0nQuhj43rbt4MsAgqKdPJBGc2zZrlbatuqebes+dsNDZMBmZ4B+xCjDx9xm1QQxitTAKmK09QyMAnjjp8xya9CAMY23Z2pY9xHZR2pIiRhbeBAb4MaxHt+b8hcBVKU4Fus4K22lMnHceWWF6r55jvOmfJZ7YEvJ+0r/nu8SFTvaVTuZ8KhjxW2O/RuRAS0FRZClyMjW9Uc/yDXNBnYwkxm+MQgNNUCkz/pMRnqgYqOMOFu970zVkJYw3fPEjMGqfUZxn4nYPq61H49SaGjfnuvhMxmvCI5rERo5Tiaw8RtaSoogSzAoYF+ERtbGie47WHkWGJscqaFb0VzitVOp41QSzW6sYrwXHLG41mcam8CQcl2r2D8IdJt2MkH2z84RGZBTBykCfvj2yUAe/MPCrCUgNLIYYw91vBtiD9JF7oIsc6SO60SExntRMU0gwt51TkbyromD5lgFFhcfiQ1xI01GzCIyYNfHjw+SHw4pAoDgQmOl41ZO1AMaIVkLspFwEFtoqCH/kahNIRLhzxGsTJbar48jPcKxtrESkQEpC4zaxAm7yiw8APT5uGYhNNSVIoYhMsN1KrrQuI3RTvWen9X9USKGac4rkyLUrgeeOPisjV3r8yAyIEmBEUuFP1ILADBmoaFR+7qGVJUx8kGPruPlRQ4uFSNGJvBiGNK7Nh+nIj6zExr6vN8Te6xJquVFdKn9FBiFDnxHER+jpiYAwIPQKBKOtuJqzEnui+qjCDwqWEpjH71GEvhJJCvC2v6Ty46/E8FWGLcZ7NMhozptRDnaKn40ElkKBn420eN0ZXDm4VIPH/y3rvtib3qWnYw5a0QG+Bp8Fp46CSIDAFIQGrJH48xXBmzPuGyy3WosaG6XSl0javP5KvSTjvNL8mZ8WpZV199uGPEuK1SVGS5MvK0IlWdaJlIlM11xS3bCQF3M+qxKSlnX28YpnUg402Pad8ywZNmnP+wCd6n9EBcnusT3v4kIDEQGAPgipWg+m+NuYexnvK2NBTXCChUTm8js6K/N/y/JJknMF06gPKtR9tXYu7FNh0h4a7mK8We/SWzPTrIukFp3XfY93Ek7adrLifbJ1Y62tdbzpH//IuNCYIERHFYyhvnQDM1Ejy5Lu0NwwwcQADzSRvMpElrRcBE9TiE9ZfzU6EFL8+YSVZHFfnCxsdqIMGTzjT0z4SM7LRy/96/Z4hP6HqfqArl0LFeZAOiVGFP7c6kTxHIc5SYwEBnDcE8RfNhhAQDGLDRsZ2Q7Tbo0v5HIRRMmbKILDRF71xanFyFFhs62zzr0GXn+KqFiTUpoqJB02S9xpwLj2VMba1dpxW46bY7LkO5NvsFdCobmidC1ABBYaJxl9MzrHgYIAiO+0BDjz8ZtahL4UboanvMEXZTavVYpJjTcNWFw5rtfqouejGnfchIYiAxIvcMCAHQRGr+lnqRqA5J45k9taTgHoeMqxmZ/STEDd/S9VjqG2EbhvAvtwpTjBC0iA4bkMZGQeQAwfq4jC4215XlnGWYwh78Te0Wp6vn7+RAb0zsKoJhCw7ZcX/dg0A0QGRCXOUUAAHsiNGz3hchM6YKqgi5ocJm+USMPTLpeBlGEht7PdhWjxHXxY9j4DUNxxV6MLD5Wo4d2uJdC41BCQw7czsSn/MnSUHlNSNYwx1jJEhsD+CXQvSvLex9YtMFUo5S1QkOM+duB7llannfDNwWRAXF5MuzFyIF9iYT2hareO37KzGSEsI9LY5/AS2ajzzTZ3pKQtHmgbkanFqeuAty7MHaRj9rwubv2hVQmXbefdq/V+UBu14XleaxCIjIgIjKDcsbsHABE5nW1YGChIQaIbQbm1pASUXKhqyAiNJ43DNS1HivG1GSwNTJDhFWuLM650TCo0g7vLfpI6jlXrrUfhxYaNhv1HxPKy9OViUcvhn+MS4gMCM18BJ0QABAazmjSPDEEf3b4+ZH5y9XqHzPlzXUlbGpt3lY9GGMjoKtOp5anLz3fWwxDm1WMStuiCI0Hi9/IO6UeAjqo0HAwum9H0Ixnpv+enpZv5l2kNTZ+Q0jOiSYFAAF5NHY5Ct4LjeVQEZ10L8hdgEvLTOv35vi9eZe1+KsTpWowcXGomZi/W/7kKYAQrCzOuXm3KmHzm9MI+/Okf7juWbnW1ZkQ2Pajmt6wHUQGhKSgCAAgIM86zjgLDfO2kXQoo7zs8IwuyIqHZJ1eZ5QfJDdhIW4l7Z6ZtXGb/a08P4vU8dT1vrpB+WHo57Vgpf3YVWj8VLHnmxOH54Yt4C4FIZnppjj2ZABAENQlSQwUMTZOHX56rEKjCD0+bTzjraVx2BXZ09GG7WXc/dxI//eAt3sKsKJvIwKuPtlbIb/dtTdjqv2iHrAfrzb6sUviwhh7rf7s1/Sm7bCSAaGZmmFnDAFgD4VGc4gf+Y3jT4+HGp/0GcWIuhxo3F3HzJYMf+J1f4NlFuqXz4SICgcb970qQj9uVzQ6uUDS1BAZsJ8M9iEHgL0WG2XKQkOfUYy3X4yd20ofYmdLhrd9iTH2Yix2zLLb7GWYxsidpM/dWWhgZyAyAKEBAJCa0Fgbe1/svs+41lUNERtX5i2XUEihwbg7PDe+3aQcVjEWu9qfZR9ZROrDvfZaGfuN25/xbFkfBc0ckQEIDQDYP6Hxo4NB/nPg5xSxIWG+J83//Noc5+bNneph4+ibKVre65ZWMSjnvvcI6HfTxuhfWO4VqGy+2bECCWwIjS4TBt973t529WlCU98OG78hhtBYmvTjcANA3kJj0RhIYqhcZ/K8q23GjRqZMm6K0ee6eVxcX0pCigdHVqTKQBumbZI67lzF2BS4TZsQA35XlKzKeM7x4Sg0JDSzMf5yOdiwtjyviFU2ntvs2tO1nhEZkAKnmlW0oigAIKCRslQD5XoE7/KsBs1yI1LVgcMl+hqLE1rUTuN+ESLikApMm30Uc8f7VxbG+1FsgSqrQkMKDRVgLxb9S0IaH2YeZWoZ0hbDXQpiccGGRAAYQmiYNzekMb1TrUa/y16Oo55jbkiRMc24OsS9bSKGWkBj02YVwzlUru7NuLIUI7HbfGncXaf6UFucc2Ap/vYWVjIgJrfy0SPWNACEFhqSFdu4z/6n/E6Se0Pcp353+Jmcv3ovWHSWeBdFiPeINNlkE9nLVvgE/YY5rGLIuXWHW9jskTxKwd1OVzTkHYdYmZSxwibvzlwSNGLHIDIgPY508KwoCgAIbKDU6mZUj0horCz96v80iD/57zauIdNAriGl5Xm1x3LbKZiad7U1MsX9VxIfhtpcX1m21yOzO/JUH2SP021sY3pAF0ipz4VF2R9oHbGi8QG4S0FsLjQrOABAcKPcvM3Iv4zotVyM78Oe1/BqSOksva3IWA1crqVDO1mEiJqo38bvibSzZFyDhnCBVDFlKxy/x4rClTqsZEAKVA4fGgCAXkIj1IqGGoUuY9mth2Rta09CxdY1ZKm+/L7G/gOHZxyynYg7mjyfTVjjUKvyVWLdJxnXoI0VjYUJtzIp5W+7SihCcxUg+WLWsJIBKTBjNQMAhhQa5m0j86PnS8s1LxwOHzPDPvY0LC3Pe8254WPWXmd+bWfp72IYthIG2aGNeA1mot/EWWJdJ6mNzrqiIRMGL4GuL2L6xqFsat0n5R1pW7IfJbc8Y6xkhOchkeeQAeso4XKSGYOS5gIAAxkozxsrGseeLus6i+nDICn7Pp+Whe3ejjapatHV8FeB4eJTHzOZoDyr7eb6hfG3Qb5KtOsktdE55Mpk+77aT22uLef81jzPpc+wsM315BnaFbW19r0sVkwQGeE7QJHS8+hMS6ED53FCj0ZyPgDIWmjo9R4drnWg7kdll/upse7y3KsdRq3tzPmxGjtnLonndBZW7uOyz+Apco4GMWKvLJ9ZNsfPdQWkz3e6MOmtYmwa0kkFbAkpNBzd5loudEVj3icxo76T3Hv6rvzrXIQG7lL791EVn0GZhRCx8Yt5i5GdwibIAzZOAUAMoWHeJl58rTq7GsQzNWJcDRAxYlwj7NxuKYe1cctDIMbOvbpwnO0SFzobuzLuG5lTcM+pHL6TlQeXlirxbjNPzW1nI6jDY4Bri2i8c/zZ8Ub/KF37tobqvTcfh1JuhUbyucZYydjvj+taB4vXTKXGbuNfSM5Mv4y0AACdhYasKpj+M8hiyP90/E3rzz/ftalaffXnHYz1GwsXFxfXkBYxgqaaIbk2f18tEUP0xHRPtncXMDSsU/tQQ/E3S/El39Oyy7109jr15IS93jGk0AjgAtlSdrxu2z+udSJDrrE2fw/YMNGj9TSxdc3ysaIx0TJDZEBQsXGmg2jISA27KKgNAIg4FpYasWbW4xprB/eaTWSSR3Iu3G0x1vsYoJVnY/ojo+fU+JusekrJiBWx05TNg2X5z9QNrg5RT2KshnTFttwz87oC5zHSmE9B6F1obFxX+mXX/a1TzwJS+tzvzXOd93ApnJmArnm4S8FmJ1qauDHkD0IqagAAG6Fh3NyGPjMUu46jYqTLSsj9xiFG/0UPA+XS1hjUlYMfkatByu4swSzKLqLH2ehzWMUoA/eBpYo8H4IoitAwAVyn9LpnJoBLVk+STQTISga870SryFlxT8zA8dDhL0Mk0kf7iKKH1IRGMw6u1bDvZIzoOPp7Aq/z6BrpRnzQ1X0rxuZjERhJbmrVVapLy3ZxpDP9LmVvI0xuBlo9mJvdK1pJrma864NL49EVPLBLVqf+bRL2AkFkwGedSAaY6wi3P6EGotV7NfQ9dbBGZECS/UGFxnXH38s4eh5pHO1tgKjQEkP/54DPm6zAeNcuSstx68I2eaHDNauB3tPWPUyep0y0rl5XHjzttXp/3RPdzxozI/tV8yzJrmIIuEvBZ51IOmWMHB8TSh8AEhoHz3v+/lcTxwX1UQ325x7Pvxjw+eV7M8kk/r+LUb20PM9GPNwMvGpg80yz1KMceXKB/Oi6YuB/M3auZT6R+31LXWAgMsDHAOObnFcyBvcfzi375wcM/fwPdGsYWGjIHofCDOvHLTOcJz72NOjzT0IYaYoImB+ykTnBPRiflUlt7EOaTi1C/IoRnMwqxrv3tBkzFxnUWSihUTeH9I/LAcS4XF/2V0365N9AZEBKA+nQCv0g4yKLMQOXrShTgXRMT4NMhEbnGX3NT3SiYiXkmCoG4VffM5xi/KuR9s245wvYajCZt9WLRYbNonRoD8sdE0I24uEq0t4Hm7Y0zSFoi7bhy0DXrlSM/wjQx5/0upMYbs2IDBib4Qz25JwpvaD6ICOh0a5IvPS4xlJnPc+N31U1Mfy/6WrAKmAZyKytjDm/qLH22PFZz1uDKZfVi4+El7FfWTj47Fzd/7hrFePFRIrkpO3JZgWgyqTeKtNjZdJCjC+0j381b8mOu65gPunvv+rKxSLHvsLGb7ARGacUgxXrSCJjnml5xRBINc00iYmJlWV/evBwHa8Gl48ZW10ZaWe3z/QojP1K7pO2ZTluhzY+dEZdjLVKkwOe6NHm82h51jp6/TuAi4dNm/FZDgttDzZun7JRePLBakRh8cy3kQ1MqevJrpM+eT/bvj5k+11qPpzQ4myu5bKZ58Zs9JX3/aT9Rq081Xd09+AvL/86lpe+H+Bel7GXeSTUmukYkrBHQ/uSs7WQapk1z/XvgYtiZ/vVj819hGr6lot/5ubHqPnzR4Rb/4jpmjFUu8193NlXNoyR94bIn0ZIbn0dAPYXVjJgF4cUgbVhV4eeHfmEhclvb0asCQfc/yDlMUTERCsiEBMAkDXsyYBdFBSBEzEygR6rX28W6IrPLNLtERkAAACIDIhsDE4M0X9yMWJ/ph6rXNuUrIwtYwnAXDeZAgAAIDJgTJQxDMHMy6yOee+UhYYKDCmfoz2sGwAAAEQGgBqrFxFunftM823Eex+kKjQ2BMbxntYNAAAAIgP2XmDEdGmpcy47dce5i/gIyQkNdbuLLTBeiMoDAACAyIC4AiOmQTiGjbmxZ8xFaPyewmZw3eS9MvH39izp3QAAAIgMiGMQnpj4M8517uWoibZeEngU2Qxe60rC4GK1OSS07r2xTzAWkgU9HAAAAJEBwxuF8wQExpii/6Ri1E6b4w9JqqirVEO1pXVzfE+kDB4+yEILAAAAASEZH+KiUIM4hVC1yxEVrZTpRULPI88yb+pbXLkWjdG98tyOJuYtGpkcR4nVRUVPBwAAQGRAeGEhBuGZGJ2JGYSjif4jKzJNOV8mJjTEbUmS4M2aZ3vU8q67bohW97pChUWq+VQe2PANAACAyBijQV9EfgQxBA83/n1i0ptpbo3B9ciqf6FC7iDBZzvW46Jpo/K/RXSIq9qmQb7Wo/igPU0zqYOKUQgAAACRMUbuKQIrlmN7IV3NECP3ZwaP265ETEdUBTesYuSNrrq2kyOt2JX/tjlR8vBOFNe+6137cehVycf2+ZvjNqVJl41Vy7Y+jP5tJ1Ak0EXrgrnaqIfVAM9mVTfNs3wJ+Az/tjjtsnmGasd16sBjcNtX5D6r5nnIHQSIDBg9TxqRaXQ077VoPhylSdedaKyI0TOnGLIVFnM1am36zfTd33Z1TvLV3KrBnkNAiXZ18dS8RYYT0bGINTbqKryMXWdm92rswQf1INd42agDDNr4/K2ONuqnIjgGhIDoUpAC1cjfrzRphLTdJ8oRRSrbF3FR6EzuH+YtMllfYS7G+nVzrJvrLmOEcvYgOq6b514P6XYrkyJyT/O2Cj8z/dw9231gv+l7zIeKcgdO9SMRCBfUDSAyYGw8jHUVo0VdBiqqejBumDXNUlyIURvCVSR3Q0pcw+4178wQ4uLahNm3J9f8qaKPVcb0+K51U1AUgMiAsbAXHxtxmxLjl+oOzqPBTSoXcbGZsHGovUCtIXWWoxHYPPfKt0iS/RYq8kKJi49E3099lxN6QlIcqKAtKQpAZEDuXA6xMTAxQfVItQdDXNLOcJPKQmCIcbkycRI2iiH1m7pQ5baqIS5Uta/nVmOyNnECPsi7/M6qRpJcIzQAkQE587gr0sbYUOO3aI4nqj+IwCjYvJiFwBDj5XcTP5T2zKfBPrBxvvRQD3KNaxM/xPZPfRZIT2gUFAMgMiBLg3AfX1yFxplhI7hvyj1bFctZYFyPzWCPwGmfFQA16mcJvY8kCK3ZeJwct9QJ9IEQthBFYOyzS4sYwzpDVJs0E/XlxjkbvREYHRH3xdLj9R46/ObQdIukVYlYcB1LExQYLVMVfGf0lq3ISvi6w+9OOnxv5PzKsM8NEBmQCXNmnBEaHgVricDIQmAUPQXGnfaV10Rvm25xem0x1Atjn1ujFRheJzyaaxU9ykiMa9kIb+tGdqDGX+Vwj6qHwGhzKtRq5K7astPZbjFiJ1oHNrk1PuJUhVNJr/mUZVdXYw3jLGXrklhSAg4scEUFRAakzvnYw9V2EBoT/WiTrM/d4CkQrFkIjIkap648qdG9dbZ+I7v3rd7vRI3vbca0rDgkFSRAxLJGeZo7GIHWIkNFTJes5VJWi21iXsuxrYflxv3k+Vw3lb+6TvGtCNLGRChUupq1dKibuWE1AzrAngxAYMQd9NvN4A+UhjWPCIyskH7vMqstAlIiz00k9LOrEJB2oTPhv3zSrySPSpIum/JMOkt9bvmTA5twvLrS4Dr+isj7pmV12+FdbnVl55txD3axyDB5YlZiQ+vGNtohLmyAyIAkEYPhVwTGTsNCBvwrSmMndwiMfNB9GC4z2a2ArDwaUj/eCYwygzFBxkvbvDqFjdHuKPTk3icbq0R93kWucWLc8gQdmDw35OeGbRCSI0QfIDIgRYFR4DNv/TGW5ehfDZGnPuNHU0bkwchHYMjsuYtYCLJCpYkwv4qIz8zXf245FpzsqAf5/2eO/az0vFflWcv+h8PPpoRQDf7NWTuIORInAiIDkkHcFCbMODsP+rc6mOM+9RfiavFVjUXIBzEqbTcxe9+E/a5frVTE5zQWSFnYTNDsMv5c+s2PkP1Mr33u8JOKbhQc20lARAYgMiAJLlP1ec7EuNh089j3VQ1xITtBrGaJrVH/ZPY8rPUW1hbnfOoGpS4utu5qN0MIeUdXMFYzwtdHTSkAIgNyQGYjv+5bJu+Ag7988GX26G4PX/9B29Ic4zM/dDOy7SpGSR0nIfTmAz+X7WbwkmoEQGTA/tJGg2HG2b/QkFUNMdi+mf1woRLD41xXwmhL+WIbjeaGmdStTCzH3771MKiY13vNPbcl6DYhQEZvQGRAsrRRSCqKIuhHud4IBzlGsdGKiwmRyPZKZDBu9C/H1SfGo6yC2qwmPcYIzqH3tAmhahWmF4L3VSZ9wBmS8UEfcVGRBXR4sdH8KdRPWQy0aeavJEbGAmExHtS4tQmX+sD4sbUcK8ty/KwMC8tbxQyoIPe2yQQvbYoohf7b2MSh/umrgMiAoMiy/FKNQgacNMSGfCTE7aA0bnHwY7cjMRiWuMqMEtsoNL2FpebhKHteJrnIUyrUbLNz3/ash5jG+62lyCjoVkFYWn43nnBfBUQGhOJOPwa3bNBMTmysVWTM1aWgPQ5oRxCJieV5tad7TcdUeNqPbQXYy5ZytKmHx5h9Ue7dvO+DRR1O6FZe29hE25ht32EVCRAZ4I12prnGIMxKcNy2HwOdCRVjpYhohD1qG6pJyIjI+EQgw1+GX6ETBqcOP1tuGZ9t6iGF2emVxRh1RAvx0sZkk3dp3lxtXSaiyFEEiAzoLChWmwfLoqMQHKtNA0INmBM1PE708LnaIbORaz1q3KAQGRYCdIxGXNd232Ui4MVs3zhvY5inIPSYxHKj7Jg7ZNJRrF0xIQCIDDswfP4yBHNPwnNJ23ESHfVH76ArHm0IQ9sP16o1DBATgGHZWyx0pWKVeS85MsOt7OwSsgCIjF2GFmRZlwx8fspxhQgHyI67IbJzw95zhpCFPpAnAwAAfLK2OGdKMXVGXM1Ki/NeLM5JIREbyeDS5JyVakBkAABAbiKDTMPdBUZhObtss7fuJIF3snmGJ6p+cIGxpBigL2z8BgCAwUWGedsDRNQxe64c83nYCJEUVpSmHtsU9ENWv0qiAQIiAwAAUsQ2Ot1ZX5Ghe7Oqz/5/jfaUu2vWkxp+dYd62BkOVxIaxpq11pwgPttUjHcYy4rcnbYz9mCAN3CXAgAAb2gwAZv9ADNcprYiYaHFbWXS0TfeVsCVEd/RdmWm7nsjTUAXgpPM29lNc3xr2hibvAGRAQAAyWNrFM4pqs9FQp8VBgexN+2Yd6Gv0S/3nHpuTzHEQE4i40XFqwiL8+b476adlGzwhlDgLgUAAN4NZGOXufqiMTZvx5IAtHmPLxbG9drY5TmotGzWPethZnHeIoKxbBuC927HDLsYyBcW1+ntnvcJtgLNlyF/SQh3yAVWMgAAwLexvTR2s+jCcs+Kp7Q878DBEO9ryB83gmawvBvNvcRIPvbUPqz3APl2z1MXrFPL09eMDIDIAAAA6I+Lgbs3QkNdU+4sTz912Bz90b3EAH+wPP27bAIfQGDIPS4sT3/aFelIVzkeLUVbFamNP/VckQJAZAAAAGwYYLarGbN9EhrmbTXDtmwWPWfgXQzr65BCQ699HeDZawchdebxXWxXMQgJC4gMAAAAH+gMs4uBK0Kj3oeIU45lI/s35j3uJQb4g8NPrtWdybfAqBwFxoPDxncXV69l8ywnPd/FVSwtGBEAkQEAAODPmBbj6tHhJxJtaO1jtlnFyuFIyuaip2EsRvGLw/kXKvhOPNTDRPOVXDj+dO5QlmvzFjHJBnGb+r15pnnH95l3EEtrRgNAZAAAAPjF1cAVI/A3NXKdxYaIC501F8PuOIOysaXzbLgaua5G9VSN8U4z//IbdYH7w7gnRLzsEHGscjz/p7axwvJ9ChVLP0OJJYCxQQhbAAAIhhiLHWZ/WyNXcjhIxmvxaRcDb/XRrLAawXKIKDnNrGyumn9+tykPKUddAelyr6Ua1DPHn8r54sr2+K4ent+LO62DQuuhq8C76xKiVdpF8wyXxm3FRNrY/bt3e3Ux2xAffd7naizhmQEQGQAAkKIxvdRwnxcdfn6kRvh3NWbHVjxiUJfmbQVn57myOtA1M7MkXlNB1sVgPtbjImA9PJoeGchFnOjq13EC7/Zk/EezAsgK3KUAAGAIoSEG1w0l8Y9yeTbD5s4ojNs+maGQZyq6CqgNpCxfIr+L3P/Mw7sAIDIAAAAsDGoxAH8k9EhiDM4TKBdx1bGNADWz3UewRdQUiQk+XwKjzQ1SRBYaBW5SAIgMAAAY1qCWmfhfTfzZZjHqJwkZg6XDucuedfCsgu8ygfeWfQsnPmf9IwoNud9XBAYAIgMAAOIIDZm5PzFu+Rt8GoISvahIyZ1FN7TbGv1HPnJZqAvbN/O2fyBGPfzaPMM8UHm2QmMo17B2NQaBAYDIAACAmEa1GPrNP88HNHLvRNx0iV40UJlUDmVxoZvp+96zVsF3aYab+ZeIWhMVmyHLsxUaVwO8DwIDAJEBAAAJGdYSLWkSWGzI/oNvzX3OMkiMVjqcu/RUB88qcE7UYA4hNl60Hn6R1YuhVpH03WS15Kvxv3Im1/s65PsAIDIAAAC6iY1f1Rjta+iK+8oPNWpLnbHPoRzkOe8sT5fcGaXHe6/VIG9F352Hyz7qtSZaD+tI5brSlbOvPdtXK5a+qssdqxcAnzBknozChw8pAACMWmyIC82rG41GUZJDZtgl2dtnmaNlBUSM15UedQYrFtso9X1scmfIRvql5zp41msuNcleWweF1sPxFkEhv6036uE5sfa10vLdbF+FCqujLW2r1vep6aUAdnx5+dexdK57igIAYDSG+hdKAQAAYoK7FAAAAAAAIDIAAAAAAACRAQAAAAAAiAwAAAAAAABEBgAAAAAAIDIAAAAAAACRAQAAAAAAgMgAAAAAAABEBgAAAAAAIDIAAAAAAACRAQAAAAAAgMgAAAAAAABEBgAAAAAAIDIAAAAAAAAQGQAAAAAAgMgAAAAAAABEBgAAAAAAACIDAAAAAAAQGQAAAAAAgMgAAAAAAABEBgAAAAAAACIDAAAAAAAQGQAAAAAAgMgAAAAAAABAZAAAAAAAQCT+szmem+OBogAAAAAAAB/8nwADAP5wJPS5nm4vAAAAAElFTkSuQmCC";
489
500
 
490
- const HeaderTheBig = ({ textBack, className, }) => (jsx("div", { className: `${className} primary-header-thebig`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("img", { src: theBigLogotype, alt: "thebig-logotype" }) }), jsx("a", { href: "https://www.thebig.ca/", target: "_blank", rel: "noreferrer", children: jsxs("div", { className: "back-button", children: [jsx("div", { className: "back-icon" }), jsx("h2", { children: textBack })] }) })] }) }));
501
+ const HeaderTheBig = ({ textBack, className }) => (jsx("div", { className: `${className} primary-header-thebig`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("img", { src: theBigLogotype, alt: "thebig-logotype" }) }), jsx("a", { href: "https://www.thebig.ca/", target: "_blank", rel: "noreferrer", children: jsxs("div", { className: "back-button", children: [jsx("div", { className: "back-icon" }), jsx("h2", { children: textBack })] }) })] }) }));
491
502
  HeaderTheBig.defaultProps = {
492
503
  className: '',
493
504
  };
494
505
 
495
- const HeaderMyChoiceMobile = ({ className, }) => {
496
- const { appConfigState: { insuranceType } } = useStoreAppConfig();
506
+ const HeaderBeginInsurance = ({ className }) => {
507
+ const { appConfigState: { insuranceType }, } = useStoreAppConfig();
508
+ const insuranceTypeCls = insuranceType !== InsuranceTypes.Car && insuranceType !== InsuranceTypes.Life ? InsuranceTypes.Home : insuranceType;
509
+ const { externalPathGroup } = usePathGroups(insuranceTypeCls);
510
+ return (jsx("div", { className: `${className} primary-header`, children: jsxs("div", { className: "content", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.begininsurance.com/", rel: "noreferrer", children: jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsx("div", { className: "empty-box" })] }) }));
511
+ };
512
+ HeaderBeginInsurance.defaultProps = {
513
+ className: '',
514
+ };
515
+
516
+ const HeaderMyChoiceMobile = ({ className }) => {
517
+ const { appConfigState: { insuranceType }, } = useStoreAppConfig();
497
518
  const { externalPathGroup } = usePathGroups(insuranceType);
498
519
  const [isMenuOpen, setIsMenuOpen] = useState(false);
499
520
  const handleMenuClick = () => {
500
521
  setIsMenuOpen(!isMenuOpen);
501
522
  };
502
- // const isLoggedIn = true;
503
- return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo, alt: "logotype" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
523
+ return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
504
524
  };
505
525
  HeaderMyChoiceMobile.defaultProps = {
506
526
  className: '',
507
527
  };
508
528
 
529
+ const HeaderBeginInsuranceMobile = ({ className }) => {
530
+ const { appConfigState: { insuranceType }, } = useStoreAppConfig();
531
+ const { externalPathGroup } = usePathGroups(insuranceType);
532
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
533
+ const handleMenuClick = () => {
534
+ setIsMenuOpen(!isMenuOpen);
535
+ };
536
+ return (jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxs("div", { className: "content-mobile", children: [jsx("div", { className: "logo", children: jsx("a", { href: "https://www.begininsurance.com/", target: "_blank", rel: "noreferrer", children: jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsx(ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsx("div", { className: "menu-items", children: jsx("div", { className: "nav-links", children: jsx(HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
537
+ };
538
+ HeaderBeginInsuranceMobile.defaultProps = {
539
+ className: '',
540
+ };
541
+
509
542
  const LoaderVid = () => {
510
543
  const { appDeviceType } = useStoreDeviceType();
511
544
  const isMobile = appDeviceType === DeviceTypes.Mobile;
@@ -516,11 +549,11 @@ const LoaderPrimary = () => {
516
549
  const { appLoaderState } = useStoreAppLoader();
517
550
  const { appConfigState } = useStoreAppConfig();
518
551
  const isLastPage = window.location.pathname.includes('discount') || window.location.pathname.includes('/life/applicant');
519
- const isHome = window.location.pathname.includes('home') || window.location.pathname.includes('condo') || window.location.pathname.includes('tenant');
520
- return (jsxs("div", { className: "loader-wrapper", children: [appConfigState.appType === AppTypes.TheBig || !isLastPage ? jsx(IconLoaderPrimary, {}) : jsx(LoaderVid, {}), appLoaderState.description
521
- ? (jsx("h4", { children: appLoaderState.description.split('\n').map((line, index) => (jsxs("div", { children: [line, jsx("br", {})] }, index))) }))
522
- // eslint-disable-next-line react/no-unescaped-entities
523
- : !appLoaderState.description && isHome && jsx("h4", { children: "Hang tight, while we collect and process information about your property." })] }));
552
+ const isHome = window.location.pathname.includes('home') ||
553
+ window.location.pathname.includes('condo') ||
554
+ window.location.pathname.includes('tenant');
555
+ return (jsxs("div", { className: "loader-wrapper", children: [appConfigState.appType === AppTypes.MyChoice && !isLastPage ? jsx(LoaderVid, {}) : jsx(IconLoaderPrimary, {}), appLoaderState.description ? (jsx("h4", { children: appLoaderState.description.split('\n').map((line, index) => (jsxs("div", { children: [line, jsx("br", {})] }, index))) })) : (!appLoaderState.description &&
556
+ isHome && jsx("h4", { children: "Hang tight, while we collect and process information about your property." }))] }));
524
557
  };
525
558
 
526
559
  const ModalConfirm = () => {
@@ -770,16 +803,16 @@ const BlockCarConditionInfo = () => {
770
803
  };
771
804
 
772
805
  const VehicleSectionMain = () => {
773
- const { appConfigState: { appType } } = useStoreAppConfig();
774
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
806
+ const { appConfigState: { appType }, } = useStoreAppConfig();
807
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
775
808
  return (jsxs("div", { className: `form-section top-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Give us the scoop on your four-wheeled friend." }), jsx(BlockCarInfo, {}), jsx(BlockCarConditionInfo, {})] }));
776
809
  };
777
810
 
778
811
  const VehicleSectionCoverage = () => {
779
812
  const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
780
813
  const { collision, comprehensive } = vehicleState.items[vehicleState.activeIndex];
781
- const { appConfigState: { appType } } = useStoreAppConfig();
782
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
814
+ const { appConfigState: { appType }, } = useStoreAppConfig();
815
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
783
816
  const handleComprehensiveChange = ({ value }) => {
784
817
  dispatchVehicleState({
785
818
  type: StoreFormCarVehicleActionTypes.FormCarComprehensiveCoverageSelect,
@@ -933,11 +966,11 @@ const TabDriver = ({ createItem, readOnly }) => {
933
966
 
934
967
  const SectionDriverInfo = () => {
935
968
  const { configState } = useStoreFormCarConfig();
936
- const { appConfigState: { appType } } = useStoreAppConfig();
969
+ const { appConfigState: { appType }, } = useStoreAppConfig();
937
970
  const { driverState, dispatchDriverInfoState } = useStoreFormCarDriverInfo();
938
971
  const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
939
- const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship, } = driverState.items[driverState.activeIndex];
940
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
972
+ const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship } = driverState.items[driverState.activeIndex];
973
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
941
974
  const defaultDateOfBirth = {
942
975
  day: birthDay,
943
976
  month: birthMonth,
@@ -1001,17 +1034,16 @@ const SectionDriverInfo = () => {
1001
1034
  payload: { applicantRelationship: value },
1002
1035
  });
1003
1036
  };
1004
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsx(SelectFormBox, { options: maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsx(SwitchButtonBox, { name: "occupation", items: occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsx(SwitchButtonBox, { items: genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0
1005
- && (jsx(SelectFormBox, { options: applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
1037
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsx(SelectFormBox, { options: maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsx(SwitchButtonBox, { name: "occupation", items: occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsx(SwitchButtonBox, { items: genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0 && (jsx(SelectFormBox, { options: applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
1006
1038
  };
1007
1039
 
1008
1040
  const SectionDriverLicence = () => {
1009
- const { appConfigState: { appType } } = useStoreAppConfig();
1041
+ const { appConfigState: { appType }, } = useStoreAppConfig();
1010
1042
  const [driverEducation, setDriverEducation] = useState(false);
1011
1043
  const { configState } = useStoreFormCarConfig();
1012
1044
  const { driverState, dispatchDriverLicenceState } = useStoreFormCarDriverLicence();
1013
1045
  const { isAlbertaProvince } = useProvince();
1014
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1046
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1015
1047
  const { firstName, birthDay, birthMonth, birthYear, licenceInfo: { firstLicenceAge, licenceType, g1LicenceYear, g1LicenceMonth, gLicenceYear, gLicenceMonth, g2LicenceYear, g2LicenceMonth, passedDriverTraining, previousLicence, }, minMaxDates, } = driverState.items[driverState.activeIndex];
1016
1048
  const { gMax = getFormattedDate('', 'yyyy-MM-dd'), gMin = '1922-01-01', gOneMax = getFormattedDate('', 'yyyy-MM-dd'), gOneMin = '1922-01-01', gTwoMax = getFormattedDate('', 'yyyy-MM-dd'), gTwoMin = '1922-01-01', gBlock = false, gTwoBlock = false, gOneBlock = false, licenceAgeMax = 16, } = minMaxDates ?? {};
1017
1049
  const maxLicenceAge = licenceAgeMax;
@@ -1020,7 +1052,7 @@ const SectionDriverLicence = () => {
1020
1052
  const defaultMinDate = birthDate && firstLicenceAge ? addYearsToDate(birthDate, +firstLicenceAge) : '';
1021
1053
  const isOnlyG = checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
1022
1054
  const isTheBig = appType === AppTypes.TheBig;
1023
- const { g, g1, g2, minLicenceAge, } = configState.licenceConfig;
1055
+ const { g, g1, g2, minLicenceAge } = configState.licenceConfig;
1024
1056
  const licenceTypeOptions = [
1025
1057
  { value: g.name, name: g.title },
1026
1058
  { value: g1.name, name: g1.title },
@@ -1050,7 +1082,8 @@ const SectionDriverLicence = () => {
1050
1082
  return gOneMin;
1051
1083
  case DriverLicenceTypes.G2:
1052
1084
  return gTwoMin;
1053
- default: return '';
1085
+ default:
1086
+ return '';
1054
1087
  }
1055
1088
  };
1056
1089
  const getMaxDate = (type) => {
@@ -1061,7 +1094,8 @@ const SectionDriverLicence = () => {
1061
1094
  return gOneMax;
1062
1095
  case DriverLicenceTypes.G2:
1063
1096
  return gTwoMax;
1064
- default: return '';
1097
+ default:
1098
+ return '';
1065
1099
  }
1066
1100
  };
1067
1101
  const getLicenceYear = (type) => {
@@ -1072,7 +1106,8 @@ const SectionDriverLicence = () => {
1072
1106
  return g1LicenceYear;
1073
1107
  case DriverLicenceTypes.G2:
1074
1108
  return g2LicenceYear;
1075
- default: return '';
1109
+ default:
1110
+ return '';
1076
1111
  }
1077
1112
  };
1078
1113
  const getLicenceMonth = (type) => {
@@ -1083,7 +1118,8 @@ const SectionDriverLicence = () => {
1083
1118
  return g1LicenceMonth;
1084
1119
  case DriverLicenceTypes.G2:
1085
1120
  return g2LicenceMonth;
1086
- default: return '';
1121
+ default:
1122
+ return '';
1087
1123
  }
1088
1124
  };
1089
1125
  const getDefaultLicenceDate = (type) => ({
@@ -1136,8 +1172,10 @@ const SectionDriverLicence = () => {
1136
1172
  const formattedMinDate = `${getFormattedDate(licenceMinDate, 'MMMM yyyy')}`;
1137
1173
  const defaultHintMessage = `${formattedMinDate} would be your earliest ${licenceTypeTitle}
1138
1174
  licence date based on your first licenced age and date of birth`;
1139
- return currentType === DriverLicenceTypes.G2 ? `${defaultHintMessage}
1140
- if you completed a driver education course` : defaultHintMessage;
1175
+ return currentType === DriverLicenceTypes.G2
1176
+ ? `${defaultHintMessage}
1177
+ if you completed a driver education course`
1178
+ : defaultHintMessage;
1141
1179
  };
1142
1180
  const getLicenceAgeTitle = () => {
1143
1181
  if (isAlbertaProvince && isTheBig) {
@@ -1145,10 +1183,10 @@ const SectionDriverLicence = () => {
1145
1183
  }
1146
1184
  return `What age was ${firstName || driverNameDefault} when first licenced?`;
1147
1185
  };
1148
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate ? `${firstName || driverNameDefault} was licenced in
1149
- ${Number(birthYear) + Number(firstLicenceAge)} - ${Number(birthYear) + Number(firstLicenceAge) + 1}` : '', placeholder: "Select Licence Age", disabled: !birthDate, error: !firstLicenceAge && driverState.inValidation, errorMessage: getErrorMessage(firstLicenceAge, driverState.inValidation), minValue: minLicenceAge || 16, maxValue: maxLicenceAge }), jsx(SelectFormBox, { options: getLicenceTypeOptions(licenceTypeOptions, getDisabledLicenceTypes(gBlock, gTwoBlock, gOneBlock), true), name: "licenceType", onChange: handleLicenceTypeChange, defaultValue: getSelectedOption(licenceTypeOptions, licenceType), title: `Please choose the type of licence that ${firstName || driverNameDefault} currently holds`, placeholder: "Select from the list", disabled: !birthDate, description: configState.toolTip.licenceType, autoSelectIfValueIsOutOfOptions: false }), licenceType === DriverLicenceTypes.G && !isOnlyG
1150
- && (jsx(DateSelectFormBox, { name: "g2LicenceDate", dateNames: ['g2LicenceYear', 'g2LicenceMonth'], onDateChange: handleLicenceDateChange(DriverLicenceTypes.G2), defaultValue: getDefaultLicenceDate(DriverLicenceTypes.G2), title: `${configState.licenceConfig.g2.title} licence date`, errorMessage: getDateErrorMessage(['01', g2LicenceMonth, g2LicenceYear], driverState.inValidation), hintMessage: getHintMessage(DriverLicenceTypes.G2), error: driverState.inValidation, minDate: getMinDate(DriverLicenceTypes.G2), maxDate: getMaxDate(DriverLicenceTypes.G2) })), licenceType && (jsx(DateSelectFormBox, { name: `${licenceType}LicenceDate`, dateNames: [`${licenceType}LicenceYear`, `${licenceType}LicenceMonth`], onDateChange: handleLicenceDateChange(), defaultValue: getDefaultLicenceDate(licenceType), title: `${configState.licenceConfig[licenceType].title} licence date`, errorMessage: getDateErrorMessage(['01', getLicenceMonth(licenceType), getLicenceYear(licenceType)], driverState.inValidation), hintMessage: getHintMessage(), error: driverState.inValidation, maxDate: getMaxDate(licenceType), minDate: getMinDate(licenceType) })), driverEducation
1151
- && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleTrainingChange, name: "passedDriverTraining", defaultValue: getSelectedOption(yesNoOptions, passedDriverTraining), title: `Has ${firstName || driverNameDefault} completed a driver education course within the last 3 years?` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handlePreviousLicenceChange, name: "previousLicence", defaultValue: getSelectedOption(yesNoOptions, previousLicence), title: `Has ${firstName || driverNameDefault} ever had a full license anywhere else in Canada or USA?`, description: "If you have driving experience outside Canada or the United States, it may lower your premium. Your insurer may require proof of insurance in these other locations or some proof of driving experience from the country you indicate (like a copy of a previous driver\u2019s licence)." })] }));
1186
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate
1187
+ ? `${firstName || driverNameDefault} was licenced in
1188
+ ${Number(birthYear) + Number(firstLicenceAge)} - ${Number(birthYear) + Number(firstLicenceAge) + 1}`
1189
+ : '', placeholder: "Select Licence Age", disabled: !birthDate, error: !firstLicenceAge && driverState.inValidation, errorMessage: getErrorMessage(firstLicenceAge, driverState.inValidation), minValue: minLicenceAge || 16, maxValue: maxLicenceAge }), jsx(SelectFormBox, { options: getLicenceTypeOptions(licenceTypeOptions, getDisabledLicenceTypes(gBlock, gTwoBlock, gOneBlock), true), name: "licenceType", onChange: handleLicenceTypeChange, defaultValue: getSelectedOption(licenceTypeOptions, licenceType), title: `Please choose the type of licence that ${firstName || driverNameDefault} currently holds`, placeholder: "Select from the list", disabled: !birthDate, description: configState.toolTip.licenceType, autoSelectIfValueIsOutOfOptions: false }), licenceType === DriverLicenceTypes.G && !isOnlyG && (jsx(DateSelectFormBox, { name: "g2LicenceDate", dateNames: ['g2LicenceYear', 'g2LicenceMonth'], onDateChange: handleLicenceDateChange(DriverLicenceTypes.G2), defaultValue: getDefaultLicenceDate(DriverLicenceTypes.G2), title: `${configState.licenceConfig.g2.title} licence date`, errorMessage: getDateErrorMessage(['01', g2LicenceMonth, g2LicenceYear], driverState.inValidation), hintMessage: getHintMessage(DriverLicenceTypes.G2), error: driverState.inValidation, minDate: getMinDate(DriverLicenceTypes.G2), maxDate: getMaxDate(DriverLicenceTypes.G2) })), licenceType && (jsx(DateSelectFormBox, { name: `${licenceType}LicenceDate`, dateNames: [`${licenceType}LicenceYear`, `${licenceType}LicenceMonth`], onDateChange: handleLicenceDateChange(), defaultValue: getDefaultLicenceDate(licenceType), title: `${configState.licenceConfig[licenceType].title} licence date`, errorMessage: getDateErrorMessage(['01', getLicenceMonth(licenceType), getLicenceYear(licenceType)], driverState.inValidation), hintMessage: getHintMessage(), error: driverState.inValidation, maxDate: getMaxDate(licenceType), minDate: getMinDate(licenceType) })), driverEducation && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleTrainingChange, name: "passedDriverTraining", defaultValue: getSelectedOption(yesNoOptions, passedDriverTraining), title: `Has ${firstName || driverNameDefault} completed a driver education course within the last 3 years?` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handlePreviousLicenceChange, name: "previousLicence", defaultValue: getSelectedOption(yesNoOptions, previousLicence), title: `Has ${firstName || driverNameDefault} ever had a full license anywhere else in Canada or USA?`, description: "If you have driving experience outside Canada or the United States, it may lower your premium. Your insurer may require proof of insurance in these other locations or some proof of driving experience from the country you indicate (like a copy of a previous driver\u2019s licence)." })] }));
1152
1190
  };
1153
1191
 
1154
1192
  const SectionDriverInsurancePolicy = () => {
@@ -1157,18 +1195,14 @@ const SectionDriverInsurancePolicy = () => {
1157
1195
  const { driverState, dispatchDriverInsuranceState } = useStoreFormCarDriverInsurance();
1158
1196
  const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
1159
1197
  const { quoteState: { isRequested }, } = useStoreFormCarQuote();
1160
- const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth, }, } = driverState.items[driverState.activeIndex];
1198
+ const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth }, } = driverState.items[driverState.activeIndex];
1161
1199
  const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
1162
1200
  const driverNameDefault = `Driver ${driverState.activeIndex + 1}`;
1163
- const birthDate = birthYear && birthMonth && birthDay
1164
- ? `${birthYear}-${birthMonth}-${birthDay}`
1165
- : '';
1201
+ const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
1166
1202
  const { appConfigState: { appType }, } = useStoreAppConfig();
1167
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1203
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1168
1204
  const getPeriodOptions = (year, month) => {
1169
- const options = [
1170
- { value: '', name: 'Date Period', disabled: true },
1171
- ];
1205
+ const options = [{ value: '', name: 'Date Period', disabled: true }];
1172
1206
  if (year && month) {
1173
1207
  const todayDate = new Date();
1174
1208
  const month = String(todayDate.getMonth() + 1).padStart(2, '0');
@@ -1224,9 +1258,7 @@ you had insurance. If this is correct, please continue with the form.`);
1224
1258
  }
1225
1259
  };
1226
1260
  if (birthDate) {
1227
- const defaultMinDate = birthDate && firstLicenceAge
1228
- ? addYearsToDate(birthDate, +firstLicenceAge)
1229
- : '';
1261
+ const defaultMinDate = birthDate && firstLicenceAge ? addYearsToDate(birthDate, +firstLicenceAge) : '';
1230
1262
  const isOnlyG = checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
1231
1263
  if (isOnlyG) {
1232
1264
  setMessage(gLicenceYear, gLicenceMonth);
@@ -1245,16 +1277,7 @@ you had insurance. If this is correct, please continue with the form.`);
1245
1277
  else {
1246
1278
  setHintMessage('');
1247
1279
  }
1248
- }, [
1249
- listedYear,
1250
- listedMonth,
1251
- g1LicenceYear,
1252
- g1LicenceMonth,
1253
- firstLicenceAge,
1254
- birthDate,
1255
- gLicenceYear,
1256
- gLicenceMonth,
1257
- ]);
1280
+ }, [listedYear, listedMonth, g1LicenceYear, g1LicenceMonth, firstLicenceAge, birthDate, gLicenceYear, gLicenceMonth]);
1258
1281
  const handleInsuredChange = ({ value }) => {
1259
1282
  dispatchDriverInsuranceState({
1260
1283
  type: StoreFormCarDriverInsuranceActionTypes.FormCarDriverInsuredSelect,
@@ -1309,18 +1332,16 @@ you had insurance. If this is correct, please continue with the form.`);
1309
1332
  };
1310
1333
  return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxs("div", { className: "box-container", children: [jsx(DateSelectFormBox, { name: "listedYear", dateNames: ['listedYear', 'listedMonth'], onDateChange: handleListedDateChange, defaultValue: defaultListedDate, disabled: !listed, title: `When was ${firstName || driverNameDefault} first listed as a driver on a Canadian or US insurance policy?`, description: "The selection indicates what year the main driver was first listed on a Canadian or US insurance policy. If you do not remember your age, it is acceptable to provide a best estimate for the purposes of the policy or quote.", errorMessage: listed
1311
1334
  ? getDateErrorMessage(['01', listedMonth, listedYear], driverState.inValidation)
1312
- : '', error: driverState.inValidation, hintMessage: hintMessage, minDate: getMinDate(birthDate, firstLicenceAge) }), jsx(CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxs("div", { className: "box-container", children: [jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured
1313
- ? getErrorMessage(insuredDate, driverState.inValidation)
1314
- : '', error: !insuredDate && driverState.inValidation }), jsx(CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true })] }));
1335
+ : '', error: driverState.inValidation, hintMessage: hintMessage, minDate: getMinDate(birthDate, firstLicenceAge) }), jsx(CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxs("div", { className: "box-container", children: [jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured ? getErrorMessage(insuredDate, driverState.inValidation) : '', error: !insuredDate && driverState.inValidation }), jsx(CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true })] }));
1315
1336
  };
1316
1337
 
1317
1338
  const SectionDriverCancellation = () => {
1318
1339
  const { driverState, dispatchDriverCancellationState } = useStoreFormCarDriverCancellation();
1319
1340
  const { dispatchDriverBaseState } = useStoreFormCarDriverBase();
1320
1341
  const { insuranceCancellation, insuranceCancellationList = [] } = driverState.items[driverState.activeIndex];
1321
- const { appConfigState: { appType } } = useStoreAppConfig();
1342
+ const { appConfigState: { appType }, } = useStoreAppConfig();
1322
1343
  const isTheBig = appType === AppTypes.TheBig;
1323
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1344
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1324
1345
  const { firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge }, } = driverState.items[driverState.activeIndex];
1325
1346
  const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
1326
1347
  const handleIconClick = (index) => () => {
@@ -1396,7 +1417,7 @@ const SectionDriverCancellation = () => {
1396
1417
  }
1397
1418
  };
1398
1419
  return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Insurance Cancellation" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: `Has ${firstName} had an insurance company cancellation or
1399
- a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth, }, index) => {
1420
+ a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth }, index) => {
1400
1421
  const defaultStartDate = {
1401
1422
  year: startYear,
1402
1423
  month: startMonth,
@@ -1406,12 +1427,11 @@ const SectionDriverCancellation = () => {
1406
1427
  month: endMonth,
1407
1428
  };
1408
1429
  const now = getFormattedDate('', 'yyyy-MM-dd');
1409
- const days = birthDay ? (+birthDay + 1) : 1;
1430
+ const days = birthDay ? +birthDay + 1 : 1;
1410
1431
  const endDate = endYear && endMonth ? addDayToDate(`${endYear}-${endMonth}`, days) : now;
1411
1432
  const currentMinDate = getMinDateByYears(getMinDate(birthDate, firstLicenceAge), 3);
1412
1433
  const currentEndDate = compareDates(endDate, currentMinDate) < 0 ? currentMinDate : endDate;
1413
- return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(SelectFormBox, { options: insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear
1414
- ? addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
1434
+ return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(SelectFormBox, { options: insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear ? addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
1415
1435
  }), insuranceCancellationList?.length < 3 && (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" }))] }))] }));
1416
1436
  };
1417
1437
 
@@ -1667,8 +1687,8 @@ const BlockDriverTicket = () => {
1667
1687
  };
1668
1688
 
1669
1689
  const SectionDriverHistory = () => {
1670
- const { appConfigState: { appType } } = useStoreAppConfig();
1671
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1690
+ const { appConfigState: { appType }, } = useStoreAppConfig();
1691
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1672
1692
  return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(BlockDriverSuspension, {}), jsx(BlockDriverAccident, {}), jsx(BlockDriverTicket, {})] }));
1673
1693
  };
1674
1694
 
@@ -1707,7 +1727,7 @@ const PageDriver = () => {
1707
1727
  useEffect(() => {
1708
1728
  setIsRender(true);
1709
1729
  }, [isRender]);
1710
- return (jsxs("div", { className: "form-container", children: [jsx(TabDriver, { createItem: createDriver }), jsxs("div", { className: "form-section-container", children: [isRender && (jsxs(Fragment, { children: [jsx(SectionDriverInfo, {}), jsx(SectionDriverLicence, {}), jsx(SectionDriverInsurancePolicy, {}), jsx(SectionDriverCancellation, {}), jsx(SectionDriverHistory, {}), appType === AppTypes.MyChoice && jsx(HonestyMessage, {})] })), appType === AppTypes.TheBig ? (jsx(NavigationBottomTheBig, { createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid })) : (jsx(NavigationBottom, { className: "mychoice", createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid }))] }), localIndex !== defaultLocalIndex && (jsx("img", { className: "logo-for-partner", src: myChoicePartnerLogo, alt: "partner logo" }))] }));
1730
+ return (jsxs("div", { className: "form-container", children: [jsx(TabDriver, { createItem: createDriver }), jsxs("div", { className: "form-section-container", children: [isRender && (jsxs(Fragment, { children: [jsx(SectionDriverInfo, {}), jsx(SectionDriverLicence, {}), jsx(SectionDriverInsurancePolicy, {}), jsx(SectionDriverCancellation, {}), jsx(SectionDriverHistory, {}), isMyChoiceLike(appType) && jsx(HonestyMessage, {})] })), appType === AppTypes.TheBig ? (jsx(NavigationBottomTheBig, { createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid })) : (jsx(NavigationBottom, { className: "mychoice", createItem: createDriver, formSteps: formSteps[InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid }))] }), localIndex !== defaultLocalIndex && (jsx("img", { className: "logo-for-partner", src: myChoicePartnerLogo, alt: "partner logo" }))] }));
1711
1731
  };
1712
1732
 
1713
1733
  const getDynamicLicenceBoxProps = ({ isAlbertaProvince, isOntarioProvince, isNewfoundlandProvince, isNovaScotiaProvince, isNewBrunswickProvince, }) => {
@@ -1757,11 +1777,11 @@ const SectionDiscountInfo$1 = () => {
1757
1777
  const { appConfigState: { appType }, } = useStoreAppConfig();
1758
1778
  const allProvinces = useProvince();
1759
1779
  const isTheBig = appType === AppTypes.TheBig;
1760
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1780
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1761
1781
  const { discountState, dispatchDiscountState } = useStoreFormCarDiscount();
1762
1782
  const { validateEmail, errorMessage } = useHandlerCarQuoterEmail();
1763
1783
  const { multiplePoliciesDiscount, appInstallDiscount, caaMemberDiscount, quoterInfo, emailTo: { email, emailStatus }, } = discountState;
1764
- const { firstName, lastName, phone, driverLicense = '', caslConsent, } = quoterInfo;
1784
+ const { firstName, lastName, phone, driverLicense = '', caslConsent } = quoterInfo;
1765
1785
  const handleMultiplePolicyChange = ({ value }) => {
1766
1786
  dispatchDiscountState({
1767
1787
  type: StoreFormCarDiscountActionTypes.FormCarDiscountMultiplePoliciesSelect,
@@ -1815,8 +1835,7 @@ const SectionDiscountInfo$1 = () => {
1815
1835
  };
1816
1836
  return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [isTheBig ? (jsx(LabelFormBox, { title: "You are seconds away from receiving your car insurance quotes,\n please provide your email after completing the discount section so we\n can send you your personalized free car insurance quotes!" })) : (jsxs(Fragment, { children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your car insurance quotes, please provide your email after completing the discount section so we can send you your personalized free car insurance quotes!" })] })), jsx(BlockVehLinks, {}), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could receive a 10-15% discount for bundling insurance with multiple policies with the same insurance company. Does that interest you?", description: "Bundling your home and auto insurance can save you significantly on insurance premiums as a whole package. Do you want to learn more about the benefits of multiple policies for home, tenant, condo, or car insurance? All you have to do is select yes.." }), !isTheBig && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCaaMemberChange, name: "caaMemberDiscount", defaultValue: getSelectedOption(yesNoOptions, caaMemberDiscount), title: "Please indicate if you are a member of CAA, you could save up to an additional 20%." })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleAppInstallChange, name: "appInstallDiscount", defaultValue: getSelectedOption(yesNoOptions, appInstallDiscount), title: "You could receive up to a 30% discount by using an app to track driving habits. Does that interest you?", description: "Get rewarded for safe driving with the click of a button. If you install the app, you may be eligible for a 30% discount on your insurance premiums. Typically, you receive 10% of the discount upfront and the balance after six months of good driving." }), isTheBig ? (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })) : (jsx("h2", { children: "Complete the form below to see which companies are offering your quotes." })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), isTheBig && (jsx(InputFormLicenceBox, { ...getDynamicLicenceBoxProps({ ...allProvinces }), name: "driverLicense", title: "Driver Licence Number (Optional)", onChange: handleDriverLicenseChange, defaultValue: driverLicense, description: "Enter your drivers licence number in to receive a more accurate, prequalified quote from our broker partners. This will enable you to provide less details over the phone if you choose to have a broker contact you. This is an optional input." })), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, errorMessage: emailStatus === ValidationStatusTypes.Declined
1817
1837
  ? errorMessage
1818
- : getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined ||
1819
- (!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: isTheBig ? 'johnsmith@thebig.ca' : 'johnsmith@mychoice.ca' }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$2, {})] }));
1838
+ : getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType) }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$2, {})] }));
1820
1839
  };
1821
1840
 
1822
1841
  const PageCarDiscount = () => {
@@ -1841,10 +1860,10 @@ const SectionQuoteEdit$2 = () => {
1841
1860
  const { appConfigState } = useStoreAppConfig();
1842
1861
  const { driverState, dispatchDriverBaseState } = useStoreFormCarDriverBase();
1843
1862
  const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
1844
- const { discountState: { appInstallDiscount, multiplePoliciesDiscount } } = useStoreFormCarDiscount();
1845
- const { appConfigState: { appType } } = useStoreAppConfig();
1863
+ const { discountState: { appInstallDiscount, multiplePoliciesDiscount }, } = useStoreFormCarDiscount();
1864
+ const { appConfigState: { appType }, } = useStoreAppConfig();
1846
1865
  const isTheBig = appType === AppTypes.TheBig;
1847
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1866
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1848
1867
  const navigate = useNavigate();
1849
1868
  const vehicles = vehicleState.items.map(({ year, make, model }) => [`${year} ${make} ${model}`]);
1850
1869
  const drivers = driverState.items.map(({ firstName }) => [`${firstName}`]);
@@ -1909,7 +1928,7 @@ const BlockMCEndorsements = () => {
1909
1928
  const SectionQuoteRecalc$1 = () => {
1910
1929
  const { appConfigState: { appType }, } = useStoreAppConfig();
1911
1930
  const isTheBig = appType === AppTypes.TheBig;
1912
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
1931
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
1913
1932
  const { vehicleState, dispatchVehicleState } = useStoreFormCarVehicle();
1914
1933
  const { comprehensive, collision, liability } = vehicleState.items[vehicleState.activeIndex];
1915
1934
  const handleComprehensiveChange = ({ value }) => {
@@ -2070,7 +2089,7 @@ const SectionAddress = () => {
2070
2089
  const { streetAddress = '', postalCode = '', addressObject, errorMessage } = item;
2071
2090
  const navigate = useNavigate();
2072
2091
  const asyncSelectRef = useRef(null);
2073
- const isMychoice = appType === AppTypes.MyChoice;
2092
+ const isMychoice = isMyChoiceLike(appType);
2074
2093
  const mychoiceCls = isMychoice ? 'mychoice' : '';
2075
2094
  const handleAddressChange = (address) => {
2076
2095
  dispatchPostalState({
@@ -2308,9 +2327,9 @@ const SectionApplicantInfo = () => {
2308
2327
  const { applicantState, dispatchApplicantInfoState } = useStoreFormHomeApplicantInfo();
2309
2328
  const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
2310
2329
  const { dwellingState, dispatchDwellingState } = useStoreFormHomeDwelling();
2311
- const { firstName, insured: { birthDay, birthMonth, birthYear, }, } = applicantState;
2312
- const { appConfigState: { appType } } = useStoreAppConfig();
2313
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2330
+ const { firstName, insured: { birthDay, birthMonth, birthYear }, } = applicantState;
2331
+ const { appConfigState: { appType }, } = useStoreAppConfig();
2332
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2314
2333
  const { familiesCount, occupiedYear } = dwellingState;
2315
2334
  // VARIABLES =========
2316
2335
  const birthDate = birthYear ? `${birthYear}-${birthMonth || '01'}-${birthDay || '01'}` : '';
@@ -2391,9 +2410,9 @@ const SectionApplicantInsurancePolicy = () => {
2391
2410
  const { applicantState, dispatchApplicantInsuranceState } = useStoreFormHomeApplicantInsurance();
2392
2411
  const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
2393
2412
  const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
2394
- const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince } } = applicantState;
2395
- const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
2396
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2413
+ const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince }, } = applicantState;
2414
+ const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
2415
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2397
2416
  const defaultPolicyStartDate = {
2398
2417
  year: policyStartYear,
2399
2418
  month: policyStartMonth,
@@ -2443,19 +2462,17 @@ const SectionApplicantInsurancePolicy = () => {
2443
2462
  payload: { dateInsuredCurrent: value },
2444
2463
  });
2445
2464
  };
2446
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent
2447
- && (jsxs(Fragment, { children: [jsx(SelectFormBox, { options: insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsx(SelectFormBox, { options: getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), (!insuredCurrent && insuredCurrent !== undefined)
2448
- && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
2465
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: addDaysToDate('', 1), maxDate: addDaysToDate('', 60), isDay: true }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent && (jsxs(Fragment, { children: [jsx(SelectFormBox, { options: insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsx(SelectFormBox, { options: getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(getInsuranceYearsOptions(dateInsuredSince || insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), !insuredCurrent && insuredCurrent !== undefined && (jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
2449
2466
  };
2450
2467
 
2451
2468
  const SectionApplicantCancellation = () => {
2452
2469
  const { applicantState, dispatchApplicantCancellationState } = useStoreFormHomeApplicantCancellation();
2453
2470
  const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
2454
2471
  const { insuranceCancellation, insuranceCancellationList } = applicantState;
2455
- const { appConfigState: { appType } } = useStoreAppConfig();
2472
+ const { appConfigState: { appType }, } = useStoreAppConfig();
2456
2473
  const isTheBig = appType === AppTypes.TheBig;
2457
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2458
- const { insured: { birthYear, birthMonth, birthDay } } = applicantState;
2474
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2475
+ const { insured: { birthYear, birthMonth, birthDay }, } = applicantState;
2459
2476
  const handleIconClick = (index) => () => {
2460
2477
  dispatchApplicantCancellationState({
2461
2478
  type: StoreFormHomeApplicantCancellationActionTypes.FormHomeApplicantCancellationDelete,
@@ -2499,24 +2516,23 @@ const SectionApplicantCancellation = () => {
2499
2516
  });
2500
2517
  }
2501
2518
  };
2502
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth, }, index) => {
2519
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxs(Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth }, index) => {
2503
2520
  const defaultCancellationDate = {
2504
2521
  year: cancellationYear,
2505
2522
  month: cancellationMonth,
2506
2523
  day: '01',
2507
2524
  };
2508
2525
  return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsx("div", { className: "list-item", children: jsx(DateSelectFormBox, { name: `cancellationDate-${index}`, dateNames: [`cancellationYear-${index}`, `cancellationMonth-${index}`], onDateChange: handleCancellationDateChange(index), defaultValue: defaultCancellationDate, title: "What was the date of the cancellation?", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', cancellationMonth, cancellationYear], applicantState.inValidation), error: applicantState.inValidation, minDate: birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '' }) })] }, `insurance-cancellation-${index}`));
2509
- }), insuranceCancellationList && insuranceCancellationList.length < 3
2510
- ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
2526
+ }), insuranceCancellationList && insuranceCancellationList.length < 3 ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
2511
2527
  };
2512
2528
 
2513
2529
  const SectionApplicantClaim = () => {
2514
2530
  const { applicantState, dispatchApplicantClaimState } = useStoreFormHomeApplicantClaim();
2515
2531
  const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
2516
2532
  const { insuranceClaim, insuranceClaimList } = applicantState;
2517
- const { appConfigState: { appType } } = useStoreAppConfig();
2533
+ const { appConfigState: { appType }, } = useStoreAppConfig();
2518
2534
  const isTheBig = appType === AppTypes.TheBig;
2519
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2535
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2520
2536
  const handleIconClick = (index) => () => {
2521
2537
  dispatchApplicantClaimState({
2522
2538
  type: StoreFormHomeApplicantClaimActionTypes.FormHomeApplicantClaimDelete,
@@ -2569,15 +2585,14 @@ const SectionApplicantClaim = () => {
2569
2585
  });
2570
2586
  }
2571
2587
  };
2572
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxs(Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType, }, index) => {
2588
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxs(Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType }, index) => {
2573
2589
  const defaultClaimDate = {
2574
2590
  year: claimYear,
2575
2591
  month: claimMonth,
2576
2592
  day: '01',
2577
2593
  };
2578
2594
  return (jsxs("div", { className: "list-block", children: [jsx("hr", {}), jsxs("div", { className: "list-item", children: [jsx(DateSelectFormBox, { name: `claimDate-${index}`, dateNames: [`claimYear-${index}`, `claimMonth-${index}`], onDateChange: handleClaimDateChange(index), defaultValue: defaultClaimDate, title: "Claim Date", isRemovable: insuranceClaimList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', claimMonth, claimYear], applicantState.inValidation), error: applicantState.inValidation, minDate: subYearsFromDate('', 5) }), jsx(SelectFormBox, { options: claimTypeOptions, name: `claim-type-${index}`, onChange: handleClaimTypeChange(index), defaultValue: claimType, title: "Claim Type", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !claimType && applicantState.inValidation, errorMessage: getErrorMessage(claimType, applicantState.inValidation) })] })] }, `driver-claim-${index}`));
2579
- }), insuranceClaimList && insuranceClaimList.length < 3
2580
- ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
2595
+ }), insuranceClaimList && insuranceClaimList.length < 3 ? (jsx(ButtonBase, { category: CategoryTypes.Filled, onClick: handleAddButtonClick, size: SizeTypes.Medium, color: ColorTypes.Primary, label: "Add another" })) : (jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
2581
2596
  };
2582
2597
 
2583
2598
  const PageApplicant = () => {
@@ -2833,9 +2848,14 @@ const BlockDwellingInfo = () => {
2833
2848
  };
2834
2849
 
2835
2850
  const BlockNextPageInfo$1 = () => {
2836
- const { appConfigState: { appType } } = useStoreAppConfig();
2837
- const isTheBig = appType === AppTypes.TheBig;
2838
- return (jsx("div", { className: "next-page-info", children: isTheBig ? (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) })) : (jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] })) }));
2851
+ const { appConfigState: { appType }, } = useStoreAppConfig();
2852
+ if (appType === AppTypes.TheBig) {
2853
+ return (jsx("div", { className: "privacy-policy", children: jsxs("p", { children: [jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
2854
+ }
2855
+ if (appType === AppTypes.MyChoice) {
2856
+ jsxs(Fragment, { children: [jsx("h5", { children: "On the next page, you will also be able to:" }), jsxs("div", { className: "next-page-points", children: [jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsx("div", { className: "privacy-policy", children: jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] });
2857
+ }
2858
+ return null;
2839
2859
  };
2840
2860
 
2841
2861
  const BlockSubmit$1 = ({ className, label, buttonSize, isRecalc = false, }) => {
@@ -2865,14 +2885,14 @@ BlockSubmit$1.defaultProps = {
2865
2885
  };
2866
2886
 
2867
2887
  const SectionDiscountInfo = () => {
2868
- const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
2888
+ const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
2869
2889
  const isTheBig = appType === AppTypes.TheBig;
2870
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2890
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2871
2891
  const { discountState, dispatchDiscountState } = useStoreFormHomeDiscount();
2872
2892
  // const { applicantState, dispatchApplicantInfoState } = useStoreFormHomeApplicantInfo();
2873
2893
  const { validateEmail, errorMessage } = useHandlerHomeQuoterEmail();
2874
2894
  const { multiplePoliciesDiscount, emailTo: { email, emailStatus }, quoterInfo = {}, } = discountState;
2875
- const { firstName = '', lastName = '', phone = '', caslConsent, } = quoterInfo;
2895
+ const { firstName = '', lastName = '', phone = '', caslConsent } = quoterInfo;
2876
2896
  const handleMultiplePolicyChange = ({ value }) => {
2877
2897
  dispatchDiscountState({
2878
2898
  type: StoreFormHomeDiscountActionTypes.FormHomeDiscountMultiplePoliciesSelect,
@@ -2906,13 +2926,11 @@ const SectionDiscountInfo = () => {
2906
2926
  payload: { caslConsent: value },
2907
2927
  });
2908
2928
  };
2909
- return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig
2910
- ? (jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` }))
2911
- : (jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
2929
+ return (jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig ? (jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` })) : (jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
2912
2930
  please provide your email after completing the discount section so we
2913
- can send you your personalized free ${insuranceType} insurance quotes!` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsx(BlockDwellingInfo, {}), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: isTheBig ? 'johnsmith@thebig.ca' : 'johnsmith@mychoice.ca', errorMessage: emailStatus === ValidationStatusTypes.Declined
2914
- ? errorMessage : getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && discountState.inValidation) }), isTheBig
2915
- && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$1, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$1, {})] }));
2931
+ can send you your personalized free ${insuranceType} insurance quotes!` })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsx(BlockDwellingInfo, {}), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType), errorMessage: emailStatus === ValidationStatusTypes.Declined
2932
+ ? errorMessage
2933
+ : getErrorMessage(email, discountState.inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && discountState.inValidation) }), isTheBig && (jsx(CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsx(BlockSubmit$1, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsx(BlockNextPageInfo$1, {})] }));
2916
2934
  };
2917
2935
 
2918
2936
  const PageHomeDiscount = () => {
@@ -2935,18 +2953,18 @@ const PageHomeDiscount = () => {
2935
2953
  };
2936
2954
 
2937
2955
  const SectionQuoteEdit$1 = () => {
2938
- const { appConfigState: { localIndex, insuranceType } } = useStoreAppConfig();
2956
+ const { appConfigState: { localIndex, insuranceType }, } = useStoreAppConfig();
2939
2957
  const { applicantState } = useStoreFormHomeApplicantBase();
2940
2958
  const { dwellingState } = useStoreFormHomeDwelling();
2941
2959
  const { postalState } = useStoreFormHomePostal();
2942
- const { discountState: { multiplePoliciesDiscount, quoterInfo } } = useStoreFormHomeDiscount();
2943
- const { appConfigState: { appType } } = useStoreAppConfig();
2960
+ const { discountState: { multiplePoliciesDiscount, quoterInfo }, } = useStoreFormHomeDiscount();
2961
+ const { appConfigState: { appType }, } = useStoreAppConfig();
2944
2962
  const isTheBig = appType === AppTypes.TheBig;
2945
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
2946
- const { item: { postalCode, provinceCode, city, streetAddress, }, } = postalState;
2963
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
2964
+ const { item: { postalCode, provinceCode, city, streetAddress }, } = postalState;
2947
2965
  const { deadbolt, sprinkler, burglarAlarm, fireAlarm, fireExtinguishersCount, // mortgagesCount,
2948
2966
  } = dwellingState;
2949
- const { insured: { nonsmoker } } = applicantState;
2967
+ const { insured: { nonsmoker }, } = applicantState;
2950
2968
  const discounts = [];
2951
2969
  const isHome = insuranceType === InsuranceTypes.Home;
2952
2970
  if (multiplePoliciesDiscount) {
@@ -2991,17 +3009,23 @@ const SectionQuoteEdit$1 = () => {
2991
3009
  const discountEdit = () => () => {
2992
3010
  navigate(`/${localIndex || defaultLocalIndex}/${insuranceType}/discount`);
2993
3011
  };
2994
- return (jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxs("div", { className: "edit-section-content", children: [jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [[`Name: ${quoterInfo?.firstName}`, `Occupied by: ${occupiedMembers}`, `Year Occupied: ${dwellingState.occupiedYear}`]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: discountEdit, title: "Discount Information", items: [discounts] })] })] }));
3012
+ return (jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxs("div", { className: "edit-section-content", children: [jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [
3013
+ [
3014
+ `Name: ${quoterInfo?.firstName}`,
3015
+ `Occupied by: ${occupiedMembers}`,
3016
+ `Year Occupied: ${dwellingState.occupiedYear}`,
3017
+ ],
3018
+ ] }), jsx(QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: discountEdit, title: "Discount Information", items: [discounts] })] })] }));
2995
3019
  };
2996
3020
 
2997
3021
  // import { BlockEndorsements } from './blocks/BlockEndorsements';
2998
3022
  const SectionQuoteRecalc = () => {
2999
3023
  const [ppLocalOptions, setPpLocalOptions] = useState(ppOptions);
3000
- const { appConfigState: { appType, insuranceType } } = useStoreAppConfig();
3024
+ const { appConfigState: { appType, insuranceType }, } = useStoreAppConfig();
3001
3025
  const isTheBig = appType === AppTypes.TheBig;
3002
- const mychoiceCls = appType === AppTypes.MyChoice ? 'mychoice' : '';
3026
+ const mychoiceCls = isMyChoiceLike(appType) ? 'mychoice' : '';
3003
3027
  const { dwellingState, dispatchDwellingState } = useStoreFormHomeDwelling();
3004
- const { deductible, liability, waterCoverage, pp, } = dwellingState;
3028
+ const { deductible, liability, waterCoverage, pp } = dwellingState;
3005
3029
  useEffect(() => {
3006
3030
  if (insuranceType === InsuranceTypes.Condo) {
3007
3031
  setPpLocalOptions(ppOptions.slice(1));
@@ -3034,9 +3058,7 @@ const SectionQuoteRecalc = () => {
3034
3058
  payload: { waterCoverage: value },
3035
3059
  });
3036
3060
  };
3037
- return (jsx("div", { className: "form-container", children: jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsx(SelectFormBox, { options: homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsx(SelectFormBox, { options: homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === InsuranceTypes.Home) && (jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: SizeTypes.Medium, isRecalc: true }), jsx("div", { className: "endorsements-container", children: jsxs("div", { className: "labels-block", children: [!(insuranceType === InsuranceTypes.Home)
3038
- ? (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === InsuranceTypes.Condo
3039
- && (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
3061
+ return (jsx("div", { className: "form-container", children: jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsx(SelectFormBox, { options: homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsx(SelectFormBox, { options: homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === InsuranceTypes.Home) && (jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsx(SwitchButtonBox, { items: yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: SizeTypes.Medium, isRecalc: true }), jsx("div", { className: "endorsements-container", children: jsxs("div", { className: "labels-block", children: [!(insuranceType === InsuranceTypes.Home) ? (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === InsuranceTypes.Condo && (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxs(Fragment, { children: [jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
3040
3062
  };
3041
3063
 
3042
3064
  const SplashScreen$1 = () => {
@@ -3106,7 +3128,7 @@ const Description = () => (jsxs("div", { children: [jsx("span", { children: jsx(
3106
3128
  const SectionCoverage = () => {
3107
3129
  const { coverageState: { type, coverage, province, inValidation }, dispatchCoverageState, } = useStoreFormLifeCoverage();
3108
3130
  const { appConfigState: { appType }, } = useStoreAppConfig();
3109
- const isMychoice = appType === AppTypes.MyChoice;
3131
+ const isMychoice = isMyChoiceLike(appType);
3110
3132
  // const handleProvinceChange = ({ value }: OnChangeEventInterface) => {
3111
3133
  // dispatchCoverageState({
3112
3134
  // type: StoreFormLifeCoverageActionTypes.FormLifeProvinceSelect,
@@ -3289,10 +3311,9 @@ const SectionApplicant = () => {
3289
3311
  textAlign: 'center',
3290
3312
  fontSize: '1.15rem',
3291
3313
  marginTop: '10px',
3292
- }, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: subYearsFromDate('', 14), isDay: true }), jsx(SelectFormBox, { options: genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsx(SwitchButtonBox, { items: smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder: isTheBig ? 'johnsmith@thebig.ca ' : 'johnsmith@mychoice.ca', errorMessage: emailStatus === ValidationStatusTypes.Declined
3314
+ }, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: subYearsFromDate('', 14), isDay: true }), jsx(SelectFormBox, { options: genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsx(SwitchButtonBox, { items: smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxs("div", { className: "input-form-box-container", children: [jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxs("ol", { className: "ordered-block", children: [jsx("li", { children: "See what rates insurance carriers are offering" }), jsx("li", { children: "Get in touch with us and secure your rate" }), jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder: getPlaceholderEmail(appType), errorMessage: emailStatus === ValidationStatusTypes.Declined
3293
3315
  ? errorMessage
3294
- : getErrorMessage(email, inValidation), error: emailStatus === ValidationStatusTypes.Declined ||
3295
- (!email && inValidation) }), jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsx(BlockNextPageInfo, {})] }));
3316
+ : getErrorMessage(email, inValidation), error: emailStatus === ValidationStatusTypes.Declined || (!email && inValidation) }), jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsx(BlockNextPageInfo, {})] }));
3296
3317
  };
3297
3318
 
3298
3319
  const PageLifeApplicant = () => {
@@ -3405,16 +3426,18 @@ const getFormattedAddress = (unitNumber, streetAddress, city, provinceCode, post
3405
3426
  return '';
3406
3427
  };
3407
3428
  const ModalAddress = () => {
3408
- const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack, }, dispatchAppModalState, } = useStoreAppModal();
3409
- const { status, getPostal, errorMessage: reqErrorMessage, } = useHandlerPostal(InsuranceTypes.Home);
3410
- const { postalState: { item, inValidation }, dispatchPostalState } = useStoreFormHomePostal();
3411
- const { appConfigState: { appType } } = useStoreAppConfig();
3412
- const { postalCode, city, provinceCode, streetAddress, unitNumber, } = item;
3429
+ const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack }, dispatchAppModalState, } = useStoreAppModal();
3430
+ const { status, getPostal, errorMessage: reqErrorMessage } = useHandlerPostal(InsuranceTypes.Home);
3431
+ const { postalState: { item, inValidation }, dispatchPostalState, } = useStoreFormHomePostal();
3432
+ const { appConfigState: { appType }, } = useStoreAppConfig();
3433
+ const { postalCode, city, provinceCode, streetAddress, unitNumber } = item;
3413
3434
  const [localPostalCode, setLocalPostalCode] = useState(postalCode);
3414
3435
  const [localUnitNumber, setLocalUnitNumber] = useState(unitNumber);
3415
3436
  const [localStreetAddress, setLocalStreetAddress] = useState(streetAddress);
3416
3437
  const loading = status === RequestStatusTypes.Loading;
3417
- const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress) ? 'The street address should be in the format "123 Streetname Rd."' : '';
3438
+ const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress)
3439
+ ? 'The street address should be in the format "123 Streetname Rd."'
3440
+ : '';
3418
3441
  const postalCodeErrMessage = localPostalCode.length < 4 ? 'Postal code should have at least 4 characters' : '';
3419
3442
  const handleClick = (callBack) => () => {
3420
3443
  if (callBack) {
@@ -3430,10 +3453,14 @@ const ModalAddress = () => {
3430
3453
  submitCallBack();
3431
3454
  }
3432
3455
  else if (!localPostalCode || !localStreetAddress || streetAddressErrMessage || postalCodeErrMessage) {
3433
- dispatchPostalState({ type: StoreFormHomePostalActionTypes.FormHomePostalValidate, payload: { inValidation: true } });
3456
+ dispatchPostalState({
3457
+ type: StoreFormHomePostalActionTypes.FormHomePostalValidate,
3458
+ payload: { inValidation: true },
3459
+ });
3434
3460
  }
3435
3461
  else {
3436
- getPostal(postalCodeFormat(localPostalCode)).then((result) => {
3462
+ getPostal(postalCodeFormat(localPostalCode))
3463
+ .then((result) => {
3437
3464
  const formattedAddress = getFormattedAddress(localUnitNumber, localStreetAddress, result?.data?.city || '', result?.data?.provinceCode || '', localPostalCode, 'Canada');
3438
3465
  dispatchPostalState({
3439
3466
  type: StoreFormHomePostalActionTypes.FormHomePostalSet,
@@ -3446,7 +3473,8 @@ const ModalAddress = () => {
3446
3473
  },
3447
3474
  });
3448
3475
  dispatchAppModalState({ type: StoreConfigAppModalActionTypes.AppModalClose });
3449
- }).catch();
3476
+ })
3477
+ .catch();
3450
3478
  }
3451
3479
  }
3452
3480
  };
@@ -3463,7 +3491,7 @@ const ModalAddress = () => {
3463
3491
  break;
3464
3492
  }
3465
3493
  };
3466
- return (jsxs("div", { className: `modal-container edit-address ${appType === AppTypes.MyChoice ? 'mychoice' : ''}`, children: [title && jsx("h3", { children: title }), description && jsx("p", { children: description }), jsx(InputFormBox, { name: "streetAddress", title: "Street Address", onChange: handleChange('streetAddress'), defaultValue: localStreetAddress, placeholder: "Street Name and Number", error: (!localStreetAddress || !/\b\s+\b/.test(localStreetAddress)) && inValidation, errorMessage: getErrorMessage(localStreetAddress, inValidation, streetAddressErrMessage) }), jsx(InputFormBox, { name: "unitApartmentNumber", title: "Unit/Apartment number", onChange: handleChange('unitNumber'), defaultValue: localUnitNumber, placeholder: "Unit, Suite or Apartment Number" }), jsx(InputFormBox, { name: "city", title: "City", defaultValue: city, placeholder: "City", error: !city && inValidation, errorMessage: getErrorMessage(city, inValidation), disabled: true }), jsx(InputFormBox, { name: "postalCode", title: "Postal Code", onChange: handleChange('postalCode'), defaultValue: localPostalCode, placeholder: "", maxLength: 7, error: ((!localPostalCode || localPostalCode.length < 4) && inValidation) || !!reqErrorMessage, errorMessage: getErrorMessage(localPostalCode, inValidation, postalCodeErrMessage) || reqErrorMessage }), jsx(InputFormBox, { name: "province", title: "Province Code", defaultValue: provinceCode, placeholder: "", error: !provinceCode && inValidation, errorMessage: getErrorMessage(provinceCode, inValidation), disabled: true }), jsxs("div", { className: "modal-buttons", children: [cancelButtonText && (jsx(ButtonBase, { type: ButtonTypes.Button, label: cancelButtonText, category: CategoryTypes.Outlined, color: ColorTypes.Default, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: handleClick(cancelCallBack) })), jsx(ButtonBase, { className: `${loading ? 'disabled' : ''}`, type: ButtonTypes.Button, label: !loading ? submitButtonText || 'OK' : '', category: CategoryTypes.Filled, color: ColorTypes.Primary, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: onSubmit, children: loading ? jsx(IconLoaderSecondary, {}) : undefined })] })] }));
3494
+ return (jsxs("div", { className: `modal-container edit-address ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [title && jsx("h3", { children: title }), description && jsx("p", { children: description }), jsx(InputFormBox, { name: "streetAddress", title: "Street Address", onChange: handleChange('streetAddress'), defaultValue: localStreetAddress, placeholder: "Street Name and Number", error: (!localStreetAddress || !/\b\s+\b/.test(localStreetAddress)) && inValidation, errorMessage: getErrorMessage(localStreetAddress, inValidation, streetAddressErrMessage) }), jsx(InputFormBox, { name: "unitApartmentNumber", title: "Unit/Apartment number", onChange: handleChange('unitNumber'), defaultValue: localUnitNumber, placeholder: "Unit, Suite or Apartment Number" }), jsx(InputFormBox, { name: "city", title: "City", defaultValue: city, placeholder: "City", error: !city && inValidation, errorMessage: getErrorMessage(city, inValidation), disabled: true }), jsx(InputFormBox, { name: "postalCode", title: "Postal Code", onChange: handleChange('postalCode'), defaultValue: localPostalCode, placeholder: "", maxLength: 7, error: ((!localPostalCode || localPostalCode.length < 4) && inValidation) || !!reqErrorMessage, errorMessage: getErrorMessage(localPostalCode, inValidation, postalCodeErrMessage) || reqErrorMessage }), jsx(InputFormBox, { name: "province", title: "Province Code", defaultValue: provinceCode, placeholder: "", error: !provinceCode && inValidation, errorMessage: getErrorMessage(provinceCode, inValidation), disabled: true }), jsxs("div", { className: "modal-buttons", children: [cancelButtonText && (jsx(ButtonBase, { type: ButtonTypes.Button, label: cancelButtonText, category: CategoryTypes.Outlined, color: ColorTypes.Default, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: handleClick(cancelCallBack) })), jsx(ButtonBase, { className: `${loading ? 'disabled' : ''}`, type: ButtonTypes.Button, label: !loading ? submitButtonText || 'OK' : '', category: CategoryTypes.Filled, color: ColorTypes.Primary, variant: ButtonVariantTypes.Rectangle, size: SizeTypes.Large, onClick: onSubmit, children: loading ? jsx(IconLoaderSecondary, {}) : undefined })] })] }));
3467
3495
  };
3468
3496
 
3469
3497
  const ModalFinale = () => {
@@ -3490,8 +3518,8 @@ PostalCodeDataBox.defaultProps = {
3490
3518
  postalCode: '',
3491
3519
  };
3492
3520
 
3493
- const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3494
- const { appConfigState: { insuranceType, appType, localIndex } } = useStoreAppConfig();
3521
+ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted }) => {
3522
+ const { appConfigState: { insuranceType, appType, localIndex }, } = useStoreAppConfig();
3495
3523
  const { appDeviceType } = useStoreDeviceType();
3496
3524
  const isMobile = appDeviceType === DeviceTypes.Mobile;
3497
3525
  const navigate = useNavigate();
@@ -3503,7 +3531,9 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3503
3531
  const activeStep = formSteps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1));
3504
3532
  let activeIndex = formSteps.indexOf(activeStep);
3505
3533
  activeIndex = activeIndex === -1 ? 0 : activeIndex;
3506
- let navigationCls = propertyIsCompleted ? 'mychoice-car-navigation-step-container' : 'mychoice-home-navigation-step-container';
3534
+ let navigationCls = propertyIsCompleted
3535
+ ? 'mychoice-car-navigation-step-container'
3536
+ : 'mychoice-home-navigation-step-container';
3507
3537
  if (insuranceType === InsuranceTypes.Life) {
3508
3538
  navigationCls = 'mychoice-life-navigation-step-container';
3509
3539
  }
@@ -3517,7 +3547,8 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3517
3547
  // }
3518
3548
  // }, [propertyIsCompleted]);
3519
3549
  const handleStepClick = (item, itemIndex) => () => {
3520
- if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) { // ignore double click
3550
+ if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) {
3551
+ // ignore double click
3521
3552
  if (activeIndex > (itemIndex || 0)) {
3522
3553
  navigate(`/${localIndex}/${insuranceType}${item?.path}`);
3523
3554
  }
@@ -3533,13 +3564,16 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3533
3564
  validateOptions.forEach((option, index) => {
3534
3565
  const isValid = !option.isValid ? option.validate(false) : option.isValid;
3535
3566
  formValidations.push({
3536
- isValid, validate: option.validate, requestFn: option?.requestFn || undefined, index,
3567
+ isValid,
3568
+ validate: option.validate,
3569
+ requestFn: option?.requestFn || undefined,
3570
+ index,
3537
3571
  });
3538
3572
  });
3539
3573
  }
3540
3574
  const formValidated = formValidations.find((option) => !option.isValid);
3541
3575
  if (formValidated && !formValidated.isValid) {
3542
- navigate(`/${localIndex}/${insuranceType}${formSteps[(formValidated.index || 0)]?.path}`);
3576
+ navigate(`/${localIndex}/${insuranceType}${formSteps[formValidated.index || 0]?.path}`);
3543
3577
  //
3544
3578
  // dispatchAppModalState({
3545
3579
  // type: StoreConfigAppModalActionTypes.AppModalMessageModal,
@@ -3561,7 +3595,7 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3561
3595
  }
3562
3596
  }
3563
3597
  };
3564
- return (jsxs("ol", { className: appType === AppTypes.MyChoice ? 'mychoice-navigation-steps-container' : 'navigation-steps-container', children: [!isMobile ? (jsx(Fragment, { children: formSteps?.map((item, index) => {
3598
+ return (jsxs("ol", { className: isMyChoiceLike(appType) ? 'mychoice-navigation-steps-container' : 'navigation-steps-container', children: [!isMobile ? (jsx(Fragment, { children: formSteps?.map((item, index) => {
3565
3599
  let cls;
3566
3600
  switch (true) {
3567
3601
  case activeIndex > index:
@@ -3570,16 +3604,15 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
3570
3604
  case activeIndex === index:
3571
3605
  cls = 'in-progress';
3572
3606
  break;
3573
- default: cls = 'todo';
3607
+ default:
3608
+ cls = 'todo';
3574
3609
  }
3575
3610
  // const homeNavigationCls = propertyIsCompleted ? 'mychoice-car-navigation-step-container' : 'mychoice-home-navigation-step-container';
3576
- if (appType === AppTypes.MyChoice && (index === formSteps.length - 1)) {
3611
+ if (isMyChoiceLike(appType) && index === formSteps.length - 1) {
3577
3612
  return jsx(Fragment, {});
3578
3613
  }
3579
- return (jsx("div", { role: "presentation", className: appType === AppTypes.MyChoice ? navigationCls : 'navigation-step-container', onKeyDown: handleStepClick(item, index), onClick: handleStepClick(item, index), children: appType === AppTypes.MyChoice
3580
- ? jsx(MychoiceStep, { className: cls, item: item, index: index }, `${index}-${item?.title}`)
3581
- : jsx(Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`) }, `${index}-${item?.title}`));
3582
- }) })) : jsx(Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true }), appType === AppTypes.MyChoice && (jsxs(Fragment, { children: [jsx("hr", {}), jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
3614
+ return (jsx("div", { role: "presentation", className: isMyChoiceLike(appType) ? navigationCls : 'navigation-step-container', onKeyDown: handleStepClick(item, index), onClick: handleStepClick(item, index), children: isMyChoiceLike(appType) ? (jsx(MychoiceStep, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) : (jsx(Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) }, `${index}-${item?.title}`));
3615
+ }) })) : (jsx(Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true })), isMyChoiceLike(appType) && (jsxs(Fragment, { children: [jsx("hr", {}), jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, " ", formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
3583
3616
  };
3584
3617
  StepsBox.defaultProps = {
3585
3618
  partnerId: '',
@@ -3666,7 +3699,7 @@ ButtonsBox.defaultProps = {
3666
3699
 
3667
3700
  const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearForm, propertyIsCompleted, }) => {
3668
3701
  const { pathname } = useLocation();
3669
- const { appConfigState: { appType, localIndex } } = useStoreAppConfig();
3702
+ const { appConfigState: { appType, localIndex }, } = useStoreAppConfig();
3670
3703
  const isTheBig = appType === AppTypes.TheBig;
3671
3704
  const { appDeviceType } = useStoreDeviceType();
3672
3705
  const isDesktop = appDeviceType === DeviceTypes.Desktop;
@@ -3692,8 +3725,7 @@ const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearFor
3692
3725
  return `rgba(${r}, ${g}, ${b}, ${alpha})`;
3693
3726
  }
3694
3727
  }
3695
- return (jsx("div", { className: localIndex !== defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxs("div", { className: `content ${appType === AppTypes.MyChoice ? 'mychoice' : ''}`, children: [jsx(PostalCodeDataBox, { className: isTheBig ? 'thebig' : '', title: title, postalCode: postalCode }), appType === AppTypes.MyChoice
3696
- ? (jsx(Fragment, { children: !isDesktop && (formSteps.length - activeIndex - 1) ? (jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: [isMobile ? (jsx("div", { children: jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsx(Fragment, { children: jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : jsx("span", {}) })) : (jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
3728
+ return (jsx("div", { className: localIndex !== defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxs("div", { className: `content ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [jsx(PostalCodeDataBox, { className: isTheBig ? 'thebig' : '', title: title, postalCode: postalCode }), isMyChoiceLike(appType) ? (jsx(Fragment, { children: !isDesktop && formSteps.length - activeIndex - 1 ? (jsxs("div", { className: "estimated-minutes", children: [jsx(IconClock, {}), jsxs("div", { children: [isMobile ? (jsx("div", { children: jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsx(Fragment, { children: jsxs("div", { children: ["Estimated", ' ', jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : (jsx("span", {})) })) : (jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
3697
3729
  };
3698
3730
  NavigationTop.defaultProps = {
3699
3731
  isMobile: false,
@@ -3704,9 +3736,9 @@ const NavigationBottom = ({ createItem, validateForm, formSteps, className, item
3704
3736
  const { pathname } = useLocation();
3705
3737
  const navigate = useNavigate();
3706
3738
  const { appConfigState } = useStoreAppConfig();
3707
- const isMychoice = appConfigState.appType === AppTypes.MyChoice;
3739
+ const isMychoice = isMyChoiceLike(appConfigState.appType);
3708
3740
  const { insuranceType } = appConfigState;
3709
- const { dwellingState: { isCompleted } } = useStoreFormHomeDwelling();
3741
+ const { dwellingState: { isCompleted }, } = useStoreFormHomeDwelling();
3710
3742
  const [steps, setSteps] = useState(formSteps);
3711
3743
  const currentPath = pathname.split('/');
3712
3744
  const activeIndex = steps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1))?.key || 0;
@@ -3940,39 +3972,35 @@ const AppModalWrapper = () => {
3940
3972
  const { appModalState } = useStoreAppModal();
3941
3973
  switch (appModalState.modalType) {
3942
3974
  case ModalTypes.MessageModal:
3943
- return (jsx(ModalMessage, {}));
3975
+ return jsx(ModalMessage, {});
3944
3976
  case ModalTypes.ConfirmModal:
3945
- return (jsx(ModalConfirm, {}));
3977
+ return jsx(ModalConfirm, {});
3946
3978
  case ModalTypes.PostalModal:
3947
- return (jsx(ModalPostal, {}));
3979
+ return jsx(ModalPostal, {});
3948
3980
  case ModalTypes.AddressModal:
3949
- return (jsx(ModalAddress, {}));
3981
+ return jsx(ModalAddress, {});
3950
3982
  case ModalTypes.FinaleModal:
3951
- return (jsx(ModalFinale, {}));
3983
+ return jsx(ModalFinale, {});
3952
3984
  default:
3953
3985
  return null;
3954
3986
  }
3955
3987
  };
3956
3988
  const AppModal = () => {
3957
3989
  const { appModalState } = useStoreAppModal();
3958
- const { appConfigState: { appType } } = useStoreAppConfig();
3990
+ const { appConfigState: { appType }, } = useStoreAppConfig();
3959
3991
  const insuranceType = getInsuranceType();
3960
3992
  if (appModalState.isOpen && document.location.pathname.indexOf(insuranceType) !== -1) {
3961
- return (jsx("div", { className: `app-modal ${appType === AppTypes.MyChoice ? 'mychoice' : ''}`, children: jsx(AppModalWrapper, {}) }));
3993
+ return (jsx("div", { className: `app-modal ${isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: jsx(AppModalWrapper, {}) }));
3962
3994
  }
3963
3995
  return null;
3964
3996
  };
3965
3997
 
3966
3998
  const AppHeader = () => {
3967
- const { appConfigState: { appType, localIndex } } = useStoreAppConfig();
3999
+ const { appConfigState: { appType, localIndex }, } = useStoreAppConfig();
3968
4000
  const { appDeviceType } = useStoreDeviceType();
3969
4001
  if (appType) {
3970
- return (jsxs("div", { className: "app-header", children: [appType === AppTypes.TheBig && jsx(HeaderTheBig, { textBack: "home" }), appType === AppTypes.MyChoice
3971
- && (localIndex !== defaultLocalIndex
3972
- ? jsx(HeaderPartner, {})
3973
- : (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop
3974
- ? jsx(HeaderMyChoice, {})
3975
- : jsx(HeaderMyChoiceMobile, {}) })))] }));
4002
+ return (jsxs("div", { className: "app-header", children: [appType === AppTypes.TheBig && jsx(HeaderTheBig, { textBack: "home" }), appType === AppTypes.BeginInsurance && (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop ? jsx(HeaderBeginInsurance, {}) : jsx(HeaderBeginInsuranceMobile, {}) })), appType === AppTypes.MyChoice &&
4003
+ (localIndex !== defaultLocalIndex ? (jsx(HeaderPartner, {})) : (jsx(Fragment, { children: appDeviceType === DeviceTypes.Desktop ? jsx(HeaderMyChoice, {}) : jsx(HeaderMyChoiceMobile, {}) })))] }));
3976
4004
  }
3977
4005
  return null;
3978
4006
  };
@@ -4072,7 +4100,7 @@ const AppRouteWrapper = (props) => {
4072
4100
  let postalCode = carPostal;
4073
4101
  const { clearFormData, checkIsExpired, checkIsExpiredWithModal } = ClearFormDataHandler();
4074
4102
  const { appLoaderState } = useStoreAppLoader();
4075
- const isMychoice = appType === AppTypes.MyChoice;
4103
+ const isMychoice = isMyChoiceLike(appType);
4076
4104
  switch (insuranceType) {
4077
4105
  case InsuranceTypes.Car:
4078
4106
  postalCode = carPostal;
@@ -4337,7 +4365,7 @@ const AppRouteWrapper = (props) => {
4337
4365
  }
4338
4366
  }
4339
4367
  }, [carPostal, homePostal, lifePostal, isReady]);
4340
- return (jsx(Fragment, { children: isReady && (jsxs(Fragment, { children: [jsx(AppHeader, {}), jsx(AppModal, {}), insuranceType && (jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType && appType === AppTypes.MyChoice && (jsx("div", { className: localIndex !== defaultLocalIndex ? 'step-progress-bar-partner' : 'step-progress-bar', children: jsx("span", { style: { width: progressLength } }) })), jsx("div", { className: `${insuranceType ? 'form-page-content' : ''} ${insuranceType && appType === AppTypes.MyChoice ? 'mychoice' : ''}`, children: insuranceType && appType === AppTypes.MyChoice && isDesktop && progressLength ? (jsx(Fragment, { children: jsxs("div", { className: "mychoice-content", children: [jsx(StepsBox, { className: "step-box", formSteps: steps, validationHooks: validationHooks, propertyIsCompleted: isCompleted }), children, jsx("div", { className: "empty-steps-container" })] }) })) : (children) }), isMychoice && !appLoaderState.isOpen && jsx(ProviderImageFooter, {})] })) }));
4368
+ return (jsx(Fragment, { children: isReady && (jsxs(Fragment, { children: [jsx(AppHeader, {}), jsx(AppModal, {}), insuranceType && (jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType && isMyChoiceLike(appType) && (jsx("div", { className: localIndex !== defaultLocalIndex ? 'step-progress-bar-partner' : 'step-progress-bar', children: jsx("span", { style: { width: progressLength } }) })), jsx("div", { className: `${insuranceType ? 'form-page-content' : ''} ${insuranceType && isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: insuranceType && isMyChoiceLike(appType) && isDesktop && progressLength ? (jsx(Fragment, { children: jsxs("div", { className: "mychoice-content", children: [jsx(StepsBox, { className: "step-box", formSteps: steps, validationHooks: validationHooks, propertyIsCompleted: isCompleted }), children, jsx("div", { className: "empty-steps-container" })] }) })) : (children) }), isMychoice && !appLoaderState.isOpen && jsx(ProviderImageFooter, {})] })) }));
4341
4369
  };
4342
4370
  const NestedRoutes = () => {
4343
4371
  const insuranceType = getInsuranceType();
@@ -4479,7 +4507,7 @@ const AppConfig = (props) => {
4479
4507
  // home insurance steps states
4480
4508
  const { dispatchPostalState: dispatchHomePostalState } = useStoreFormHomePostal();
4481
4509
  const { dispatchApplicantBaseState } = useStoreFormHomeApplicantBase();
4482
- const { dwellingState: { isCompleted }, dispatchDwellingState } = useStoreFormHomeDwelling();
4510
+ const { dwellingState: { isCompleted }, dispatchDwellingState, } = useStoreFormHomeDwelling();
4483
4511
  const { dispatchDiscountState: dispatchHomeDiscountState } = useStoreFormHomeDiscount();
4484
4512
  const { dispatchQuoteState: dispatchHomeQuoteState } = useStoreFormHomeQuote();
4485
4513
  // life insurance
@@ -4538,8 +4566,7 @@ const AppConfig = (props) => {
4538
4566
  if (authHandler.status === RequestStatusTypes.Waiting) {
4539
4567
  authHandler.checkUser();
4540
4568
  }
4541
- if (authHandler.status !== RequestStatusTypes.Waiting
4542
- && authHandler.status !== RequestStatusTypes.Loading) {
4569
+ if (authHandler.status !== RequestStatusTypes.Waiting && authHandler.status !== RequestStatusTypes.Loading) {
4543
4570
  if (insuranceType === InsuranceTypes.Car) {
4544
4571
  dispatchCarPostalState({
4545
4572
  type: StoreFormCarPostalActionTypes.FormCarPostalGetLocal,
@@ -4569,7 +4596,9 @@ const AppConfig = (props) => {
4569
4596
  type: StoreFormCarQuoteActionTypes.FormCarQuoteGetLocal,
4570
4597
  });
4571
4598
  }
4572
- if (insuranceType === InsuranceTypes.Home || insuranceType === InsuranceTypes.Condo || insuranceType === InsuranceTypes.Tenant) {
4599
+ if (insuranceType === InsuranceTypes.Home ||
4600
+ insuranceType === InsuranceTypes.Condo ||
4601
+ insuranceType === InsuranceTypes.Tenant) {
4573
4602
  dispatchHomePostalState({
4574
4603
  type: StoreFormHomePostalActionTypes.FormHomePostalGetLocal,
4575
4604
  });
@@ -4620,6 +4649,14 @@ const AppConfig = (props) => {
4620
4649
  payload: true,
4621
4650
  });
4622
4651
  }
4652
+ if (appType === AppTypes.BeginInsurance) {
4653
+ // Begin Insurance brand colors: Navy Blue primary, Green accent
4654
+ setExternalColors('#0F2043', '#50C878');
4655
+ dispatchAppConfigState({
4656
+ type: StoreConfigAppConfigActionTypes.AppConfigSetPreloaded,
4657
+ payload: true,
4658
+ });
4659
+ }
4623
4660
  }, [appType]);
4624
4661
  useEffect(() => {
4625
4662
  if (insuranceType === InsuranceTypes.Home && isCompleted) {
@@ -4674,5 +4711,5 @@ AppWrapper.defaultProps = {
4674
4711
  insuranceType: InsuranceTypes.Car,
4675
4712
  };
4676
4713
 
4677
- export { AppWrapper, DateSelectFormBox, HeaderMyChoice, HeaderMyChoiceMobile, HeaderPartner, HeaderTheBig, InputFormBox, InputFormEmailBox, InputFormLicenceBox, InputFormPhoneBox, LabelFormBox, LoaderPrimary, LoaderVid, ModalAddress, ModalConfirm, ModalFinale, ModalMessage, ModalPostal, ModalQuoteRequest, NavigationBottom, NavigationBottomTheBig, NavigationTab, NavigationTabMobile, NavigationTop, NoQuotesMessage, OfferSection, PageAddress, PageApplicant, PageCarDiscount, PageCarQuote, PageCoverage, PageDriver, PageHomeDiscount, PageHomeQuote, PageLifeApplicant, PageLifeQuote, PageProperty, PageVehicle, ProviderImageFooter, SelectFormBox, SwitchButtonBox, capitalize, formSteps, formatPhoneObject, formatTitleToCapital, getDateErrorMessage, getErrorMessage, getSelectedOption, usePathGroups };
4714
+ export { AppWrapper, DateSelectFormBox, HeaderBeginInsurance, HeaderBeginInsuranceMobile, HeaderMyChoice, HeaderMyChoiceMobile, HeaderPartner, HeaderTheBig, InputFormBox, InputFormEmailBox, InputFormLicenceBox, InputFormPhoneBox, LabelFormBox, LoaderPrimary, LoaderVid, ModalAddress, ModalConfirm, ModalFinale, ModalMessage, ModalPostal, ModalQuoteRequest, NavigationBottom, NavigationBottomTheBig, NavigationTab, NavigationTabMobile, NavigationTop, NoQuotesMessage, OfferSection, PageAddress, PageApplicant, PageCarDiscount, PageCarQuote, PageCoverage, PageDriver, PageHomeDiscount, PageHomeQuote, PageLifeApplicant, PageLifeQuote, PageProperty, PageVehicle, ProviderImageFooter, SelectFormBox, SwitchButtonBox, capitalize, formSteps, formatPhoneObject, formatTitleToCapital, getDateErrorMessage, getErrorMessage, getSelectedOption, usePathGroups };
4678
4715
  //# sourceMappingURL=index.js.map